diff --git a/.env_example b/.env_example index 81c31f225..b77b87bc0 100644 --- a/.env_example +++ b/.env_example @@ -23,10 +23,10 @@ TEST_COMFYUI_DIR=/home/ComfyUI # Whether to enable minification of the frontend code. ENABLE_MINIFY=true -# Whether to disable proxying the `/templates` route. If true, allows you to -# serve templates from the ComfyUI_frontend/public/templates folder (for -# locally testing changes to templates). When false or nonexistent, the -# templates are served via the normal method from the server's python site +# Whether to disable proxying the `/templates` route. If true, allows you to +# serve templates from the ComfyUI_frontend/public/templates folder (for +# locally testing changes to templates). When false or nonexistent, the +# templates are served via the normal method from the server's python site # packages. DISABLE_TEMPLATES_PROXY=false @@ -37,3 +37,8 @@ DISABLE_VUE_PLUGINS=false # Algolia credentials required for developing with the new custom node manager. ALGOLIA_APP_ID=4E0RO38HS8 ALGOLIA_API_KEY=684d998c36b67a9a9fce8fc2d8860579 + +# Sentry ENV vars replace with real ones for debugging +# SENTRY_AUTH_TOKEN=private-token # get from sentry +# SENTRY_ORG=comfy-org +# SENTRY_PROJECT=cloud-frontend-staging diff --git a/.git-blame-ignore-revs b/.git-blame-ignore-revs index 06139b08a..3c9750e0f 100644 --- a/.git-blame-ignore-revs +++ b/.git-blame-ignore-revs @@ -25,3 +25,6 @@ e3bb29ceb8174b8bbca9e48ec7d42cd540f40efa # [refactor] Improve updates/notifications domain organization (#5590) 27ab355f9c73415dc39f4d3f512b02308f847801 + +# Migrate Tailwind styles to design-system package +9f19d8fb4bd22518879343b49c05634dca777df0 diff --git a/.github/workflows/pr-claude-review.yaml b/.github/workflows/pr-claude-review.yaml index 16eaecfc1..e4684af07 100644 --- a/.github/workflows/pr-claude-review.yaml +++ b/.github/workflows/pr-claude-review.yaml @@ -17,40 +17,9 @@ concurrency: cancel-in-progress: true jobs: - wait-for-ci: + claude-review: runs-on: ubuntu-latest if: github.event.label.name == 'claude-review' - outputs: - should-proceed: ${{ steps.check-status.outputs.proceed }} - steps: - - name: Wait for other CI checks - uses: lewagon/wait-on-check-action@e106e5c43e8ca1edea6383a39a01c5ca495fd812 - with: - ref: ${{ github.event.pull_request.head.sha }} - check-regexp: '^(lint-and-format|test|playwright-tests)' - allowed-conclusions: success,skipped,failure,cancelled,neutral,action_required,timed_out,stale - wait-interval: 30 - repo-token: ${{ secrets.GITHUB_TOKEN }} - - - name: Check if we should proceed - id: check-status - run: | - CHECK_RUNS=$(gh api repos/${{ github.repository }}/commits/${{ github.event.pull_request.head.sha }}/check-runs --jq '.check_runs[] | select(.name | test("lint-and-format")) | {name, conclusion}') - - if echo "$CHECK_RUNS" | grep -Eq '"conclusion": "(failure|cancelled|timed_out|action_required)"'; then - echo "Some CI checks failed - skipping Claude review" - echo "proceed=false" >> $GITHUB_OUTPUT - else - echo "All CI checks passed - proceeding with Claude review" - echo "proceed=true" >> $GITHUB_OUTPUT - fi - env: - GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - claude-review: - needs: wait-for-ci - if: needs.wait-for-ci.outputs.should-proceed == 'true' - runs-on: ubuntu-latest timeout-minutes: 30 steps: - name: Checkout repository diff --git a/.github/workflows/weekly-docs-check.yaml b/.github/workflows/weekly-docs-check.yaml index 33f092715..c67e4adcb 100644 --- a/.github/workflows/weekly-docs-check.yaml +++ b/.github/workflows/weekly-docs-check.yaml @@ -142,4 +142,3 @@ jobs: documentation automated draft: true - assignees: ${{ github.repository_owner }} diff --git a/.gitignore b/.gitignore index cc195d8ed..3e400ba39 100644 --- a/.gitignore +++ b/.gitignore @@ -18,6 +18,7 @@ yarn.lock .stylelintcache node_modules +.pnpm-store dist dist-ssr *.local @@ -92,3 +93,6 @@ storybook-static .github/instructions/nx.instructions.md vite.config.*.timestamp* vitest.config.*.timestamp* + +# Weekly docs check output +/output.txt diff --git a/browser_tests/tests/loadWorkflowInMedia.spec.ts-snapshots/dropped-workflow-url-hidream-dev-example-png-chromium-linux.png b/browser_tests/tests/loadWorkflowInMedia.spec.ts-snapshots/dropped-workflow-url-hidream-dev-example-png-chromium-linux.png index eb4903bf8..f58f43895 100644 Binary files a/browser_tests/tests/loadWorkflowInMedia.spec.ts-snapshots/dropped-workflow-url-hidream-dev-example-png-chromium-linux.png and b/browser_tests/tests/loadWorkflowInMedia.spec.ts-snapshots/dropped-workflow-url-hidream-dev-example-png-chromium-linux.png differ diff --git a/browser_tests/tests/noteNode.spec.ts-snapshots/note-nodes-chromium-linux.png b/browser_tests/tests/noteNode.spec.ts-snapshots/note-nodes-chromium-linux.png index 509067e9f..c511957c4 100644 Binary files a/browser_tests/tests/noteNode.spec.ts-snapshots/note-nodes-chromium-linux.png and b/browser_tests/tests/noteNode.spec.ts-snapshots/note-nodes-chromium-linux.png differ diff --git a/browser_tests/tests/selectionToolbox.spec.ts-snapshots/selection-toolbox-multiple-nodes-border-chromium-linux.png b/browser_tests/tests/selectionToolbox.spec.ts-snapshots/selection-toolbox-multiple-nodes-border-chromium-linux.png index bcc9e7e30..1fc54d81d 100644 Binary files a/browser_tests/tests/selectionToolbox.spec.ts-snapshots/selection-toolbox-multiple-nodes-border-chromium-linux.png and b/browser_tests/tests/selectionToolbox.spec.ts-snapshots/selection-toolbox-multiple-nodes-border-chromium-linux.png differ diff --git a/browser_tests/tests/selectionToolbox.spec.ts-snapshots/selection-toolbox-multiple-selections-border-chromium-linux.png b/browser_tests/tests/selectionToolbox.spec.ts-snapshots/selection-toolbox-multiple-selections-border-chromium-linux.png index ce3118790..dd636783b 100644 Binary files a/browser_tests/tests/selectionToolbox.spec.ts-snapshots/selection-toolbox-multiple-selections-border-chromium-linux.png and b/browser_tests/tests/selectionToolbox.spec.ts-snapshots/selection-toolbox-multiple-selections-border-chromium-linux.png differ diff --git a/browser_tests/tests/vueNodes/groups/groups.spec.ts-snapshots/vue-groups-create-group-chromium-linux.png b/browser_tests/tests/vueNodes/groups/groups.spec.ts-snapshots/vue-groups-create-group-chromium-linux.png index 2e0e795fa..36dddbb83 100644 Binary files a/browser_tests/tests/vueNodes/groups/groups.spec.ts-snapshots/vue-groups-create-group-chromium-linux.png and b/browser_tests/tests/vueNodes/groups/groups.spec.ts-snapshots/vue-groups-create-group-chromium-linux.png differ diff --git a/browser_tests/tests/vueNodes/groups/groups.spec.ts-snapshots/vue-groups-fit-to-contents-chromium-linux.png b/browser_tests/tests/vueNodes/groups/groups.spec.ts-snapshots/vue-groups-fit-to-contents-chromium-linux.png index ebf6a0470..a27406c39 100644 Binary files a/browser_tests/tests/vueNodes/groups/groups.spec.ts-snapshots/vue-groups-fit-to-contents-chromium-linux.png and b/browser_tests/tests/vueNodes/groups/groups.spec.ts-snapshots/vue-groups-fit-to-contents-chromium-linux.png differ diff --git a/browser_tests/tests/vueNodes/interactions/canvas/pan.spec.ts-snapshots/vue-nodes-paned-with-touch-mobile-chrome-linux.png b/browser_tests/tests/vueNodes/interactions/canvas/pan.spec.ts-snapshots/vue-nodes-paned-with-touch-mobile-chrome-linux.png index 07ca314be..44c553cbb 100644 Binary files a/browser_tests/tests/vueNodes/interactions/canvas/pan.spec.ts-snapshots/vue-nodes-paned-with-touch-mobile-chrome-linux.png and b/browser_tests/tests/vueNodes/interactions/canvas/pan.spec.ts-snapshots/vue-nodes-paned-with-touch-mobile-chrome-linux.png differ diff --git a/browser_tests/tests/vueNodes/interactions/canvas/zoom.spec.ts-snapshots/zoomed-in-ctrl-shift-chromium-linux.png b/browser_tests/tests/vueNodes/interactions/canvas/zoom.spec.ts-snapshots/zoomed-in-ctrl-shift-chromium-linux.png index 15091b9fb..00574325f 100644 Binary files a/browser_tests/tests/vueNodes/interactions/canvas/zoom.spec.ts-snapshots/zoomed-in-ctrl-shift-chromium-linux.png and b/browser_tests/tests/vueNodes/interactions/canvas/zoom.spec.ts-snapshots/zoomed-in-ctrl-shift-chromium-linux.png differ diff --git a/browser_tests/tests/vueNodes/interactions/links/linkInteraction.spec.ts-snapshots/vue-node-dragging-link-chromium-linux.png b/browser_tests/tests/vueNodes/interactions/links/linkInteraction.spec.ts-snapshots/vue-node-dragging-link-chromium-linux.png index e9a11910a..ae210142d 100644 Binary files a/browser_tests/tests/vueNodes/interactions/links/linkInteraction.spec.ts-snapshots/vue-node-dragging-link-chromium-linux.png and b/browser_tests/tests/vueNodes/interactions/links/linkInteraction.spec.ts-snapshots/vue-node-dragging-link-chromium-linux.png differ diff --git a/browser_tests/tests/vueNodes/interactions/links/linkInteraction.spec.ts-snapshots/vue-node-input-drag-ctrl-alt-chromium-linux.png b/browser_tests/tests/vueNodes/interactions/links/linkInteraction.spec.ts-snapshots/vue-node-input-drag-ctrl-alt-chromium-linux.png index 66b808e34..f7727feb9 100644 Binary files a/browser_tests/tests/vueNodes/interactions/links/linkInteraction.spec.ts-snapshots/vue-node-input-drag-ctrl-alt-chromium-linux.png and b/browser_tests/tests/vueNodes/interactions/links/linkInteraction.spec.ts-snapshots/vue-node-input-drag-ctrl-alt-chromium-linux.png differ diff --git a/browser_tests/tests/vueNodes/interactions/links/linkInteraction.spec.ts-snapshots/vue-node-input-drag-reuses-origin-chromium-linux.png b/browser_tests/tests/vueNodes/interactions/links/linkInteraction.spec.ts-snapshots/vue-node-input-drag-reuses-origin-chromium-linux.png index 5fa283cee..30ffa4e0b 100644 Binary files a/browser_tests/tests/vueNodes/interactions/links/linkInteraction.spec.ts-snapshots/vue-node-input-drag-reuses-origin-chromium-linux.png and b/browser_tests/tests/vueNodes/interactions/links/linkInteraction.spec.ts-snapshots/vue-node-input-drag-reuses-origin-chromium-linux.png differ diff --git a/browser_tests/tests/vueNodes/interactions/links/linkInteraction.spec.ts-snapshots/vue-node-reroute-input-drag-chromium-linux.png b/browser_tests/tests/vueNodes/interactions/links/linkInteraction.spec.ts-snapshots/vue-node-reroute-input-drag-chromium-linux.png index 5c08aded8..ff5b860c4 100644 Binary files a/browser_tests/tests/vueNodes/interactions/links/linkInteraction.spec.ts-snapshots/vue-node-reroute-input-drag-chromium-linux.png and b/browser_tests/tests/vueNodes/interactions/links/linkInteraction.spec.ts-snapshots/vue-node-reroute-input-drag-chromium-linux.png differ diff --git a/browser_tests/tests/vueNodes/interactions/links/linkInteraction.spec.ts-snapshots/vue-node-reroute-output-shift-drag-chromium-linux.png b/browser_tests/tests/vueNodes/interactions/links/linkInteraction.spec.ts-snapshots/vue-node-reroute-output-shift-drag-chromium-linux.png index 76946cbc0..610b15f1a 100644 Binary files a/browser_tests/tests/vueNodes/interactions/links/linkInteraction.spec.ts-snapshots/vue-node-reroute-output-shift-drag-chromium-linux.png and b/browser_tests/tests/vueNodes/interactions/links/linkInteraction.spec.ts-snapshots/vue-node-reroute-output-shift-drag-chromium-linux.png differ diff --git a/browser_tests/tests/vueNodes/interactions/links/linkInteraction.spec.ts-snapshots/vue-node-shift-output-multi-link-chromium-linux.png b/browser_tests/tests/vueNodes/interactions/links/linkInteraction.spec.ts-snapshots/vue-node-shift-output-multi-link-chromium-linux.png index 6a39534a2..9b4208896 100644 Binary files a/browser_tests/tests/vueNodes/interactions/links/linkInteraction.spec.ts-snapshots/vue-node-shift-output-multi-link-chromium-linux.png and b/browser_tests/tests/vueNodes/interactions/links/linkInteraction.spec.ts-snapshots/vue-node-shift-output-multi-link-chromium-linux.png differ diff --git a/browser_tests/tests/vueNodes/interactions/links/linkInteraction.spec.ts-snapshots/vue-node-snap-to-node-chromium-linux.png b/browser_tests/tests/vueNodes/interactions/links/linkInteraction.spec.ts-snapshots/vue-node-snap-to-node-chromium-linux.png index 9fe1a1e8b..c7ea9a72e 100644 Binary files a/browser_tests/tests/vueNodes/interactions/links/linkInteraction.spec.ts-snapshots/vue-node-snap-to-node-chromium-linux.png and b/browser_tests/tests/vueNodes/interactions/links/linkInteraction.spec.ts-snapshots/vue-node-snap-to-node-chromium-linux.png differ diff --git a/browser_tests/tests/vueNodes/interactions/links/linkInteraction.spec.ts-snapshots/vue-node-snap-to-slot-chromium-linux.png b/browser_tests/tests/vueNodes/interactions/links/linkInteraction.spec.ts-snapshots/vue-node-snap-to-slot-chromium-linux.png index a12651973..6eaf27c95 100644 Binary files a/browser_tests/tests/vueNodes/interactions/links/linkInteraction.spec.ts-snapshots/vue-node-snap-to-slot-chromium-linux.png and b/browser_tests/tests/vueNodes/interactions/links/linkInteraction.spec.ts-snapshots/vue-node-snap-to-slot-chromium-linux.png differ diff --git a/browser_tests/tests/vueNodes/interactions/node/move.spec.ts-snapshots/vue-node-moved-node-chromium-linux.png b/browser_tests/tests/vueNodes/interactions/node/move.spec.ts-snapshots/vue-node-moved-node-chromium-linux.png index 95c2fc57f..49b4a78d0 100644 Binary files a/browser_tests/tests/vueNodes/interactions/node/move.spec.ts-snapshots/vue-node-moved-node-chromium-linux.png and b/browser_tests/tests/vueNodes/interactions/node/move.spec.ts-snapshots/vue-node-moved-node-chromium-linux.png differ diff --git a/browser_tests/tests/vueNodes/interactions/node/move.spec.ts-snapshots/vue-node-moved-node-touch-mobile-chrome-linux.png b/browser_tests/tests/vueNodes/interactions/node/move.spec.ts-snapshots/vue-node-moved-node-touch-mobile-chrome-linux.png index 3bb6445a1..736b89872 100644 Binary files a/browser_tests/tests/vueNodes/interactions/node/move.spec.ts-snapshots/vue-node-moved-node-touch-mobile-chrome-linux.png and b/browser_tests/tests/vueNodes/interactions/node/move.spec.ts-snapshots/vue-node-moved-node-touch-mobile-chrome-linux.png differ diff --git a/browser_tests/tests/vueNodes/nodeStates/bypass.spec.ts-snapshots/vue-node-bypassed-state-chromium-linux.png b/browser_tests/tests/vueNodes/nodeStates/bypass.spec.ts-snapshots/vue-node-bypassed-state-chromium-linux.png index 699c76e7f..fa66f6cd1 100644 Binary files a/browser_tests/tests/vueNodes/nodeStates/bypass.spec.ts-snapshots/vue-node-bypassed-state-chromium-linux.png and b/browser_tests/tests/vueNodes/nodeStates/bypass.spec.ts-snapshots/vue-node-bypassed-state-chromium-linux.png differ diff --git a/browser_tests/tests/vueNodes/nodeStates/colors.spec.ts-snapshots/vue-node-custom-color-blue-chromium-linux.png b/browser_tests/tests/vueNodes/nodeStates/colors.spec.ts-snapshots/vue-node-custom-color-blue-chromium-linux.png index 9de2771cc..eb8c0b8cb 100644 Binary files a/browser_tests/tests/vueNodes/nodeStates/colors.spec.ts-snapshots/vue-node-custom-color-blue-chromium-linux.png and b/browser_tests/tests/vueNodes/nodeStates/colors.spec.ts-snapshots/vue-node-custom-color-blue-chromium-linux.png differ diff --git a/browser_tests/tests/vueNodes/nodeStates/colors.spec.ts-snapshots/vue-node-custom-colors-dark-all-colors-chromium-linux.png b/browser_tests/tests/vueNodes/nodeStates/colors.spec.ts-snapshots/vue-node-custom-colors-dark-all-colors-chromium-linux.png index d440df84f..f7ff7c7a7 100644 Binary files a/browser_tests/tests/vueNodes/nodeStates/colors.spec.ts-snapshots/vue-node-custom-colors-dark-all-colors-chromium-linux.png and b/browser_tests/tests/vueNodes/nodeStates/colors.spec.ts-snapshots/vue-node-custom-colors-dark-all-colors-chromium-linux.png differ diff --git a/browser_tests/tests/vueNodes/nodeStates/colors.spec.ts-snapshots/vue-node-custom-colors-light-all-colors-chromium-linux.png b/browser_tests/tests/vueNodes/nodeStates/colors.spec.ts-snapshots/vue-node-custom-colors-light-all-colors-chromium-linux.png index 2549fbc20..25ffc18d3 100644 Binary files a/browser_tests/tests/vueNodes/nodeStates/colors.spec.ts-snapshots/vue-node-custom-colors-light-all-colors-chromium-linux.png and b/browser_tests/tests/vueNodes/nodeStates/colors.spec.ts-snapshots/vue-node-custom-colors-light-all-colors-chromium-linux.png differ diff --git a/browser_tests/tests/vueNodes/nodeStates/lod.spec.ts-snapshots/vue-nodes-default-chromium-linux.png b/browser_tests/tests/vueNodes/nodeStates/lod.spec.ts-snapshots/vue-nodes-default-chromium-linux.png index 77678b6b0..a1c8b6d5c 100644 Binary files a/browser_tests/tests/vueNodes/nodeStates/lod.spec.ts-snapshots/vue-nodes-default-chromium-linux.png and b/browser_tests/tests/vueNodes/nodeStates/lod.spec.ts-snapshots/vue-nodes-default-chromium-linux.png differ diff --git a/browser_tests/tests/vueNodes/nodeStates/lod.spec.ts-snapshots/vue-nodes-lod-inactive-chromium-linux.png b/browser_tests/tests/vueNodes/nodeStates/lod.spec.ts-snapshots/vue-nodes-lod-inactive-chromium-linux.png index 4656299b2..df9ee2c93 100644 Binary files a/browser_tests/tests/vueNodes/nodeStates/lod.spec.ts-snapshots/vue-nodes-lod-inactive-chromium-linux.png and b/browser_tests/tests/vueNodes/nodeStates/lod.spec.ts-snapshots/vue-nodes-lod-inactive-chromium-linux.png differ diff --git a/browser_tests/tests/vueNodes/nodeStates/mute.spec.ts-snapshots/vue-node-muted-state-chromium-linux.png b/browser_tests/tests/vueNodes/nodeStates/mute.spec.ts-snapshots/vue-node-muted-state-chromium-linux.png index d0d9ad0f6..c47f1b2fe 100644 Binary files a/browser_tests/tests/vueNodes/nodeStates/mute.spec.ts-snapshots/vue-node-muted-state-chromium-linux.png and b/browser_tests/tests/vueNodes/nodeStates/mute.spec.ts-snapshots/vue-node-muted-state-chromium-linux.png differ diff --git a/browser_tests/tests/vueNodes/widgets/load/uploadWidgets.spec.ts-snapshots/vue-nodes-upload-widgets-chromium-linux.png b/browser_tests/tests/vueNodes/widgets/load/uploadWidgets.spec.ts-snapshots/vue-nodes-upload-widgets-chromium-linux.png index 8318ff97b..4526b2708 100644 Binary files a/browser_tests/tests/vueNodes/widgets/load/uploadWidgets.spec.ts-snapshots/vue-nodes-upload-widgets-chromium-linux.png and b/browser_tests/tests/vueNodes/widgets/load/uploadWidgets.spec.ts-snapshots/vue-nodes-upload-widgets-chromium-linux.png differ diff --git a/package.json b/package.json index 6c82e43b5..f9edb1851 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@comfyorg/comfyui-frontend", "private": true, - "version": "1.31.1", + "version": "1.32.1", "type": "module", "repository": "https://github.com/Comfy-Org/ComfyUI_frontend", "homepage": "https://comfy.org", @@ -57,6 +57,7 @@ "@pinia/testing": "catalog:", "@playwright/test": "catalog:", "@prettier/plugin-oxc": "catalog:", + "@sentry/vite-plugin": "catalog:", "@storybook/addon-docs": "catalog:", "@storybook/vue3": "catalog:", "@storybook/vue3-vite": "catalog:", diff --git a/packages/design-system/src/css/style.css b/packages/design-system/src/css/style.css index 05aca6b16..95084d28f 100644 --- a/packages/design-system/src/css/style.css +++ b/packages/design-system/src/css/style.css @@ -157,6 +157,8 @@ --button-surface: var(--color-white); --button-surface-contrast: var(--color-black); + --subscription-button-gradient: linear-gradient(315deg, rgb(105 230 255 / 0.15) 0%, rgb(99 73 233 / 0.50) 100%), radial-gradient(70.71% 70.71% at 50% 50%, rgb(62 99 222 / 0.15) 0.01%, rgb(66 0 123 / 0.50) 100%), linear-gradient(92deg, #D000FF 0.38%, #B009FE 37.07%, #3E1FFC 65.17%, #009DFF 103.86%), var(--color-button-surface, #2D2E32); + --modal-card-button-surface: var(--color-smoke-300); /* Code styling colors for help menu*/ @@ -239,6 +241,18 @@ --border-subtle: var(--color-smoke-400); --muted-background: var(--color-smoke-700); --accent-background: var(--color-smoke-800); + + /* Default UI element color palette variables */ + --palette-contrast-mix-color: #fff; + --palette-interface-panel-surface: var(--comfy-menu-bg); + --palette-interface-stroke: color-mix(in srgb, var(--interface-panel-surface) 75.5%, var(--contrast-mix-color)); + + --palette-interface-panel-box-shadow: 1px 1px 8px 0 rgb(0 0 0 / 0.4); + --palette-interface-panel-drop-shadow: 1px 1px 4px rgb(0 0 0 / 0.4); + --palette-interface-panel-hover-surface: color-mix(in srgb, var(--interface-panel-surface) 92.5%, var(--contrast-mix-color)); + --palette-interface-panel-selected-surface: color-mix(in srgb, var(--interface-panel-surface) 87.5%, var(--contrast-mix-color)); + --palette-interface-button-hover-surface: color-mix(in srgb, var(--interface-panel-surface) 82%, var(--contrast-mix-color)); + } .dark-theme { @@ -258,6 +272,8 @@ --button-active-surface: var(--color-charcoal-600); --button-icon: var(--color-smoke-800); + --subscription-button-gradient: linear-gradient(315deg, rgb(105 230 255 / 0.15) 0%, rgb(99 73 233 / 0.50) 100%), radial-gradient(70.71% 70.71% at 50% 50%, rgb(62 99 222 / 0.15) 0.01%, rgb(66 0 123 / 0.50) 100%), linear-gradient(92deg, #D000FF 0.38%, #B009FE 37.07%, #3E1FFC 65.17%, #009DFF 103.86%), var(--color-button-surface, #2D2E32); + --modal-card-button-surface: var(--color-charcoal-300); --dialog-surface: var(--color-neutral-700); @@ -332,6 +348,7 @@ --color-button-icon: var(--button-icon); --color-button-surface: var(--button-surface); --color-button-surface-contrast: var(--button-surface-contrast); + --color-subscription-button-gradient: var(--subscription-button-gradient); --color-modal-card-button-surface: var(--modal-card-button-surface); --color-dialog-surface: var(--dialog-surface); --color-interface-menu-component-surface-hovered: var( @@ -492,36 +509,40 @@ body { .comfy-markdown { /* We assign the textarea and the Tiptap editor to the same CSS grid area to stack them on top of one another. */ display: grid; -} + & > textarea, + .tiptap { + grid-area: 1 / 1 / 2 / 2; + } -.comfy-markdown > textarea { - grid-area: 1 / 1 / 2 / 2; -} + & > textarea { + opacity: 0; + pointer-events: none; + } -.comfy-markdown .tiptap { - grid-area: 1 / 1 / 2 / 2; - background-color: var(--comfy-input-bg); - color: var(--input-text); - overflow: hidden; - overflow-y: auto; - resize: none; - border: none; - box-sizing: border-box; - font-size: var(--comfy-textarea-font-size); - height: 100%; - padding: 0.5em; -} + &.editing { + & > textarea { + opacity: 1; + pointer-events: all; + } -.comfy-markdown.editing .tiptap { - display: none; -} + .tiptap { + opacity: 0; + pointer-events: none; + } + } -.comfy-markdown .tiptap :first-child { - margin-top: 0; -} + .tiptap { + overflow-y: auto; + font-size: var(--comfy-textarea-font-size); -.comfy-markdown .tiptap :last-child { - margin-bottom: 0; + :first-child { + margin-top: 0; + } + + :last-child { + margin-bottom: 0; + } + } } .comfy-markdown .tiptap blockquote { @@ -1198,31 +1219,6 @@ audio.comfy-audio.empty-audio-widget { padding: var(--comfy-tree-explorer-item-padding) !important; } -/* Load3d styles */ -.comfy-load-3d, -.comfy-load-3d-animation, -.comfy-preview-3d, -.comfy-preview-3d-animation { - display: flex; - flex-direction: column; - background: transparent; - flex: 1; - position: relative; - overflow: hidden; -} - -.comfy-load-3d canvas, -.comfy-load-3d-animation canvas, -.comfy-preview-3d canvas, -.comfy-preview-3d-animation canvas, -.comfy-load-3d-viewer canvas { - display: flex; - width: 100% !important; - height: 100% !important; -} - -/* End of Load3d styles */ - /* [Desktop] Electron window specific styles */ .app-drag { app-region: drag; diff --git a/packages/design-system/src/icons/pin.svg b/packages/design-system/src/icons/pin.svg new file mode 100644 index 000000000..a837563ee --- /dev/null +++ b/packages/design-system/src/icons/pin.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/packages/design-system/tailwind.config.ts b/packages/design-system/tailwind.config.ts index 6c22baece..62b611426 100644 --- a/packages/design-system/tailwind.config.ts +++ b/packages/design-system/tailwind.config.ts @@ -4,6 +4,13 @@ import { addDynamicIconSelectors } from '@iconify/tailwind' import { iconCollection } from './src/iconCollection' export default { + theme: { + extend: { + boxShadow: { + interface: 'var(--interface-panel-box-shadow)' + } + } + }, plugins: [ addDynamicIconSelectors({ iconSets: { diff --git a/packages/registry-types/src/comfyRegistryTypes.ts b/packages/registry-types/src/comfyRegistryTypes.ts index 32dc4f675..f23e79286 100644 --- a/packages/registry-types/src/comfyRegistryTypes.ts +++ b/packages/registry-types/src/comfyRegistryTypes.ts @@ -4,19466 +4,21027 @@ */ export interface paths { - '/users': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** Get information about the calling user. */ - get: operations['getUser'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/customers': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** - * Search for customers - * @description Search for customers by email, name, Stripe ID, or Metronome ID. - */ - get: operations['searchCustomers'] - put?: never - /** - * Create a new customer - * @description Creates a new customer using the provided token. No request body is needed as user information is extracted from the token. - */ - post: operations['createCustomer'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/customers/me': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** - * Get authenticated customer details - * @description Returns details about the currently authenticated customer based on their JWT token. - */ - get: operations['getAuthenticatedCustomer'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/customers/{customer_id}': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** - * Get a customer by ID - * @description Returns details about a customer by their ID. - */ - get: operations['getCustomerById'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/customers/api-keys': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** List all API keys for a customer */ - get: operations['listCustomerAPIKeys'] - put?: never - /** Create a new API key for a customer */ - post: operations['createCustomerAPIKey'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/customers/api-keys/{api_key_id}': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - post?: never - /** Delete an API key for a customer */ - delete: operations['deleteCustomerAPIKey'] - options?: never - head?: never - patch?: never - trace?: never - } - '/customers/credit': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** Initiates a Credit Purchase. */ - post: operations['InitiateCreditPurchase'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/customers/billing': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** - * Access customer billing portal - * @description Creates a session for the customer to access their billing portal where they can manage subscriptions, payment methods, and view invoices. - */ - post: operations['AccessBillingPortal'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/customers/usage': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** - * Get customer's usage - * @description Returns the customer's as a dashboard URL. - */ - post: operations['GetCustomerUsage'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/customers/balance': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** - * Get customer's remaining balance - * @description Returns the customer's current remaining balance in microamount and its currency. - */ - get: operations['GetCustomerBalance'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/customers/{customer_id}/balance': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** - * Get customer's remaining balance by ID - * @description Returns the specified customer's current remaining balance in microamount and its currency. - */ - get: operations['GetCustomerBalanceById'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/customers/storage': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** - * Store a resource for a customer - * @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. - */ - post: operations['createCustomerStorageResource'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/customers/{customer_id}/events': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** Get events related to customer */ - get: operations['GetCustomerEventsById'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/customers/events': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** Get events related to customer */ - get: operations['GetCustomerEvents'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/upload-artifact': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** - * Receive artifacts (output files) from the ComfyUI GitHub Action - * @description Receive artifacts (output files) from the ComfyUI GitHub Action - */ - post: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody: { - content: { - 'application/json': { - /** @description Repository name */ - repo: string - /** @description Unique identifier for the job */ - job_id: string - /** @description Unique identifier for the run */ - run_id: string - /** @description Operating system used in the run */ - os: string - /** @description Cuda version. */ - cuda_version?: string - /** @description The name of the bucket where the output files are stored */ - bucket_name?: string - /** @description A comma separated string that contains GCS path(s) to output files. eg. gs://bucket-name/output, gs://bucket-name/output2 */ - output_files_gcs_paths?: string - /** @description The path to ComfyUI logs. eg. gs://bucket-name/logs */ - comfy_logs_gcs_path?: string - /** @description The flags used in the comfy run */ - comfy_run_flags?: string - commit_hash: string - /** @description The time of the commit in the format of "YYYY-MM-DDTHH:MM:SSZ" (2016-10-10T00:00:00Z) */ - commit_time: string - /** @description The commit message */ - commit_message: string - /** @description The name of the workflow */ - workflow_name: string - branch_name: string + "/users": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get information about the calling user. */ + get: operations["getUser"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/customers": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Search for customers + * @description Search for customers by email, name, Stripe ID, or Metronome ID. + */ + get: operations["searchCustomers"]; + put?: never; + /** + * Create a new customer + * @description Creates a new customer using the provided token. No request body is needed as user information is extracted from the token. + */ + post: operations["createCustomer"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/customers/me": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get authenticated customer details + * @description Returns details about the currently authenticated customer based on their JWT token. + */ + get: operations["getAuthenticatedCustomer"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/customers/{customer_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a customer by ID + * @description Returns details about a customer by their ID. + */ + get: operations["getCustomerById"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/customers/api-keys": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List all API keys for a customer */ + get: operations["listCustomerAPIKeys"]; + put?: never; + /** Create a new API key for a customer */ + post: operations["createCustomerAPIKey"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/customers/api-keys/{api_key_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** Delete an API key for a customer */ + delete: operations["deleteCustomerAPIKey"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/customers/credit": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Initiates a Credit Purchase. */ + post: operations["InitiateCreditPurchase"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/customers/billing": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Access customer billing portal + * @description Creates a session for the customer to access their billing portal where they can manage subscriptions, payment methods, and view invoices. + */ + post: operations["AccessBillingPortal"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/customers/cloud-subscription-checkout": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Create cloud subscription checkout session + * @description Creates a cloud subscription checkout session for $20/month with automatic billing + */ + post: operations["createCloudSubscriptionCheckout"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/customers/cloud-subscription-status": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Check cloud subscription status + * @description Check if the customer has an active cloud subscription + */ + get: operations["GetCloudSubscriptionStatus"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/customers/usage": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Get customer's usage + * @description Returns the customer's as a dashboard URL. + */ + post: operations["GetCustomerUsage"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/customers/balance": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get customer's remaining balance + * @description Returns the customer's current remaining balance in microamount and its currency, with separate breakdowns for prepaid commits and cloud credits. + */ + get: operations["GetCustomerBalance"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/customers/{customer_id}/balance": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get customer's remaining balance by ID + * @description Returns the specified customer's current remaining balance in microamount and its currency, with separate breakdowns for prepaid commits and cloud credits. + */ + get: operations["GetCustomerBalanceById"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/customers/storage": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Store a resource for a customer + * @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. + */ + post: operations["createCustomerStorageResource"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/customers/{customer_id}/events": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get events related to customer */ + get: operations["GetCustomerEventsById"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/customers/events": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get events related to customer */ + get: operations["GetCustomerEvents"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/upload-artifact": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Receive artifacts (output files) from the ComfyUI GitHub Action + * @description Receive artifacts (output files) from the ComfyUI GitHub Action + */ + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Repository name */ + repo: string; + /** @description Unique identifier for the job */ + job_id: string; + /** @description Unique identifier for the run */ + run_id: string; + /** @description Operating system used in the run */ + os: string; + /** @description Cuda version. */ + cuda_version?: string; + /** @description The name of the bucket where the output files are stored */ + bucket_name?: string; + /** @description A comma separated string that contains GCS path(s) to output files. eg. gs://bucket-name/output, gs://bucket-name/output2 */ + output_files_gcs_paths?: string; + /** @description The path to ComfyUI logs. eg. gs://bucket-name/logs */ + comfy_logs_gcs_path?: string; + /** @description The flags used in the comfy run */ + comfy_run_flags?: string; + commit_hash: string; + /** @description The time of the commit in the format of "YYYY-MM-DDTHH:MM:SSZ" (2016-10-10T00:00:00Z) */ + commit_time: string; + /** @description The commit message */ + commit_message: string; + /** @description The name of the workflow */ + workflow_name: string; + branch_name: string; + /** + * Format: int64 + * @description The start time of the job as a Unix timestamp. + */ + start_time: number; + /** + * Format: int64 + * @description The end time of the job as a Unix timestamp. + */ + end_time: number; + /** @description The average amount of VRAM used in the run. */ + avg_vram?: number; + /** @description The peak amount of VRAM used in the run. */ + peak_vram?: number; + /** @description The pull request number */ + pr_number: string; + /** @description The author of the commit */ + author: string; + /** @description The user who triggered the job */ + job_trigger_user: string; + /** @description The python version used in the run */ + python_version: string; + /** @description The pytorch version used in the run */ + pytorch_version?: string; + machine_stats?: components["schemas"]["MachineStats"]; + status: components["schemas"]["WorkflowRunStatus"]; + }; + }; + }; + responses: { + /** @description Successfully received the artifact details */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + }; + }; + }; + /** @description Invalid request */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/gitcommit": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Retrieve CI data for a given commit + * @description Returns all runs, jobs, job results, and storage files associated with a given commit. + */ + get: { + parameters: { + query?: { + /** @description The ID of the commit to fetch data for. */ + commitId?: string; + /** @description The operating system to filter the CI data by. */ + operatingSystem?: string; + /** @description The name of the workflow to filter the CI data by. */ + workflowName?: string; + /** @description The branch of the gitcommit to filter the CI data by. */ + branch?: string; + /** @description The page number to retrieve. */ + page?: number; + /** @description The number of items to include per page. */ + pageSize?: number; + /** @description The repo to filter by. */ + repoName?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description An object containing runs, jobs, job results, and storage files */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + jobResults?: components["schemas"]["ActionJobResult"][]; + totalNumberOfPages?: number; + }; + }; + }; + /** @description Commit not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/gitcommitsummary": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Retrieve a summary of git commits + * @description Returns a summary of git commits, including status, start time, and end time. + */ + get: { + parameters: { + query?: { + /** @description The repository name to filter the git commits by. */ + repoName?: string; + /** @description The branch name to filter the git commits by. */ + branchName?: string; + /** @description The page number to retrieve. */ + page?: number; + /** @description The number of items to include per page. */ + pageSize?: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successfully retrieved git commit summaries */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + commitSummaries?: components["schemas"]["GitCommitSummary"][]; + totalNumberOfPages?: number; + }; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + }; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/workflowresult/{workflowResultId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Retrieve a specific commit by ID */ + get: operations["getWorkflowResult"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/branch": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Retrieve all distinct branches for a given repo + * @description Returns all branches for a given repo. + */ + get: { + parameters: { + query: { + /** @description The repo to filter by. */ + repo_name: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description An array of branches */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + branches?: string[]; + }; + }; + }; + /** @description Repo not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/publishers/": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Retrieve all publishers for a given user */ + get: operations["listPublishersForUser"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/publishers/{publisherId}/permissions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Retrieve permissions the user has for a given publisher */ + get: operations["getPermissionOnPublisher"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/publishers/validate": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Validate if a publisher username is available + * @description Checks if the publisher username is already taken. + */ + get: operations["validatePublisher"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/publishers": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Retrieve all publishers */ + get: operations["listPublishers"]; + put?: never; + /** Create a new publisher */ + post: operations["createPublisher"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/publishers/{publisherId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Retrieve a publisher by ID */ + get: operations["getPublisher"]; + /** Update a publisher */ + put: operations["updatePublisher"]; + post?: never; + /** Delete a publisher */ + delete: operations["deletePublisher"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/publishers/{publisherId}/ban": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Ban a publisher */ + post: operations["BanPublisher"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/publishers/{publisherId}/nodes/{nodeId}/claim-my-node": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Claim nodeId into publisherId for the authenticated publisher + * @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. + */ + post: operations["claimMyNode"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/publishers/{publisherId}/nodes/v2": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Retrieve all nodes */ + get: operations["listNodesForPublisherV2"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/publishers/{publisherId}/nodes": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Retrieve all nodes */ + get: operations["listNodesForPublisher"]; + put?: never; + /** Create a new custom node */ + post: operations["createNode"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/publishers/{publisherId}/nodes/{nodeId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** Update a specific node */ + put: operations["updateNode"]; + post?: never; + /** Delete a specific node */ + delete: operations["deleteNode"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/publishers/{publisherId}/nodes/{nodeId}/permissions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Retrieve permissions the user has for a given publisher */ + get: operations["getPermissionOnPublisherNodes"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/publishers/{publisherId}/nodes/{nodeId}/versions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Publish a new version of a node */ + post: operations["publishNodeVersion"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/publishers/{publisherId}/nodes/{nodeId}/versions/{versionId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * Update changelog and deprecation status of a node version + * @description Update only the changelog and deprecated status of a specific version of a node. + */ + put: operations["updateNodeVersion"]; + post?: never; + /** Unpublish (delete) a specific version of a node */ + delete: operations["deleteNodeVersion"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/publishers/{publisherId}/nodes/{nodeId}/ban": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Ban a publisher's Node */ + post: operations["BanPublisherNode"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/publishers/{publisherId}/tokens": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Retrieve all personal access tokens for a publisher */ + get: operations["listPersonalAccessTokens"]; + put?: never; + /** Create a new personal access token */ + post: operations["createPersonalAccessToken"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/publishers/{publisherId}/tokens/{tokenId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** Delete a specific personal access token */ + delete: operations["deletePersonalAccessToken"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/nodes/search": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Retrieves a list of nodes + * @description Returns a paginated list of nodes across all publishers. + */ + get: operations["searchNodes"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/nodes/reindex": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Reindex all nodes for searching. */ + post: operations["reindexNodes"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/nodes/update-github-stars": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Update GitHub stars for nodes */ + post: operations["updateGithubStars"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/nodes": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Retrieves a list of nodes + * @description Returns a paginated list of nodes across all publishers. + */ + get: operations["listAllNodes"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/comfy-nodes/{comfyNodeName}/node": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Retrieve a node by ComfyUI node name + * @description Returns the node that contains a ComfyUI node with the specified name + */ + get: operations["getNodeByComfyNodeName"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/nodes/{nodeId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Retrieve a specific node by ID + * @description Returns the details of a specific node. + */ + get: operations["getNode"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/nodes/{nodeId}/reviews": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Add review to a specific version of a node */ + post: operations["postNodeReview"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/nodes/{nodeId}/install": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Returns a node version to be installed. + * @description Retrieves the node data for installation, either the latest or a specific version. + */ + get: operations["installNode"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/nodes/{nodeId}/translations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Create Node Translations */ + post: operations["CreateNodeTranslations"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/nodes/{nodeId}/versions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List all versions of a node */ + get: operations["listNodeVersions"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/nodes/{nodeId}/versions/{versionId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Retrieve a specific version of a node */ + get: operations["getNodeVersion"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/bulk/nodes/versions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Retrieve multiple node versions in a single request */ + post: operations["getBulkNodeVersions"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/versions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List all node versions given some filters. */ + get: operations["listAllNodeVersions"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/admin/nodes": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Create a new custom node using admin priviledge */ + post: operations["adminCreateNode"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/admin/nodes/{nodeId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * Admin Update Node + * @description Only admins can update a node with admin privileges. + */ + put: operations["adminUpdateNode"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/admin/nodes/{nodeId}/versions/{versionNumber}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * Admin Update Node Version Status + * @description Only admins can approve a node version. + */ + put: operations["adminUpdateNodeVersion"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/releases": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get release notes + * @description Fetch release notes from Strapi with caching + */ + get: operations["getReleaseNotes"]; + put?: never; + /** + * Process Github release webhook + * @description Webhook endpoint to process Github release events and generate release notes + */ + post: operations["processReleaseWebhook"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/security-scan": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Security Scan + * @description Pull all pending node versions and conduct security scans. + */ + get: operations["securityScan"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/nodes/{nodeId}/versions/{version}/comfy-nodes": { + parameters: { + query?: never; + header?: never; + path: { + nodeId: string; + version: string; + }; + cookie?: never; + }; + /** list comfy-nodes for node version */ + get: operations["ListComfyNodes"]; + put?: never; + /** create comfy-nodes for certain node */ + post: operations["CreateComfyNodes"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/nodes/{nodeId}/versions/{version}/comfy-nodes/{comfyNodeName}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** get specify comfy-node based on its id */ + get: operations["GetComfyNode"]; + /** Update a specific comfy-node */ + put: operations["UpdateComfyNode"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/comfy-nodes": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** list all comfy-nodes */ + get: operations["ListAllComfyNodes"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/comfy-nodes/backfill": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** trigger comfy nodes backfill */ + post: operations["ComfyNodesBackfill"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/dummy": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Dummy proxy + * @description Dummy proxy endpoint that returns a simple string + */ + post: operations["dummyProxy"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/minimax/video_generation": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Proxy request to Minimax for video generation + * @description Forwards video generation requests to Minimax's API and returns the task ID for asynchronous processing. + */ + post: operations["minimaxVideoGeneration"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/minimax/query/video_generation": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Query status of a Minimax video generation task + * @description Proxies a request to Minimax to check the status of a video generation task + */ + get: operations["getMinimaxVideoGeneration"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/minimax/files/retrieve": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Retrieve download URL for a Minimax file + * @description Proxies a request to Minimax to get the download URL for a file + */ + post: operations["retrieveMinimaxFile"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/ideogram/generate": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Proxy request to Ideogram for image generation + * @description Forwards image generation requests to Ideogram's API and returns the results. + */ + post: operations["ideogramGenerate"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/ideogram/ideogram-v3/generate": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Proxy request to Ideogram for image generation + * @description Forwards image generation requests to Ideogram's API and returns the results. + */ + post: operations["ideogramV3Generate"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/ideogram/ideogram-v3/edit": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Proxy request to Ideogram for image editing + * @description Forwards image editing requests to Ideogram's API and returns the results. + */ + post: operations["ideogramV3Edit"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/ideogram/ideogram-v3/remix": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Remix an image using a prompt */ + post: operations["ideogramV3Remix"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/ideogram/ideogram-v3/reframe": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Reframe an image to a chosen resolution */ + post: operations["ideogramV3Reframe"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/ideogram/ideogram-v3/replace-background": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Replace background of an image using a prompt */ + post: operations["ideogramV3ReplaceBackground"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/kling/v1/account/costs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** KlingAI Query Resource Package Information */ + get: operations["klingQueryResourcePackages"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/kling/v1/videos/text2video": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** KlingAI Query Task List */ + get: operations["klingText2VideoQueryTaskList"]; + put?: never; + /** KlingAI Create Video from Text */ + post: operations["klingCreateVideoFromText"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/kling/v1/videos/text2video/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** KlingAI Query Single Task */ + get: operations["klingText2VideoQuerySingleTask"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/kling/v1/videos/image2video": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** KlingAI Query Image2Video Task List */ + get: operations["klingImage2VideoQueryTaskList"]; + put?: never; + /** KlingAI Create Video from Image */ + post: operations["klingCreateVideoFromImage"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/kling/v1/videos/image2video/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** KlingAI Query Single Image2Video Task */ + get: operations["klingImage2VideoQuerySingleTask"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/kling/v1/videos/video-extend": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** KlingAI Query Video-Extend Task List */ + get: operations["klingVideoExtendQueryTaskList"]; + put?: never; + /** KlingAI Extend Video Duration */ + post: operations["klingExtendVideo"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/kling/v1/videos/video-extend/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** KlingAI Query Single Video-Extend Task */ + get: operations["klingVideoExtendQuerySingleTask"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/kling/v1/videos/lip-sync": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** KlingAI Query Lip-Sync Task List */ + get: operations["klingLipSyncQueryTaskList"]; + put?: never; + /** KlingAI Create Lip-Sync Video */ + post: operations["klingCreateLipSyncVideo"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/kling/v1/videos/lip-sync/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** KlingAI Query Single Lip-Sync Task */ + get: operations["klingLipSyncQuerySingleTask"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/kling/v1/videos/effects": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** KlingAI Query Video Effects Task List */ + get: operations["klingVideoEffectsQueryTaskList"]; + put?: never; + /** KlingAI Create Video Effects Task */ + post: operations["klingCreateVideoEffects"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/kling/v1/videos/effects/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** KlingAI Query Single Video Effects Task */ + get: operations["klingVideoEffectsQuerySingleTask"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/kling/v1/images/generations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** KlingAI Query Image Generation Task List */ + get: operations["klingImageGenerationsQueryTaskList"]; + put?: never; + /** KlingAI Create Image Generation Task */ + post: operations["klingCreateImageGeneration"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/kling/v1/images/generations/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** KlingAI Query Single Image Generation Task */ + get: operations["klingImageGenerationsQuerySingleTask"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/kling/v1/images/kolors-virtual-try-on": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** KlingAI Query Virtual Try-On Task List */ + get: operations["klingVirtualTryOnQueryTaskList"]; + put?: never; + /** KlingAI Create Virtual Try-On Task */ + post: operations["klingCreateVirtualTryOn"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/kling/v1/images/kolors-virtual-try-on/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** KlingAI Query Single Virtual Try-On Task */ + get: operations["klingVirtualTryOnQuerySingleTask"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/ltx/v1/text-to-video": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * LTX Video Generate Video from Text + * @description Generate a video from a text prompt using LTX Video AI models + */ + post: operations["ltxCreateVideoFromText"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/ltx/v1/image-to-video": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * LTX Video Generate Video from Image + * @description Transform a static image into a dynamic video using LTX Video AI models + */ + post: operations["ltxCreateVideoFromImage"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/bfl/flux-kontext-pro/generate": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Proxy request to BFL Flux Kontext Pro for image editing + * @description Forwards image editing requests to BFL's Flux Kontext Pro API and returns the results. + */ + post: operations["bflFluxKontextProGenerate"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/bfl/flux-kontext-max/generate": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Proxy request to BFL Flux Kontext Max for image editing + * @description Forwards image editing requests to BFL's Flux Kontext Max API and returns the results. + */ + post: operations["bflFluxKontextMaxGenerate"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/bfl/flux-pro-1.1/generate": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Proxy request to BFL Flux Pro 1.1 for image generation + * @description Forwards image generation requests to BFL's Flux Pro 1.1 API and returns the results. + */ + post: operations["bflFluxPro1_1Generate"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/bfl/flux-pro-1.1-ultra/generate": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Proxy request to BFL Flux Pro 1.1 Ultra for image generation + * @description Forwards image generation requests to BFL's Flux Pro 1.1 Ultra API and returns the results. + */ + post: operations["bflFluxProGenerate"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/bfl/flux-pro-1.0-expand/generate": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Expand an image by adding pixels on any side. + * @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. + */ + post: operations["BFLExpand_v1_flux_pro_1_0_expand_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/bfl/flux-pro-1.0-fill/generate": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Generate an image with FLUX.1 Fill [pro] using an input image and mask. + * @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. + */ + post: operations["BFLFill_v1_flux_pro_1_0_fill_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/bfl/flux-pro-1.0-canny/generate": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Generate an image with FLUX.1 Canny [pro] using a control image. + * @description Submits an image generation task with FLUX.1 Canny [pro]. + */ + post: operations["BFLPro_canny_v1_flux_pro_1_0_canny_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/bfl/flux-pro-1.0-depth/generate": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Generate an image with FLUX.1 Depth [pro] using a control image. + * @description Submits an image generation task with FLUX.1 Depth [pro]. + */ + post: operations["BFLPro_depth_v1_flux_pro_1_0_depth_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/luma/generations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Create a generation + * @description Initiate a new generation with the provided prompt + */ + post: operations["lumaCreateGeneration"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/luma/generations/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a generation + * @description Retrieve details of a specific generation by its ID + */ + get: operations["lumaGetGeneration"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/luma/generations/image": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Generate an image + * @description Generate an image with the provided prompt + */ + post: operations["lumaGenerateImage"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/pixverse/video/text/generate": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Generate video from text prompt. */ + post: operations["PixverseGenerateTextVideo"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/pixverse/video/img/generate": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Generate video from image. */ + post: operations["PixverseGenerateImageVideo"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/pixverse/video/transition/generate": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Generate transition video between two images. */ + post: operations["PixverseGenerateTransitionVideo"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/pixverse/image/upload": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Upload an image to the server. */ + post: operations["PixverseUploadImage"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/pixverse/video/result/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get the result of a video generation. */ + get: operations["PixverseGetVideoResult"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/webhook/metronome/zero-balance": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** receive alert on remaining balance is 0 */ + post: operations["metronomeZeroBalance"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/webhook/stripe/invoice-status": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Handle Stripe invoice.paid webhook event */ + post: operations["StripeInvoiceStatus"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/webhook/stripe/subscription": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Handle Stripe subscription webhook events */ + post: operations["StripeSubscriptionWebhook"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/recraft/image_generation": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Proxy request to Recraft for image generation + * @description Forwards image generation requests to Recraft's API and returns the generated images. + */ + post: operations["recraftImageGeneration"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/recraft/images/vectorize": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Vectorize an image */ + post: operations["recraftVectorize"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/recraft/images/crispUpscale": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Upscale an image */ + post: operations["recraftCrispUpscale"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/recraft/images/removeBackground": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Remove background from an image */ + post: operations["recraftRemoveBackground"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/recraft/images/imageToImage": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Generate image from image and prompt */ + post: operations["RecraftImageToImage"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/recraft/images/inpaint": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Inpaint Image */ + post: operations["RecraftInpaintImage"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/recraft/images/replaceBackground": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Replace Background */ + post: operations["RecraftReplaceBackground"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/recraft/images/creativeUpscale": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Creative Upscale */ + post: operations["RecraftCreativeUpscale"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/runway/image_to_video": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Runway Image to Video Generation + * @description Converts an image to a video using Runway's API + */ + post: operations["runwayImageToVideo"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/runway/tasks/{task_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get Runway Task Status + * @description Get the status and output of a Runway task + */ + get: operations["runwayGetTaskStatus"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/runway/text_to_image": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Runway Text to Image Generation + * @description Generates an image from text using Runway's API + */ + post: operations["runwayTextToImage"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/veo/generate": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Generate a video from a text prompt and optional image. Deprecated. Use /proxy/veo/{modelId}/generate instead. */ + post: operations["veoGenerate"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/veo/poll": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Poll the status of a Veo prediction operation. Deprecated. Use /proxy/veo/{modelId}/generate instead. */ + post: operations["veoPoll"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/veo/{modelId}/generate": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Generate a video from a text prompt and optional image */ + post: operations["veoGenerateNew"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/veo/{modelId}/poll": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Poll the status of a Veo prediction operation */ + post: operations["veoPollNew"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/openai/v1/responses": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: operations["createOpenAIResponse"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/openai/v1/responses/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Retrieves a model response with the given ID. */ + get: operations["getOpenAIResponse"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/openai/images/generations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Generate an image using OpenAI's models */ + post: operations["openAIGenerateImage"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/openai/images/edits": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Edit an image using OpenAI's DALL-E model */ + post: operations["openAIEditImage"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/openai/v1/videos": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Create a video using OpenAI's Sora model */ + post: operations["openAICreateVideo"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/openai/v1/videos/{video_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Retrieve a video */ + get: operations["openAIGetVideo"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/openai/v1/videos/{video_id}/content": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Download video content */ + get: operations["openAIDownloadVideoContent"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/pika/generate/pikadditions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Generate Pikadditions */ + post: operations["PikaGenerate_pikadditions_generate_pikadditions_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/pika/generate/pikaswaps": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Generate Pikaswaps + * @description Exactly one of `modifyRegionMask` and `modifyRegionRoi` must be provided. + */ + post: operations["PikaGenerate_pikaswaps_generate_pikaswaps_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/pika/generate/pikaffects": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Generate Pikaffects + * @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 + */ + post: operations["PikaGenerate_pikaffects_generate_pikaffects_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/pika/generate/2.2/t2v": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Generate 2 2 T2V */ + post: operations["PikaGenerate_2_2_t2v_generate_2_2_t2v_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/pika/generate/2.2/pikaframes": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Generate 2 2 Keyframe */ + post: operations["PikaGenerate_2_2_keyframe_generate_2_2_pikaframes_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/pika/generate/2.2/pikascenes": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Generate 2 2 C2V */ + post: operations["PikaGenerate_2_2_c2v_generate_2_2_pikascenes_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/pika/generate/2.2/i2v": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Generate 2 2 I2V */ + post: operations["PikaGenerate_2_2_i2v_generate_2_2_i2v_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/pika/videos/{video_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get Video */ + get: operations["PikaGet_video_videos__video_id__get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/stability/v2beta/stable-image/generate/ultra": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Stable Image Ultra + * @description Our most advanced text to image generation service, Stable Image Ultra creates the highest quality images with unprecedented prompt understanding. Ultra excels in typography, complex compositions, dynamic lighting, vibrant hues, and overall cohesion and structure of an art piece. Made from the most advanced models, including Stable Diffusion 3.5, Ultra offers the best of the Stable Diffusion ecosystem. ### Try it out Grab your [API key](https://platform.stability.ai/account/keys) and head over to [![Open Google Colab](https://platform.stability.ai/svg/google-colab.svg)](https://colab.research.google.com/github/stability-ai/stability-sdk/blob/main/nbs/Stable_Image_API_Public.ipynb#scrollTo=yXhs626oZdr1) ### How to use Please invoke this endpoint with a `POST` request. The headers of the request must include an API key in the `authorization` field. The body of the request must be `multipart/form-data`. The accept header should be set to one of the following: - `image/*` to receive the image in the format specified by the `output_format` parameter. - `application/json` to receive the image in the format specified by the `output_format` parameter, but encoded to base64 in a JSON response. The only required parameter is the `prompt` field, which should contain the text prompt for the image generation. The body of the request should include: - `prompt` - text to generate the image from The body may optionally include: - `image` - the image to use as the starting point for the generation - `strength` - controls how much influence the `image` parameter has on the output image - `aspect_ratio` - the aspect ratio of the output image - `negative_prompt` - keywords of what you **do not** wish to see in the output image - `seed` - the randomness seed to use for the generation - `output_format` - the the format of the output image > **Note:** for the full list of optional parameters, please see the request schema below. ### Output The resolution of the generated image will be 1 megapixel. The default resolution is 1024x1024. ### Credits The Ultra service uses 8 credits per successful result. You will not be charged for failed results. + */ + post: operations["StabilityImageGenrationUltra"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/stability/v2beta/stable-image/generate/sd3": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Stable Diffusion 3.5 + * @description Generate using Stable Diffusion 3.5 models, Stability AI latest base model: + * + * - **Stable Diffusion 3.5 Large**: At 8 billion parameters, with superior quality and + * + * + * + * prompt adherence, this base model is the most powerful in the Stable Diffusion + * family. This model is ideal for professional use cases at 1 megapixel resolution. + * + * - **Stable Diffusion 3.5 Large Turbo**: A distilled version of Stable Diffusion 3.5 Large. + * + * + * + * SD3.5 Large Turbo generates high-quality images with exceptional prompt adherence + * in just 4 steps, making it considerably faster than Stable Diffusion 3.5 Large. + * + * - **Stable Diffusion 3.5 Medium**: With 2.5 billion parameters, the model delivers an + * + * + * + * optimal balance between prompt accuracy and image quality, making it an efficient + * choice for fast high-performance image generation. + * + * Read more about the model capabilities [here](https://stability.ai/news/introducing-stable-diffusion-3-5). + * + * As of April 17, 2025, we have deprecated the Stable Diffusion 3.0 APIs and will be automatically + * re-routing calls to Stable Diffusion 3.0 models to Stable Diffusion 3.5 APIs at no extra cost. + * You can read more in the [release notes](/docs/release-notes#api-deprecation-notice). + * + * ### Try it out + * Grab your [API key](https://platform.stability.ai/account/keys) and head over to [![Open Google Colab](https://platform.stability.ai/svg/google-colab.svg)](https://colab.research.google.com/github/stability-ai/stability-sdk/blob/main/nbs/SD3_API.ipynb) + * + * ### How to use + * Please invoke this endpoint with a `POST` request. + * + * The headers of the request must include an API key in the `authorization` field. The body of the request must be + * `multipart/form-data`. The accept header should be set to one of the following: + * - `image/*` to receive the image in the format specified by the `output_format` parameter. + * - `application/json` to receive the image encoded as base64 in a JSON response. + * + * #### **Generating with a prompt** + * Commonly referred to as **text-to-image**, this mode generates an image from text alone. While the only required + * parameter is the `prompt`, it also supports an `aspect_ratio` parameter which can be used to control the + * aspect ratio of the generated image. + * + * #### **Generating with a prompt *and* an image** + * Commonly referred to as **image-to-image**, this mode also generates an image from text but uses an existing image as the + * starting point. The required parameters are: + * - `prompt` - text to generate the image from + * - `image` - the image to use as the starting point for the generation + * - `strength` - controls how much influence the `image` parameter has on the output image + * - `mode` - must be set to `image-to-image` + * + * > **Note:** maximum request size is 10MiB. + * + * #### **Optional Parameters:** + * Both modes support the following optional parameters: + * - `model` - the model to use (SD3.5 Large, SD3.5 Large Turbo, SD3.5 Medium) + * - `output_format` - the the format of the output image + * - `seed` - the randomness seed to use for the generation + * - `negative_prompt` - keywords of what you **do not** wish to see in the output image + * - `cfg_scale` - controls how strictly the diffusion process adheres to the prompt text + * - `style_preset` - guides the image model towards a particular style + * + * > **Note:** for more details about these parameters please see the request schema below. + * + * ### Output + * The resolution of the generated image will be 1MP. The default resolution is 1024x1024. + * + * ### Credits + * - **SD 3.5 Large**: Flat rate of 6.5 credits per successful generation. + * - **SD 3.5 Large Turbo**: Flat rate of 4 credits per successful generation. + * - **SD 3.5 Medium**: Flat rate of 3.5 credits per successful generation. + * + * As always, you will not be charged for failed generations. + */ + post: operations["StabilityImageGenrationSD3"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/stability/v2beta/stable-image/upscale/conservative": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Conservative + * @description Takes images between 64x64 and 1 megapixel and upscales them all the way to 4K resolution. Put more generally, it can upscale images ~20-40x times while preserving all aspects. Conservative Upscale minimizes alterations to the image and should not be used to reimagine an image. + * + * ### Try it out + * Grab your [API key](https://platform.stability.ai/account/keys) and head over to [![Open Google Colab](https://platform.stability.ai/svg/google-colab.svg)](https://colab.research.google.com/github/stability-ai/stability-sdk/blob/main/nbs/Stable_Image_API_Public.ipynb#scrollTo=t1Q4w2uvvza0) + * + * ### How to use + * + * Please invoke this endpoint with a `POST` request. + * + * The headers of the request must include an API key in the `authorization` field. The body of the request must be + * `multipart/form-data`, and the `accept` header should be set to one of the following: + * + * + * + * - `image/*` to receive the image in the format specified by the `output_format` parameter. + * - `application/json` to receive the image encoded as base64 in a JSON response. + * + * The body of the request must include: + * - `image` + * - `prompt` + * + * Optionally, the body of the request may also include: + * - `negative_prompt` + * - `seed` + * - `output_format` + * - `creativity` + * + * > **Note:** for more details about these parameters please see the request schema below. + * + * ### Output + * The resolution of the generated image will be 4 megapixels. + * + * ### Credits + * Flat rate of 25 credits per successful generation. You will not be charged for failed generations. + */ + post: operations["StabilityImageGenrationUpscaleConservative"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/stability/v2beta/stable-image/upscale/creative": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Creative Upscale (async) + * @description Takes images between 64x64 and 1 megapixel and upscales them all the way to **4K** resolution. Put more + * generally, it can upscale images ~20-40x times while preserving, and often enhancing, quality. + * Creative Upscale **works best on highly degraded images and is not for photos of 1mp or above** as it performs + * heavy reimagining (controlled by creativity scale). + * + * ### Try it out + * Grab your [API key](https://platform.stability.ai/account/keys) and head over to [![Open Google Colab](https://platform.stability.ai/svg/google-colab.svg)](https://colab.research.google.com/github/stability-ai/stability-sdk/blob/main/nbs/Stable_Image_API_Public.ipynb#scrollTo=QXxi9tfI425t) + * + * + * ### How to use + * Please invoke this endpoint with a `POST` request. + * + * The headers of the request must include an API key in the `authorization` field. The body of the request must be + * `multipart/form-data`. + * + * The body of the request should include: + * - `image` + * - `prompt` + * + * The body may optionally include: + * - `seed` + * - `negative_prompt` + * - `output_format` + * - `creativity` + * - `style_preset` + * + * > **Note:** for more details about these parameters please see the request schema below. + * + * ### Results + * After invoking this endpoint with the required parameters, use the `id` in the response to poll for results at the + * [results/{id} endpoint](#tag/Results/paths/~1v2beta~1results~1%7Bid%7D/get). Rate-limiting or other errors may occur if you poll more than once every 10 seconds. + * + * ### Credits + * Flat rate of 25 credits per successful generation. You will not be charged for failed generations. + */ + post: operations["StabilityImageGenrationUpscaleCreative"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/stability/v2beta/stable-image/upscale/fast": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Fast + * @description Our Fast Upscaler service enhances image resolution by 4x using predictive and generative AI. This lightweight and fast service (processing in ~1 second) is ideal for enhancing the quality of compressed images, making it suitable for social media posts and other applications. + * + * ### Try it out + * Grab your [API key](https://platform.stability.ai/account/keys) and head over to [![Open Google Colab](https://platform.stability.ai/svg/google-colab.svg)](https://colab.research.google.com/github/stability-ai/stability-sdk/blob/main/nbs/Stable_Image_API_Public.ipynb#scrollTo=t1Q4w2uvvza0) + * + * ### How to use + * + * Please invoke this endpoint with a `POST` request. + * + * The headers of the request must include an API key in the `authorization` field. The body of the request must be + * `multipart/form-data`, and the `accept` header should be set to one of the following: + * + * + * + * - `image/*` to receive the image in the format specified by the `output_format` parameter. + * - `application/json` to receive the image encoded as base64 in a JSON response. + * + * The body of the request must include: + * - `image` + * + * Optionally, the body of the request may also include: + * - `output_format` + * + * > **Note:** for more details about these parameters please see the request schema below. + * + * ### Output + * The resolution of the generated image is 4 times that of the input image with a maximum size of 16 megapixels. + * + * ### Credits + * Flat rate of 1 credit per successful generation. You will not be charged for failed generations. + */ + post: operations["StabilityImageGenerationUpscaleFast"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/stability/v2beta/results/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get Result + * @description Get the result of a generation + */ + get: operations["StabilityGetResult"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/stability/v2beta/audio/stable-audio-2/text-to-audio": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Proxy request to Stable Audio 2.5 for text-to-audio generation */ + post: operations["stableAudio25TextToAudio"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/stability/v2beta/audio/stable-audio-2/audio-to-audio": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Proxy request to Stable Audio for audio-to-audio transformation */ + post: operations["stableAudio25AudioToAudio"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/stability/v2beta/audio/stable-audio-2/inpaint": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Proxy request to Stable Audio 2.5 for audio inpainting */ + post: operations["stableAudio25Inpaint"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/vertexai/gemini/{model}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Generate content using a specified model. */ + post: operations["GeminiGenerateContent"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/vertexai/imagen/{model}": { + parameters: { + query?: never; + header?: never; + path: { + /** @description image generation model */ + model: "imagen-3.0-generate-002" | "imagen-3.0-generate-001" | "imagen-3.0-fast-generate-001" | "imagegeneration@006" | "imagegeneration@005" | "imagegeneration@002"; + }; + cookie?: never; + }; + get?: never; + put?: never; + /** Generate images from a text prompt */ + post: operations["ImagenGenerateImages"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/tripo/v2/openapi/task/{task_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get Task Status */ + get: operations["tripoGetTask"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/tripo/v2/openapi/upload": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Upload File for 3D Generation */ + post: operations["tripoUploadFile"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/tripo/v2/openapi/task": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Create 3D Generation Task */ + post: operations["tripoCreateTask"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/tripo/v2/openapi/user/balance": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Query Account Balance */ + get: operations["tripoGetBalance"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/rodin/api/v2/rodin": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Create 3D generate Task using Rodin API. */ + post: operations["rodinGenerate3DAsset"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/rodin/api/v2/status": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Check Rodin 3D Generate Status. */ + post: operations["rodinCheckStatus"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/rodin/api/v2/download": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Get rodin 3D Assets download list. */ + post: operations["rodinDownload"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/moonvalley/prompts/{prompt_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get Prompt Details */ + get: operations["MoonvalleyGetPrompt"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/moonvalley/prompts/text-to-video": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Create Text to Video Prompt */ + post: operations["MoonvalleyTextToVideo"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/moonvalley/prompts/text-to-image": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Create Text to Image Prompt */ + post: operations["MoonvalleyTextToImage"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/moonvalley/prompts/image-to-video": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Create Image to Video Prompt */ + post: operations["MoonvalleyImageToVideo"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/moonvalley/prompts/video-to-video": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Create Video to Video Prompt */ + post: operations["MoonvalleyVideoToVideo"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/moonvalley/prompts/video-to-video/resize": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Resize a video */ + post: operations["MoonvalleyVideoToVideoResize"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/moonvalley/uploads": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Upload Files */ + post: operations["MoonvalleyUpload"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/vidu/img2video": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: operations["ViduImg2Video"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/vidu/reference2video": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: operations["ViduReference2Video"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/vidu/start-end2video": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: operations["ViduStartEnd2Video"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/vidu/text2video": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: operations["ViduText2Video"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/vidu/tasks/{id}/creations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: operations["ViduGetCreations"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/byteplus/api/v3/images/generations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: operations["byteplusImageGeneration"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/byteplus/api/v3/contents/generations/tasks": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: operations["byteplusVideoGeneration"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/byteplus/api/v3/contents/generations/tasks/{task_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: operations["byteplusVideoGenerationQuery"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/wan/api/v1/services/aigc/video-generation/video-synthesis": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: operations["wanVideoGeneration"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/wan/api/v1/services/aigc/text2image/image-synthesis": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: operations["wanImageGeneration"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/wan/api/v1/services/aigc/image2image/image-synthesis": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: operations["wanImage2ImageGeneration"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/proxy/wan/api/v1/tasks/{task_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: operations["wanTaskQueryProxy"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; +} +export type webhooks = Record; +export interface components { + schemas: { + ClaimMyNodeRequest: { + /** @description GitHub token to verify if the user owns the repo of the node */ + GH_TOKEN: string; + }; + BulkNodeVersionsRequest: { + /** @description List of node ID and version pairs to retrieve */ + node_versions: components["schemas"]["NodeVersionIdentifier"][]; + }; + NodeVersionIdentifier: { + /** @description The unique identifier of the node */ + node_id: string; + /** @description The version of the node */ + version: string; + }; + BulkNodeVersionsResponse: { + /** @description List of retrieved node versions with their status */ + node_versions: components["schemas"]["BulkNodeVersionResult"][]; + }; + BulkNodeVersionResult: { + /** @description The node and version identifier */ + identifier: components["schemas"]["NodeVersionIdentifier"]; + /** + * @description Status of the retrieval operation + * @enum {string} + */ + status: "success" | "not_found" | "error"; + /** @description The retrieved node version data (only present if status is success) */ + node_version?: components["schemas"]["NodeVersion"]; + /** @description Error message if retrieval failed (only present if status is error) */ + error_message?: string; + }; + PersonalAccessToken: { + /** + * Format: uuid + * @description Unique identifier for the GitCommit + */ + id?: string; + /** @description Required. The name of the token. Can be a simple description. */ + name?: string; + /** @description Optional. A more detailed description of the token's intended use. */ + description?: string; + /** + * Format: date-time + * @description [Output Only]The date and time the token was created. + */ + createdAt?: string; + /** @description [Output Only]. The personal access token. Only returned during creation. */ + token?: string; + }; + GitCommit: { + /** + * Format: uuid + * @description Unique identifier for the GitCommit + */ + id?: string; + /** @description The hash of the commit */ + commit_hash?: string; + /** @description The name of the commit */ + commit_name?: string; + /** @description The branch where the commit was made */ + branch_name?: string; + /** @description The author of the commit */ + author?: string; + /** + * Format: date-time + * @description The timestamp when the commit was made + */ + timestamp?: string; + }; + GitCommitSummary: { + /** @description The hash of the commit */ + commit_hash?: string; + /** @description The name of the commit */ + commit_name?: string; + /** @description The branch where the commit was made */ + branch_name?: string; + /** @description The author of the commit */ + author?: string; + /** + * Format: date-time + * @description The timestamp when the commit was made + */ + timestamp?: string; + /** @description A map of operating system to status pairs */ + status_summary?: { + [key: string]: string; + }; + }; + User: { + /** @description The unique id for this user. */ + id?: string; + /** @description The email address for this user. */ + email?: string; + /** @description The name for this user. */ + name?: string; + /** @description Indicates if the user is approved. */ + isApproved?: boolean; + /** @description Indicates if the user has admin privileges. */ + isAdmin?: boolean; + }; + PublisherUser: { + /** @description The unique id for this user. */ + id?: string; + /** @description The email address for this user. */ + email?: string; + /** @description The name for this user. */ + name?: string; + }; + ErrorResponse: { + error: string; + message: string; + }; + RunwayTextToImageRequest: { + /** @description Text prompt for the image generation */ + promptText: string; + /** + * @description Model to use for generation + * @enum {string} + */ + model: "gen4_image"; + /** @description The resolution (aspect ratio) of the output image */ + ratio: components["schemas"]["RunwayTextToImageAspectRatioEnum"]; + /** @description Array of reference images to guide the generation */ + referenceImages?: { + /** @description A HTTPS URL or data URI containing an encoded image */ + uri?: string; + }[]; + }; + ActionJobResult: { + /** + * Format: uuid + * @description Unique identifier for the job result + */ + id?: string; + /** @description Name of the workflow */ + workflow_name?: string; + /** @description Operating system used */ + operating_system?: string; + /** @description PyTorch version used */ + python_version?: string; + /** @description PyTorch version used */ + pytorch_version?: string; + /** @description Identifier of the run this result belongs to */ + action_run_id?: string; + /** @description Identifier of the job this result belongs to */ + action_job_id?: string; + /** @description CUDA version used */ + cuda_version?: string; + /** @description Name of the relevant git branch */ + branch_name?: string; + /** @description The hash of the commit */ + commit_hash?: string; + /** @description The ID of the commit */ + commit_id?: string; + /** + * Format: int64 + * @description The Unix timestamp when the commit was made + */ + commit_time?: number; + /** @description The message of the commit */ + commit_message?: string; + /** @description The comfy run flags. E.g. `--low-vram` */ + comfy_run_flags?: string; + /** @description The repository name */ + git_repo?: string; + /** @description The pull request number */ + pr_number?: string; /** * Format: int64 * @description The start time of the job as a Unix timestamp. */ - start_time: number + start_time?: number; /** * Format: int64 * @description The end time of the job as a Unix timestamp. */ - end_time: number - /** @description The average amount of VRAM used in the run. */ - avg_vram?: number - /** @description The peak amount of VRAM used in the run. */ - peak_vram?: number - /** @description The pull request number */ - pr_number: string + end_time?: number; + /** @description The average VRAM used by the job */ + avg_vram?: number; + /** @description The peak VRAM used by the job */ + peak_vram?: number; + /** @description The user who triggered the job. */ + job_trigger_user?: string; /** @description The author of the commit */ - author: string - /** @description The user who triggered the job */ - job_trigger_user: string - /** @description The python version used in the run */ - python_version: string - /** @description The pytorch version used in the run */ - pytorch_version?: string - machine_stats?: components['schemas']['MachineStats'] - status: components['schemas']['WorkflowRunStatus'] - } - } - } - responses: { - /** @description Successfully received the artifact details */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': { - message?: string - } - } - } - /** @description Invalid request */ - 400: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content?: never - } - } - } - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/gitcommit': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** - * Retrieve CI data for a given commit - * @description Returns all runs, jobs, job results, and storage files associated with a given commit. - */ - get: { - parameters: { - query?: { - /** @description The ID of the commit to fetch data for. */ - commitId?: string - /** @description The operating system to filter the CI data by. */ - operatingSystem?: string - /** @description The name of the workflow to filter the CI data by. */ - workflowName?: string - /** @description The branch of the gitcommit to filter the CI data by. */ - branch?: string - /** @description The page number to retrieve. */ - page?: number - /** @description The number of items to include per page. */ - pageSize?: number - /** @description The repo to filter by. */ - repoName?: string - } - header?: never - path?: never - cookie?: never - } - requestBody?: never - responses: { - /** @description An object containing runs, jobs, job results, and storage files */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': { - jobResults?: components['schemas']['ActionJobResult'][] - totalNumberOfPages?: number - } - } - } - /** @description Commit not found */ - 404: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content?: never - } - } - } - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/gitcommitsummary': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** - * Retrieve a summary of git commits - * @description Returns a summary of git commits, including status, start time, and end time. - */ - get: { - parameters: { - query?: { - /** @description The repository name to filter the git commits by. */ - repoName?: string - /** @description The branch name to filter the git commits by. */ - branchName?: string - /** @description The page number to retrieve. */ - page?: number - /** @description The number of items to include per page. */ - pageSize?: number - } - header?: never - path?: never - cookie?: never - } - requestBody?: never - responses: { - /** @description Successfully retrieved git commit summaries */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': { - commitSummaries?: components['schemas']['GitCommitSummary'][] - totalNumberOfPages?: number - } - } - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': { - message?: string - } - } - } - } - } - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/workflowresult/{workflowResultId}': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** Retrieve a specific commit by ID */ - get: operations['getWorkflowResult'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/branch': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** - * Retrieve all distinct branches for a given repo - * @description Returns all branches for a given repo. - */ - get: { - parameters: { - query: { - /** @description The repo to filter by. */ - repo_name: string - } - header?: never - path?: never - cookie?: never - } - requestBody?: never - responses: { - /** @description An array of branches */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': { - branches?: string[] - } - } - } - /** @description Repo not found */ - 404: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content?: never - } - } - } - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/users/publishers/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** Retrieve all publishers for a given user */ - get: operations['listPublishersForUser'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/publishers/{publisherId}/permissions': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** Retrieve permissions the user has for a given publisher */ - get: operations['getPermissionOnPublisher'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/publishers/validate': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** - * Validate if a publisher username is available - * @description Checks if the publisher username is already taken. - */ - get: operations['validatePublisher'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/publishers': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** Retrieve all publishers */ - get: operations['listPublishers'] - put?: never - /** Create a new publisher */ - post: operations['createPublisher'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/publishers/{publisherId}': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** Retrieve a publisher by ID */ - get: operations['getPublisher'] - /** Update a publisher */ - put: operations['updatePublisher'] - post?: never - /** Delete a publisher */ - delete: operations['deletePublisher'] - options?: never - head?: never - patch?: never - trace?: never - } - '/publishers/{publisherId}/ban': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** Ban a publisher */ - post: operations['BanPublisher'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/publishers/{publisherId}/nodes/{nodeId}/claim-my-node': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** - * Claim nodeId into publisherId for the authenticated publisher - * @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. - * - */ - post: operations['claimMyNode'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/publishers/{publisherId}/nodes/v2': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** Retrieve all nodes */ - get: operations['listNodesForPublisherV2'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/publishers/{publisherId}/nodes': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** Retrieve all nodes */ - get: operations['listNodesForPublisher'] - put?: never - /** Create a new custom node */ - post: operations['createNode'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/publishers/{publisherId}/nodes/{nodeId}': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - /** Update a specific node */ - put: operations['updateNode'] - post?: never - /** Delete a specific node */ - delete: operations['deleteNode'] - options?: never - head?: never - patch?: never - trace?: never - } - '/publishers/{publisherId}/nodes/{nodeId}/permissions': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** Retrieve permissions the user has for a given publisher */ - get: operations['getPermissionOnPublisherNodes'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/publishers/{publisherId}/nodes/{nodeId}/versions': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** Publish a new version of a node */ - post: operations['publishNodeVersion'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/publishers/{publisherId}/nodes/{nodeId}/versions/{versionId}': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - /** - * Update changelog and deprecation status of a node version - * @description Update only the changelog and deprecated status of a specific version of a node. - */ - put: operations['updateNodeVersion'] - post?: never - /** Unpublish (delete) a specific version of a node */ - delete: operations['deleteNodeVersion'] - options?: never - head?: never - patch?: never - trace?: never - } - '/publishers/{publisherId}/nodes/{nodeId}/ban': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** Ban a publisher's Node */ - post: operations['BanPublisherNode'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/publishers/{publisherId}/tokens': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** Retrieve all personal access tokens for a publisher */ - get: operations['listPersonalAccessTokens'] - put?: never - /** Create a new personal access token */ - post: operations['createPersonalAccessToken'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/publishers/{publisherId}/tokens/{tokenId}': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - post?: never - /** Delete a specific personal access token */ - delete: operations['deletePersonalAccessToken'] - options?: never - head?: never - patch?: never - trace?: never - } - '/nodes/search': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** - * Retrieves a list of nodes - * @description Returns a paginated list of nodes across all publishers. - */ - get: operations['searchNodes'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/nodes/reindex': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** Reindex all nodes for searching. */ - post: operations['reindexNodes'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/nodes/update-github-stars': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** Update GitHub stars for nodes */ - post: operations['updateGithubStars'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/nodes': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** - * Retrieves a list of nodes - * @description Returns a paginated list of nodes across all publishers. - */ - get: operations['listAllNodes'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/comfy-nodes/{comfyNodeName}/node': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** - * Retrieve a node by ComfyUI node name - * @description Returns the node that contains a ComfyUI node with the specified name - */ - get: operations['getNodeByComfyNodeName'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/nodes/{nodeId}': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** - * Retrieve a specific node by ID - * @description Returns the details of a specific node. - */ - get: operations['getNode'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/nodes/{nodeId}/reviews': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** Add review to a specific version of a node */ - post: operations['postNodeReview'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/nodes/{nodeId}/install': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** - * Returns a node version to be installed. - * @description Retrieves the node data for installation, either the latest or a specific version. - */ - get: operations['installNode'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/nodes/{nodeId}/translations': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** Create Node Translations */ - post: operations['CreateNodeTranslations'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/nodes/{nodeId}/versions': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** List all versions of a node */ - get: operations['listNodeVersions'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/nodes/{nodeId}/versions/{versionId}': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** Retrieve a specific version of a node */ - get: operations['getNodeVersion'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/bulk/nodes/versions': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** Retrieve multiple node versions in a single request */ - post: operations['getBulkNodeVersions'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/versions': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** List all node versions given some filters. */ - get: operations['listAllNodeVersions'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/admin/nodes': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** Create a new custom node using admin privilege */ - post: operations['adminCreateNode'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/admin/nodes/{nodeId}': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - /** - * Admin Update Node - * @description Only admins can update a node with admin privileges. - */ - put: operations['adminUpdateNode'] - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/admin/nodes/{nodeId}/versions/{versionNumber}': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - /** - * Admin Update Node Version Status - * @description Only admins can approve a node version. - */ - put: operations['adminUpdateNodeVersion'] - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/releases': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** - * Get release notes - * @description Fetch release notes from Strapi with caching - */ - get: operations['getReleaseNotes'] - put?: never - /** - * Process Github release webhook - * @description Webhook endpoint to process Github release events and generate release notes - */ - post: operations['processReleaseWebhook'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/security-scan': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** - * Security Scan - * @description Pull all pending node versions and conduct security scans. - */ - get: operations['securityScan'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/nodes/{nodeId}/versions/{version}/comfy-nodes': { - parameters: { - query?: never - header?: never - path: { - nodeId: string - version: string - } - cookie?: never - } - /** list comfy-nodes for certain node */ - get: operations['ListComfyNodes'] - put?: never - /** create comfy-nodes for certain node */ - post: operations['CreateComfyNodes'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/nodes/{nodeId}/versions/{version}/comfy-nodes/{comfyNodeName}': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** get specify comfy-node based on its id */ - get: operations['GetComfyNode'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/comfy-nodes/backfill': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** trigger comfy nodes backfill */ - post: operations['ComfyNodesBackfill'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/dummy': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** - * Dummy proxy - * @description Dummy proxy endpoint that returns a simple string - */ - post: operations['dummyProxy'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/minimax/video_generation': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** - * Proxy request to Minimax for video generation - * @description Forwards video generation requests to Minimax's API and returns the task ID for asynchronous processing. - */ - post: operations['minimaxVideoGeneration'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/minimax/query/video_generation': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** - * Query status of a Minimax video generation task - * @description Proxies a request to Minimax to check the status of a video generation task - */ - get: operations['getMinimaxVideoGeneration'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/minimax/files/retrieve': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** - * Retrieve download URL for a Minimax file - * @description Proxies a request to Minimax to get the download URL for a file - */ - post: operations['retrieveMinimaxFile'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/ideogram/generate': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** - * Proxy request to Ideogram for image generation - * @description Forwards image generation requests to Ideogram's API and returns the results. - */ - post: operations['ideogramGenerate'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/ideogram/ideogram-v3/generate': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** - * Proxy request to Ideogram for image generation - * @description Forwards image generation requests to Ideogram's API and returns the results. - */ - post: operations['ideogramV3Generate'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/ideogram/ideogram-v3/edit': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** - * Proxy request to Ideogram for image editing - * @description Forwards image editing requests to Ideogram's API and returns the results. - */ - post: operations['ideogramV3Edit'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/ideogram/ideogram-v3/remix': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** Remix an image using a prompt */ - post: operations['ideogramV3Remix'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/ideogram/ideogram-v3/reframe': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** Reframe an image to a chosen resolution */ - post: operations['ideogramV3Reframe'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/ideogram/ideogram-v3/replace-background': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** Replace background of an image using a prompt */ - post: operations['ideogramV3ReplaceBackground'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/kling/v1/account/costs': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** KlingAI Query Resource Package Information */ - get: operations['klingQueryResourcePackages'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/kling/v1/videos/text2video': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** KlingAI Query Task List */ - get: operations['klingText2VideoQueryTaskList'] - put?: never - /** KlingAI Create Video from Text */ - post: operations['klingCreateVideoFromText'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/kling/v1/videos/text2video/{id}': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** KlingAI Query Single Task */ - get: operations['klingText2VideoQuerySingleTask'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/kling/v1/videos/image2video': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** KlingAI Query Image2Video Task List */ - get: operations['klingImage2VideoQueryTaskList'] - put?: never - /** KlingAI Create Video from Image */ - post: operations['klingCreateVideoFromImage'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/kling/v1/videos/image2video/{id}': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** KlingAI Query Single Image2Video Task */ - get: operations['klingImage2VideoQuerySingleTask'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/kling/v1/videos/video-extend': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** KlingAI Query Video-Extend Task List */ - get: operations['klingVideoExtendQueryTaskList'] - put?: never - /** KlingAI Extend Video Duration */ - post: operations['klingExtendVideo'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/kling/v1/videos/video-extend/{id}': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** KlingAI Query Single Video-Extend Task */ - get: operations['klingVideoExtendQuerySingleTask'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/kling/v1/videos/lip-sync': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** KlingAI Query Lip-Sync Task List */ - get: operations['klingLipSyncQueryTaskList'] - put?: never - /** KlingAI Create Lip-Sync Video */ - post: operations['klingCreateLipSyncVideo'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/kling/v1/videos/lip-sync/{id}': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** KlingAI Query Single Lip-Sync Task */ - get: operations['klingLipSyncQuerySingleTask'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/kling/v1/videos/effects': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** KlingAI Query Video Effects Task List */ - get: operations['klingVideoEffectsQueryTaskList'] - put?: never - /** KlingAI Create Video Effects Task */ - post: operations['klingCreateVideoEffects'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/kling/v1/videos/effects/{id}': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** KlingAI Query Single Video Effects Task */ - get: operations['klingVideoEffectsQuerySingleTask'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/kling/v1/images/generations': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** KlingAI Query Image Generation Task List */ - get: operations['klingImageGenerationsQueryTaskList'] - put?: never - /** KlingAI Create Image Generation Task */ - post: operations['klingCreateImageGeneration'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/kling/v1/images/generations/{id}': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** KlingAI Query Single Image Generation Task */ - get: operations['klingImageGenerationsQuerySingleTask'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/kling/v1/images/kolors-virtual-try-on': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** KlingAI Query Virtual Try-On Task List */ - get: operations['klingVirtualTryOnQueryTaskList'] - put?: never - /** KlingAI Create Virtual Try-On Task */ - post: operations['klingCreateVirtualTryOn'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/kling/v1/images/kolors-virtual-try-on/{id}': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** KlingAI Query Single Virtual Try-On Task */ - get: operations['klingVirtualTryOnQuerySingleTask'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/bfl/flux-kontext-pro/generate': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** - * Proxy request to BFL Flux Kontext Pro for image editing - * @description Forwards image editing requests to BFL's Flux Kontext Pro API and returns the results. - */ - post: operations['bflFluxKontextProGenerate'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/bfl/flux-kontext-max/generate': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** - * Proxy request to BFL Flux Kontext Max for image editing - * @description Forwards image editing requests to BFL's Flux Kontext Max API and returns the results. - */ - post: operations['bflFluxKontextMaxGenerate'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/bfl/flux-pro-1.1/generate': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** - * Proxy request to BFL Flux Pro 1.1 for image generation - * @description Forwards image generation requests to BFL's Flux Pro 1.1 API and returns the results. - */ - post: operations['bflFluxPro1_1Generate'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/bfl/flux-pro-1.1-ultra/generate': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** - * Proxy request to BFL Flux Pro 1.1 Ultra for image generation - * @description Forwards image generation requests to BFL's Flux Pro 1.1 Ultra API and returns the results. - */ - post: operations['bflFluxProGenerate'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/bfl/flux-pro-1.0-expand/generate': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** - * Expand an image by adding pixels on any side. - * @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. - */ - post: operations['BFLExpand_v1_flux_pro_1_0_expand_post'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/bfl/flux-pro-1.0-fill/generate': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** - * Generate an image with FLUX.1 Fill [pro] using an input image and mask. - * @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. - */ - post: operations['BFLFill_v1_flux_pro_1_0_fill_post'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/bfl/flux-pro-1.0-canny/generate': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** - * Generate an image with FLUX.1 Canny [pro] using a control image. - * @description Submits an image generation task with FLUX.1 Canny [pro]. - */ - post: operations['BFLPro_canny_v1_flux_pro_1_0_canny_post'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/bfl/flux-pro-1.0-depth/generate': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** - * Generate an image with FLUX.1 Depth [pro] using a control image. - * @description Submits an image generation task with FLUX.1 Depth [pro]. - */ - post: operations['BFLPro_depth_v1_flux_pro_1_0_depth_post'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/luma/generations': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** - * Create a generation - * @description Initiate a new generation with the provided prompt - */ - post: operations['lumaCreateGeneration'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/luma/generations/{id}': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** - * Get a generation - * @description Retrieve details of a specific generation by its ID - */ - get: operations['lumaGetGeneration'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/luma/generations/image': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** - * Generate an image - * @description Generate an image with the provided prompt - */ - post: operations['lumaGenerateImage'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/pixverse/video/text/generate': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** Generate video from text prompt. */ - post: operations['PixverseGenerateTextVideo'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/pixverse/video/img/generate': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** Generate video from image. */ - post: operations['PixverseGenerateImageVideo'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/pixverse/video/transition/generate': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** Generate transition video between two images. */ - post: operations['PixverseGenerateTransitionVideo'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/pixverse/image/upload': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** Upload an image to the server. */ - post: operations['PixverseUploadImage'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/pixverse/video/result/{id}': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** Get the result of a video generation. */ - get: operations['PixverseGetVideoResult'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/webhook/metronome/zero-balance': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** receive alert on remaining balance is 0 */ - post: operations['metronomeZeroBalance'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/webhook/stripe/invoice-status': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** Handle Stripe checkout.session.completed webhook event */ - post: operations['StripeInvoiceStatus'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/recraft/image_generation': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** - * Proxy request to Recraft for image generation - * @description Forwards image generation requests to Recraft's API and returns the generated images. - */ - post: operations['recraftImageGeneration'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/recraft/images/vectorize': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** Vectorize an image */ - post: operations['recraftVectorize'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/recraft/images/crispUpscale': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** Upscale an image */ - post: operations['recraftCrispUpscale'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/recraft/images/removeBackground': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** Remove background from an image */ - post: operations['recraftRemoveBackground'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/recraft/images/imageToImage': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** Generate image from image and prompt */ - post: operations['RecraftImageToImage'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/recraft/images/inpaint': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** Inpaint Image */ - post: operations['RecraftInpaintImage'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/recraft/images/replaceBackground': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** Replace Background */ - post: operations['RecraftReplaceBackground'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/recraft/images/creativeUpscale': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** Creative Upscale */ - post: operations['RecraftCreativeUpscale'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/runway/image_to_video': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** - * Runway Image to Video Generation - * @description Converts an image to a video using Runway's API - */ - post: operations['runwayImageToVideo'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/runway/tasks/{task_id}': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** - * Get Runway Task Status - * @description Get the status and output of a Runway task - */ - get: operations['runwayGetTaskStatus'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/runway/text_to_image': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** - * Runway Text to Image Generation - * @description Generates an image from text using Runway's API - */ - post: operations['runwayTextToImage'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/veo/generate': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** Generate a video from a text prompt and optional image. Deprecated. Use /proxy/veo/{modelId}/generate instead. */ - post: operations['veoGenerate'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/veo/poll': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** Poll the status of a Veo prediction operation. Deprecated. Use /proxy/veo/{modelId}/generate instead. */ - post: operations['veoPoll'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/veo/{modelId}/generate': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** Generate a video from a text prompt and optional image */ - post: operations['veoGenerateNew'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/veo/{modelId}/poll': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** Poll the status of a Veo prediction operation */ - post: operations['veoPollNew'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/openai/v1/responses': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - post: operations['createOpenAIResponse'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/openai/v1/responses/{id}': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** Retrieves a model response with the given ID. - * */ - get: operations['getOpenAIResponse'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/openai/images/generations': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** Generate an image using OpenAI's models */ - post: operations['openAIGenerateImage'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/openai/images/edits': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** Edit an image using OpenAI's DALL-E model */ - post: operations['openAIEditImage'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/pika/generate/pikadditions': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** Generate Pikadditions */ - post: operations['PikaGenerate_pikadditions_generate_pikadditions_post'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/pika/generate/pikaswaps': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** - * Generate Pikaswaps - * @description Exactly one of `modifyRegionMask` and `modifyRegionRoi` must be provided. - */ - post: operations['PikaGenerate_pikaswaps_generate_pikaswaps_post'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/pika/generate/pikaffects': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** - * Generate Pikaffects - * @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 - */ - post: operations['PikaGenerate_pikaffects_generate_pikaffects_post'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/pika/generate/2.2/t2v': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** Generate 2 2 T2V */ - post: operations['PikaGenerate_2_2_t2v_generate_2_2_t2v_post'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/pika/generate/2.2/pikaframes': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** Generate 2 2 Keyframe */ - post: operations['PikaGenerate_2_2_keyframe_generate_2_2_pikaframes_post'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/pika/generate/2.2/pikascenes': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** Generate 2 2 C2V */ - post: operations['PikaGenerate_2_2_c2v_generate_2_2_pikascenes_post'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/pika/generate/2.2/i2v': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** Generate 2 2 I2V */ - post: operations['PikaGenerate_2_2_i2v_generate_2_2_i2v_post'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/pika/videos/{video_id}': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** Get Video */ - get: operations['PikaGet_video_videos__video_id__get'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/stability/v2beta/stable-image/generate/ultra': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** - * Stable Image Ultra - * @description Our most advanced text to image generation service, Stable Image Ultra creates the highest quality images with unprecedented prompt understanding. Ultra excels in typography, complex compositions, dynamic lighting, vibrant hues, and overall cohesion and structure of an art piece. Made from the most advanced models, including Stable Diffusion 3.5, Ultra offers the best of the Stable Diffusion ecosystem. ### Try it out Grab your [API key](https://platform.stability.ai/account/keys) and head over to [![Open Google Colab](https://platform.stability.ai/svg/google-colab.svg)](https://colab.research.google.com/github/stability-ai/stability-sdk/blob/main/nbs/Stable_Image_API_Public.ipynb#scrollTo=yXhs626oZdr1) ### How to use Please invoke this endpoint with a `POST` request. The headers of the request must include an API key in the `authorization` field. The body of the request must be `multipart/form-data`. The accept header should be set to one of the following: - `image/*` to receive the image in the format specified by the `output_format` parameter. - `application/json` to receive the image in the format specified by the `output_format` parameter, but encoded to base64 in a JSON response. The only required parameter is the `prompt` field, which should contain the text prompt for the image generation. The body of the request should include: - `prompt` - text to generate the image from The body may optionally include: - `image` - the image to use as the starting point for the generation - `strength` - controls how much influence the `image` parameter has on the output image - `aspect_ratio` - the aspect ratio of the output image - `negative_prompt` - keywords of what you **do not** wish to see in the output image - `seed` - the randomness seed to use for the generation - `output_format` - the the format of the output image > **Note:** for the full list of optional parameters, please see the request schema below. ### Output The resolution of the generated image will be 1 megapixel. The default resolution is 1024x1024. ### Credits The Ultra service uses 8 credits per successful result. You will not be charged for failed results. - */ - post: operations['StabilityImageGenrationUltra'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/stability/v2beta/stable-image/generate/sd3': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** - * Stable Diffusion 3.5 - * @description Generate using Stable Diffusion 3.5 models, Stability AI latest base model: - * - * - **Stable Diffusion 3.5 Large**: At 8 billion parameters, with superior quality and - * - * - * - * prompt adherence, this base model is the most powerful in the Stable Diffusion - * family. This model is ideal for professional use cases at 1 megapixel resolution. - * - * - **Stable Diffusion 3.5 Large Turbo**: A distilled version of Stable Diffusion 3.5 Large. - * - * - * - * SD3.5 Large Turbo generates high-quality images with exceptional prompt adherence - * in just 4 steps, making it considerably faster than Stable Diffusion 3.5 Large. - * - * - **Stable Diffusion 3.5 Medium**: With 2.5 billion parameters, the model delivers an - * - * - * - * optimal balance between prompt accuracy and image quality, making it an efficient - * choice for fast high-performance image generation. - * - * Read more about the model capabilities [here](https://stability.ai/news/introducing-stable-diffusion-3-5). - * - * As of April 17, 2025, we have deprecated the Stable Diffusion 3.0 APIs and will be automatically - * re-routing calls to Stable Diffusion 3.0 models to Stable Diffusion 3.5 APIs at no extra cost. - * You can read more in the [release notes](/docs/release-notes#api-deprecation-notice). - * - * ### Try it out - * Grab your [API key](https://platform.stability.ai/account/keys) and head over to [![Open Google Colab](https://platform.stability.ai/svg/google-colab.svg)](https://colab.research.google.com/github/stability-ai/stability-sdk/blob/main/nbs/SD3_API.ipynb) - * - * ### How to use - * Please invoke this endpoint with a `POST` request. - * - * The headers of the request must include an API key in the `authorization` field. The body of the request must be - * `multipart/form-data`. The accept header should be set to one of the following: - * - `image/*` to receive the image in the format specified by the `output_format` parameter. - * - `application/json` to receive the image encoded as base64 in a JSON response. - * - * #### **Generating with a prompt** - * Commonly referred to as **text-to-image**, this mode generates an image from text alone. While the only required - * parameter is the `prompt`, it also supports an `aspect_ratio` parameter which can be used to control the - * aspect ratio of the generated image. - * - * #### **Generating with a prompt *and* an image** - * Commonly referred to as **image-to-image**, this mode also generates an image from text but uses an existing image as the - * starting point. The required parameters are: - * - `prompt` - text to generate the image from - * - `image` - the image to use as the starting point for the generation - * - `strength` - controls how much influence the `image` parameter has on the output image - * - `mode` - must be set to `image-to-image` - * - * > **Note:** maximum request size is 10MiB. - * - * #### **Optional Parameters:** - * Both modes support the following optional parameters: - * - `model` - the model to use (SD3.5 Large, SD3.5 Large Turbo, SD3.5 Medium) - * - `output_format` - the the format of the output image - * - `seed` - the randomness seed to use for the generation - * - `negative_prompt` - keywords of what you **do not** wish to see in the output image - * - `cfg_scale` - controls how strictly the diffusion process adheres to the prompt text - * - `style_preset` - guides the image model towards a particular style - * - * > **Note:** for more details about these parameters please see the request schema below. - * - * ### Output - * The resolution of the generated image will be 1MP. The default resolution is 1024x1024. - * - * ### Credits - * - **SD 3.5 Large**: Flat rate of 6.5 credits per successful generation. - * - **SD 3.5 Large Turbo**: Flat rate of 4 credits per successful generation. - * - **SD 3.5 Medium**: Flat rate of 3.5 credits per successful generation. - * - * As always, you will not be charged for failed generations. - */ - post: operations['StabilityImageGenrationSD3'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/stability/v2beta/stable-image/upscale/conservative': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** - * Conservative - * @description Takes images between 64x64 and 1 megapixel and upscales them all the way to 4K resolution. Put more generally, it can upscale images ~20-40x times while preserving all aspects. Conservative Upscale minimizes alterations to the image and should not be used to reimagine an image. - * - * ### Try it out - * Grab your [API key](https://platform.stability.ai/account/keys) and head over to [![Open Google Colab](https://platform.stability.ai/svg/google-colab.svg)](https://colab.research.google.com/github/stability-ai/stability-sdk/blob/main/nbs/Stable_Image_API_Public.ipynb#scrollTo=t1Q4w2uvvza0) - * - * ### How to use - * - * Please invoke this endpoint with a `POST` request. - * - * The headers of the request must include an API key in the `authorization` field. The body of the request must be - * `multipart/form-data`, and the `accept` header should be set to one of the following: - * - * - * - * - `image/*` to receive the image in the format specified by the `output_format` parameter. - * - `application/json` to receive the image encoded as base64 in a JSON response. - * - * The body of the request must include: - * - `image` - * - `prompt` - * - * Optionally, the body of the request may also include: - * - `negative_prompt` - * - `seed` - * - `output_format` - * - `creativity` - * - * > **Note:** for more details about these parameters please see the request schema below. - * - * ### Output - * The resolution of the generated image will be 4 megapixels. - * - * ### Credits - * Flat rate of 25 credits per successful generation. You will not be charged for failed generations. - */ - post: operations['StabilityImageGenrationUpscaleConservative'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/stability/v2beta/stable-image/upscale/creative': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** - * Creative Upscale (async) - * @description Takes images between 64x64 and 1 megapixel and upscales them all the way to **4K** resolution. Put more - * generally, it can upscale images ~20-40x times while preserving, and often enhancing, quality. - * Creative Upscale **works best on highly degraded images and is not for photos of 1mp or above** as it performs - * heavy reimagining (controlled by creativity scale). - * - * ### Try it out - * Grab your [API key](https://platform.stability.ai/account/keys) and head over to [![Open Google Colab](https://platform.stability.ai/svg/google-colab.svg)](https://colab.research.google.com/github/stability-ai/stability-sdk/blob/main/nbs/Stable_Image_API_Public.ipynb#scrollTo=QXxi9tfI425t) - * - * - * ### How to use - * Please invoke this endpoint with a `POST` request. - * - * The headers of the request must include an API key in the `authorization` field. The body of the request must be - * `multipart/form-data`. - * - * The body of the request should include: - * - `image` - * - `prompt` - * - * The body may optionally include: - * - `seed` - * - `negative_prompt` - * - `output_format` - * - `creativity` - * - `style_preset` - * - * > **Note:** for more details about these parameters please see the request schema below. - * - * ### Results - * After invoking this endpoint with the required parameters, use the `id` in the response to poll for results at the - * [results/{id} endpoint](#tag/Results/paths/~1v2beta~1results~1%7Bid%7D/get). Rate-limiting or other errors may occur if you poll more than once every 10 seconds. - * - * ### Credits - * Flat rate of 25 credits per successful generation. You will not be charged for failed generations. - */ - post: operations['StabilityImageGenrationUpscaleCreative'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/stability/v2beta/stable-image/upscale/fast': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** - * Fast - * @description Our Fast Upscaler service enhances image resolution by 4x using predictive and generative AI. This lightweight and fast service (processing in ~1 second) is ideal for enhancing the quality of compressed images, making it suitable for social media posts and other applications. - * - * ### Try it out - * Grab your [API key](https://platform.stability.ai/account/keys) and head over to [![Open Google Colab](https://platform.stability.ai/svg/google-colab.svg)](https://colab.research.google.com/github/stability-ai/stability-sdk/blob/main/nbs/Stable_Image_API_Public.ipynb#scrollTo=t1Q4w2uvvza0) - * - * ### How to use - * - * Please invoke this endpoint with a `POST` request. - * - * The headers of the request must include an API key in the `authorization` field. The body of the request must be - * `multipart/form-data`, and the `accept` header should be set to one of the following: - * - * - * - * - `image/*` to receive the image in the format specified by the `output_format` parameter. - * - `application/json` to receive the image encoded as base64 in a JSON response. - * - * The body of the request must include: - * - `image` - * - * Optionally, the body of the request may also include: - * - `output_format` - * - * > **Note:** for more details about these parameters please see the request schema below. - * - * ### Output - * The resolution of the generated image is 4 times that of the input image with a maximum size of 16 megapixels. - * - * ### Credits - * Flat rate of 1 credit per successful generation. You will not be charged for failed generations. - */ - post: operations['StabilityImageGenerationUpscaleFast'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/stability/v2beta/results/{id}': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** - * Get Result - * @description Get the result of a generation - */ - get: operations['StabilityGetResult'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/vertexai/gemini/{model}': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** Generate content using a specified model. */ - post: operations['GeminiGenerateContent'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/vertexai/imagen/{model}': { - parameters: { - query?: never - header?: never - path: { - /** @description image generation model */ - model: - | 'imagen-3.0-generate-002' - | 'imagen-3.0-generate-001' - | 'imagen-3.0-fast-generate-001' - | 'imagegeneration@006' - | 'imagegeneration@005' - | 'imagegeneration@002' - } - cookie?: never - } - get?: never - put?: never - /** Generate images from a text prompt */ - post: operations['ImagenGenerateImages'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/tripo/v2/openapi/task/{task_id}': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** Get Task Status */ - get: operations['tripoGetTask'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/tripo/v2/openapi/upload': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** Upload File for 3D Generation */ - post: operations['tripoUploadFile'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/tripo/v2/openapi/task': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** Create 3D Generation Task */ - post: operations['tripoCreateTask'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/tripo/v2/openapi/user/balance': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** Query Account Balance */ - get: operations['tripoGetBalance'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/rodin/api/v2/rodin': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** Create 3D generate Task using Rodin API. */ - post: operations['rodinGenerate3DAsset'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/rodin/api/v2/status': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** Check Rodin 3D Generate Status. */ - post: operations['rodinCheckStatus'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/rodin/api/v2/download': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** Get rodin 3D Assets download list. */ - post: operations['rodinDownload'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/moonvalley/prompts/{prompt_id}': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** Get Prompt Details */ - get: operations['MoonvalleyGetPrompt'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/moonvalley/prompts/text-to-video': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** Create Text to Video Prompt */ - post: operations['MoonvalleyTextToVideo'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/moonvalley/prompts/text-to-image': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** Create Text to Image Prompt */ - post: operations['MoonvalleyTextToImage'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/moonvalley/prompts/image-to-video': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** Create Image to Video Prompt */ - post: operations['MoonvalleyImageToVideo'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/moonvalley/prompts/video-to-video': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** Create Video to Video Prompt */ - post: operations['MoonvalleyVideoToVideo'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/moonvalley/prompts/video-to-video/resize': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** Resize a video */ - post: operations['MoonvalleyVideoToVideoResize'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/proxy/moonvalley/uploads': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** Upload Files */ - post: operations['MoonvalleyUpload'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } -} -export type webhooks = Record -export interface components { - schemas: { - ClaimMyNodeRequest: { - /** @description GitHub token to verify if the user owns the repo of the node */ - GH_TOKEN: string - } - BulkNodeVersionsRequest: { - /** @description List of node ID and version pairs to retrieve */ - node_versions: components['schemas']['NodeVersionIdentifier'][] - } - NodeVersionIdentifier: { - /** @description The unique identifier of the node */ - node_id: string - /** @description The version of the node */ - version: string - } - BulkNodeVersionsResponse: { - /** @description List of retrieved node versions with their status */ - node_versions: components['schemas']['BulkNodeVersionResult'][] - } - BulkNodeVersionResult: { - /** @description The node and version identifier */ - identifier: components['schemas']['NodeVersionIdentifier'] - /** - * @description Status of the retrieval operation - * @enum {string} - */ - status: 'success' | 'not_found' | 'error' - /** @description The retrieved node version data (only present if status is success) */ - node_version?: components['schemas']['NodeVersion'] - /** @description Error message if retrieval failed (only present if status is error) */ - error_message?: string - } - PersonalAccessToken: { - /** - * Format: uuid - * @description Unique identifier for the GitCommit - */ - id?: string - /** @description Required. The name of the token. Can be a simple description. */ - name?: string - /** @description Optional. A more detailed description of the token's intended use. */ - description?: string - /** - * Format: date-time - * @description [Output Only]The date and time the token was created. - */ - createdAt?: string - /** @description [Output Only]. The personal access token. Only returned during creation. */ - token?: string - } - GitCommit: { - /** - * Format: uuid - * @description Unique identifier for the GitCommit - */ - id?: string - /** @description The hash of the commit */ - commit_hash?: string - /** @description The name of the commit */ - commit_name?: string - /** @description The branch where the commit was made */ - branch_name?: string - /** @description The author of the commit */ - author?: string - /** - * Format: date-time - * @description The timestamp when the commit was made - */ - timestamp?: string - } - GitCommitSummary: { - /** @description The hash of the commit */ - commit_hash?: string - /** @description The name of the commit */ - commit_name?: string - /** @description The branch where the commit was made */ - branch_name?: string - /** @description The author of the commit */ - author?: string - /** - * Format: date-time - * @description The timestamp when the commit was made - */ - timestamp?: string - /** @description A map of operating system to status pairs */ - status_summary?: { - [key: string]: string - } - } - User: { - /** @description The unique id for this user. */ - id?: string - /** @description The email address for this user. */ - email?: string - /** @description The name for this user. */ - name?: string - /** @description Indicates if the user is approved. */ - isApproved?: boolean - /** @description Indicates if the user has admin privileges. */ - isAdmin?: boolean - } - PublisherUser: { - /** @description The unique id for this user. */ - id?: string - /** @description The email address for this user. */ - email?: string - /** @description The name for this user. */ - name?: string - } - ErrorResponse: { - error: string - message: string - } - RunwayTextToImageRequest: { - /** @description Text prompt for the image generation */ - promptText: string - /** - * @description Model to use for generation - * @enum {string} - */ - model: 'gen4_image' - /** @description The resolution (aspect ratio) of the output image */ - ratio: components['schemas']['RunwayTextToImageAspectRatioEnum'] - /** @description Array of reference images to guide the generation */ - referenceImages?: { - /** @description A HTTPS URL or data URI containing an encoded image */ - uri?: string - }[] - } - ActionJobResult: { - /** - * Format: uuid - * @description Unique identifier for the job result - */ - id?: string - /** @description Name of the workflow */ - workflow_name?: string - /** @description Operating system used */ - operating_system?: string - /** @description PyTorch version used */ - python_version?: string - /** @description PyTorch version used */ - pytorch_version?: string - /** @description Identifier of the run this result belongs to */ - action_run_id?: string - /** @description Identifier of the job this result belongs to */ - action_job_id?: string - /** @description CUDA version used */ - cuda_version?: string - /** @description Name of the relevant git branch */ - branch_name?: string - /** @description The hash of the commit */ - commit_hash?: string - /** @description The ID of the commit */ - commit_id?: string - /** - * Format: int64 - * @description The Unix timestamp when the commit was made - */ - commit_time?: number - /** @description The message of the commit */ - commit_message?: string - /** @description The comfy run flags. E.g. `--low-vram` */ - comfy_run_flags?: string - /** @description The repository name */ - git_repo?: string - /** @description The pull request number */ - pr_number?: string - /** - * Format: int64 - * @description The start time of the job as a Unix timestamp. - */ - start_time?: number - /** - * Format: int64 - * @description The end time of the job as a Unix timestamp. - */ - end_time?: number - /** @description The average VRAM used by the job */ - avg_vram?: number - /** @description The peak VRAM used by the job */ - peak_vram?: number - /** @description The user who triggered the job. */ - job_trigger_user?: string - /** @description The author of the commit */ - author?: string - machine_stats?: components['schemas']['MachineStats'] - status?: components['schemas']['WorkflowRunStatus'] - storage_file?: components['schemas']['StorageFile'] - } - StorageFile: { - /** - * Format: uuid - * @description Unique identifier for the storage file - */ - id?: string - /** @description Path to the file in storage */ - file_path?: string - /** @description Public URL */ - public_url?: string - } - Publisher: { - name?: string - /** @description The unique identifier for the publisher. It's akin to a username. Should be lowercase. */ - id?: string - description?: string - website?: string - support?: string - source_code_repo?: string - /** @description URL to the publisher's logo. */ - logo?: string - /** - * Format: date-time - * @description The date and time the publisher was created. - */ - createdAt?: string - /** @description A list of members in the publisher. */ - members?: components['schemas']['PublisherMember'][] - /** @description The status of the publisher. */ - status?: components['schemas']['PublisherStatus'] - } - PublisherMember: { - /** @description The unique identifier for the publisher member. */ - id?: string - /** @description The user associated with this publisher member. */ - user?: components['schemas']['PublisherUser'] - /** @description The role of the user in the publisher. */ - role?: string - } - Node: { - /** @description The unique identifier of the node. */ - id?: string - /** @description The display name of the node. */ - name?: string - /** @description The category of the node. */ - category?: string - description?: string - author?: string - /** @description The path to the LICENSE file in the node's repository. */ - license?: string - /** @description URL to the node's icon. */ - icon?: string - /** @description URL to the node's repository. */ - repository?: string - tags?: string[] - /** @description List of operating systems that this node supports */ - supported_os?: string[] - /** @description List of accelerators (e.g. CUDA, DirectML, ROCm) that this node supports */ - supported_accelerators?: string[] - /** @description Supported versions of ComfyUI */ - supported_comfyui_version?: string - /** @description Supported versions of ComfyUI frontend */ - supported_comfyui_frontend_version?: string - /** @description The latest version of the node. */ - latest_version?: components['schemas']['NodeVersion'] - /** @description The average rating of the node. */ - rating?: number - /** @description The number of downloads of the node. */ - downloads?: number - /** @description The publisher of the node. */ - publisher?: components['schemas']['Publisher'] - /** @description The status of the node. */ - status?: components['schemas']['NodeStatus'] - /** @description The status detail of the node. */ - status_detail?: string - /** @description Translations of node metadata in different languages. */ - translations?: { - [key: string]: { - [key: string]: unknown - } - } - /** @description A numerical value representing the node's search ranking, used for sorting search results. */ - search_ranking?: number - /** @description A list of Comfy node names that are preempted by this node. */ - preempted_comfy_node_names?: string[] - /** @description URL to the node's banner. */ - banner_url?: string - /** @description Number of stars on the GitHub repository. */ - github_stars?: number - /** - * Format: date-time - * @description The date and time when the node was created - */ - created_at?: string - } - NodeVersion: { - id?: string - /** @description The version identifier, following semantic versioning. Must be unique for the node. */ - version?: string - /** - * Format: date-time - * @description The date and time the version was created. - */ - createdAt?: string - /** @description Summary of changes made in this version */ - changelog?: string - /** @description A list of pip dependencies required by the node. */ - dependencies?: string[] - /** @description [Output Only] URL to download this version of the node */ - downloadUrl?: string - /** @description Indicates if this version is deprecated. */ - deprecated?: boolean - /** @description The status of the node version. */ - status?: components['schemas']['NodeVersionStatus'] - /** @description The reason for the status change. */ - status_reason?: string - /** @description The unique identifier of the node. */ - node_id?: string - /** @description The status of comfy node extraction process. */ - comfy_node_extract_status?: string - /** @description Supported versions of ComfyUI */ - supported_comfyui_version?: string - /** @description Supported versions of ComfyUI frontend */ - supported_comfyui_frontend_version?: string - /** @description List of operating systems that this node supports */ - supported_os?: string[] - /** @description List of accelerators (e.g. CUDA, DirectML, ROCm) that this node supports */ - supported_accelerators?: string[] - } - ComfyNode: { - /** @description Unique identifier for the node */ - comfy_node_name?: string - /** @description UI category where the node is listed, used for grouping nodes. */ - category?: string - /** @description Brief description of the node's functionality or purpose. */ - description?: string - /** @description Defines input parameters */ - input_types?: string - /** @description Indicates if the node is deprecated. Deprecated nodes are hidden in the UI. */ - deprecated?: boolean - /** @description Indicates if the node is experimental, subject to changes or removal. */ - experimental?: boolean - /** @description Boolean values indicating if each output is a list. */ - output_is_list?: boolean[] - /** @description Names of the outputs for clarity in workflows. */ - return_names?: string - /** @description Specifies the types of outputs produced by the node. */ - return_types?: string - /** @description Name of the entry-point function to execute the node. */ - function?: string - } - ComfyNodeCloudBuildInfo: { - project_id?: string - project_number?: string - location?: string - build_id?: string - } - Error: { - /** @description A clear and concise description of the error. */ - message?: string - /** @description Optional detailed information about the error or hints for resolving it. */ - details?: string[] - } - NodeVersionUpdateRequest: { - /** @description The changelog describing the version changes. */ - changelog?: string - /** @description Whether the version is deprecated. */ - deprecated?: boolean - } - /** @enum {string} */ - NodeStatus: 'NodeStatusActive' | 'NodeStatusDeleted' | 'NodeStatusBanned' - /** @enum {string} */ - NodeVersionStatus: - | 'NodeVersionStatusActive' - | 'NodeVersionStatusDeleted' - | 'NodeVersionStatusBanned' - | 'NodeVersionStatusPending' - | 'NodeVersionStatusFlagged' - /** @enum {string} */ - PublisherStatus: 'PublisherStatusActive' | 'PublisherStatusBanned' - /** @enum {string} */ - WorkflowRunStatus: - | 'WorkflowRunStatusStarted' - | 'WorkflowRunStatusFailed' - | 'WorkflowRunStatusCompleted' - MachineStats: { - /** @description Name of the machine. */ - machine_name?: string - /** @description The operating system version. eg. Ubuntu Linux 20.04 */ - os_version?: string - /** @description The GPU type. eg. NVIDIA Tesla K80 */ - gpu_type?: string - /** @description Total CPU on the machine. */ - cpu_capacity?: string - /** @description Initial CPU available before the job starts. */ - initial_cpu?: string - /** @description Total memory on the machine. */ - memory_capacity?: string - /** @description Initial RAM available before the job starts. */ - initial_ram?: string - /** @description Time series of VRAM usage. */ - vram_time_series?: Record - /** @description Total disk capacity on the machine. */ - disk_capacity?: string - /** @description Initial disk available before the job starts. */ - initial_disk?: string - /** @description The pip freeze output */ - pip_freeze?: string - } - Customer: { - /** @description The firebase UID of the user */ - id: string - /** @description The email address for this user */ - email?: string - /** @description The name for this user */ - name?: string - /** - * Format: date-time - * @description The date and time the user was created - */ - createdAt?: string - /** - * Format: date-time - * @description The date and time the user was last updated - */ - updatedAt?: string - /** @description Whether the user is an admin */ - is_admin?: boolean - /** @description The Stripe customer ID */ - stripe_id?: string - /** @description The Metronome customer ID */ - metronome_id?: string - /** @description Whether the user has funds */ - has_fund?: boolean - } - AuditLog: { - /** @description the type of the event */ - event_type?: string - /** @description the id of the event */ - event_id?: string - /** @description data related to the event */ - params?: { - [key: string]: unknown - } - /** - * Format: date-time - * @description The date and time the event was created - */ - createdAt?: string - } - IdeogramV3Request: { - /** @description The text prompt for image generation */ - prompt: string - /** @description Seed value for reproducible generation */ - seed?: number - /** - * @description Image resolution in format WxH - * @example 1280x800 - */ - resolution?: string - /** - * @description Aspect ratio in format WxH - * @example 1x3 - */ - aspect_ratio?: string - rendering_speed: components['schemas']['RenderingSpeed'] - /** - * @description Whether to enable magic prompt enhancement - * @enum {string} - */ - magic_prompt?: 'ON' | 'OFF' - /** @description Text prompt specifying what to avoid in the generation */ - negative_prompt?: string - /** @description Number of images to generate */ - num_images?: number - color_palette?: { - /** - * @description Name of the color palette - * @example PASTEL - */ - name: string - } - /** @description Array of style codes in hexadecimal format */ - style_codes?: string[] - /** - * @description The type of style to apply - * @enum {string} - */ - style_type?: 'GENERAL' - /** @description Array of reference image URLs or identifiers */ - style_reference_images?: string[] - } - IdeogramV3EditRequest: { - /** - * Format: binary - * @description The image being edited (max size 10MB); only JPEG, WebP and PNG formats are supported at this time. - */ - image?: string - /** - * Format: binary - * @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. - */ - mask?: string - /** @description The prompt used to describe the edited result. */ - prompt: string - /** @description Determine if MagicPrompt should be used in generating the request or not. */ - magic_prompt?: string - /** @description The number of images to generate. */ - num_images?: number - /** @description Random seed. Set for reproducible generation. */ - seed?: number - rendering_speed: components['schemas']['RenderingSpeed'] - /** @description A color palette for generation, must EITHER be specified via one of the presets (name) or explicitly via hexadecimal representations of the color with optional weights (members). Not supported by V_1, V_1_TURBO, V_2A and V_2A_TURBO models. */ - color_palette?: components['schemas']['IdeogramColorPalette'] - /** @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. */ - style_codes?: string[] - /** @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. */ - style_reference_images?: string[] - } - /** @description A color palette specification that can either use a preset name or explicit color definitions with weights */ - IdeogramColorPalette: - | { - /** @description Name of the preset color palette */ - name: string - } - | { - /** @description Array of color definitions with optional weights */ - members: { - /** @description Hexadecimal color code */ - color?: string - /** @description Optional weight for the color (0-1) */ - weight?: number - }[] - } - /** @description Parameters for the Ideogram generation proxy request. Based on Ideogram's API. */ - IdeogramGenerateRequest: { - /** @description The image generation request parameters. */ - image_request: { - /** @description Required. The prompt to use to generate the image. */ - prompt: string - /** @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. */ - aspect_ratio?: string - /** @description The model used (e.g., 'V_2', 'V_2A_TURBO') */ - model: string - /** @description Optional. MagicPrompt usage ('AUTO', 'ON', 'OFF'). */ - magic_prompt_option?: string - /** - * Format: int64 - * @description Optional. A number between 0 and 2147483647. - */ - seed?: number - /** @description Optional. Style type ('AUTO', 'GENERAL', 'REALISTIC', 'DESIGN', 'RENDER_3D', 'ANIME'). Only for models V_2 and above. */ - style_type?: string - /** @description Optional. Description of what to exclude. Only for V_1, V_1_TURBO, V_2, V_2_TURBO. */ - negative_prompt?: string - /** - * @description Optional. Number of images to generate (1-8). Defaults to 1. - * @default 1 - */ - num_images: number - /** @description Optional. Resolution (e.g., 'RESOLUTION_1024_1024'). Only for model V_2. Cannot be used with aspect_ratio. */ - resolution?: string - /** @description Optional. Color palette object. Only for V_2, V_2_TURBO. */ - color_palette?: { - [key: string]: unknown - } - } - } - /** @description Response from the Ideogram image generation API. */ - IdeogramGenerateResponse: { - /** - * Format: date-time - * @description Timestamp when the generation was created. - */ - created?: string - /** @description Array of generated image information. */ - data?: { - /** @description The prompt used to generate this image. */ - prompt?: string - /** @description The resolution of the generated image (e.g., '1024x1024'). */ - resolution?: string - /** @description Indicates whether the image is considered safe. */ - is_image_safe?: boolean - /** @description The seed value used for this generation. */ - seed?: number - /** @description URL to the generated image. */ - url?: string - /** @description The style type used for generation (e.g., 'REALISTIC', 'ANIME'). */ - style_type?: string - }[] - } - IdeogramV3RemixRequest: { - /** Format: binary */ - image?: string - prompt: string - /** @default 50 */ - image_weight: number - seed?: number - resolution?: string - aspect_ratio?: string - /** @enum {string} */ - rendering_speed?: 'TURBO' | 'DEFAULT' | 'QUALITY' - /** @enum {string} */ - magic_prompt?: 'AUTO' | 'ON' | 'OFF' - negative_prompt?: string - num_images?: number - color_palette?: Record - style_codes?: string[] - /** @enum {string} */ - style_type?: 'AUTO' | 'GENERAL' | 'REALISTIC' | 'DESIGN' - style_reference_images?: string[] - } - IdeogramV3IdeogramResponse: { - /** Format: date-time */ - created?: string - data?: { - prompt?: string - resolution?: string - is_image_safe?: boolean - seed?: number - url?: string - style_type?: string - }[] - } - IdeogramV3ReframeRequest: { - /** Format: binary */ - image?: string - resolution: string - num_images?: number - seed?: number - /** @enum {string} */ - rendering_speed?: 'TURBO' | 'DEFAULT' | 'QUALITY' - color_palette?: Record - style_codes?: string[] - style_reference_images?: string[] - } - IdeogramV3ReplaceBackgroundRequest: { - /** Format: binary */ - image?: string - prompt: string - /** @enum {string} */ - magic_prompt?: 'AUTO' | 'ON' | 'OFF' - num_images?: number - seed?: number - /** @enum {string} */ - rendering_speed?: 'TURBO' | 'DEFAULT' | 'QUALITY' - color_palette?: Record - style_codes?: string[] - style_reference_images?: string[] - } - /** - * @description Task Status - * @enum {string} - */ - KlingTaskStatus: 'submitted' | 'processing' | 'succeed' | 'failed' - /** - * @description Model Name - * @default kling-v1 - * @enum {string} - */ - KlingTextToVideoModelName: 'kling-v1' | 'kling-v1-6' - /** - * @description Model Name - * @default kling-v2-master - * @enum {string} - */ - KlingVideoGenModelName: - | 'kling-v1' - | 'kling-v1-5' - | 'kling-v1-6' - | 'kling-v2-master' - /** - * @description Video generation mode. std: Standard Mode, which is cost-effective. pro: Professional Mode, generates videos with longer duration but higher quality output. - * @default std - * @enum {string} - */ - KlingVideoGenMode: 'std' | 'pro' - /** - * @description Video aspect ratio - * @default 16:9 - * @enum {string} - */ - KlingVideoGenAspectRatio: '16:9' | '9:16' | '1:1' - /** - * @description Video length in seconds - * @default 5 - * @enum {string} - */ - KlingVideoGenDuration: '5' | '10' - /** - * Format: float - * @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. - * @default 0.5 - */ - KlingVideoGenCfgScale: number - KlingCameraControl: { - type?: components['schemas']['KlingCameraControlType'] - config?: components['schemas']['KlingCameraConfig'] - } - /** - * @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 {string} - */ - KlingCameraControlType: - | 'simple' - | 'down_back' - | 'forward_up' - | 'right_turn_forward' - | 'left_turn_forward' - KlingCameraConfig: { - /** @description Controls camera's movement along horizontal axis (x-axis). Negative indicates left, positive indicates right. */ - horizontal?: number - /** @description Controls camera's movement along vertical axis (y-axis). Negative indicates downward, positive indicates upward. */ - vertical?: number - /** @description Controls camera's rotation in vertical plane (x-axis). Negative indicates downward rotation, positive indicates upward rotation. */ - pan?: number - /** @description Controls camera's rotation in horizontal plane (y-axis). Negative indicates left rotation, positive indicates right rotation. */ - tilt?: number - /** @description Controls camera's rolling amount (z-axis). Negative indicates counterclockwise, positive indicates clockwise. */ - roll?: number - /** @description Controls change in camera's focal length. Negative indicates narrower field of view, positive indicates wider field of view. */ - zoom?: number - } - KlingVideoResult: { - /** @description Generated video ID */ - id?: string - /** - * Format: uri - * @description URL for generated video - */ - url?: string - /** @description Total video duration */ - duration?: string - } - /** - * @description Method of Transmitting Audio Files for Lip-Sync. Required when mode is audio2video. - * @enum {string} - */ - KlingAudioUploadType: 'file' | 'url' - /** - * @description Video Generation Mode. text2video: Text-to-video generation mode; audio2video: Audio-to-video generation mode - * @enum {string} - */ - KlingLipSyncMode: 'text2video' | 'audio2video' - /** - * @description The voice language corresponds to the Voice ID. - * @default en - * @enum {string} - */ - KlingLipSyncVoiceLanguage: 'zh' | 'en' - /** - * @description Scene Name. Dual-character Effects (hug, kiss, heart_gesture). - * @enum {string} - */ - KlingDualCharacterEffectsScene: 'hug' | 'kiss' | 'heart_gesture' - /** - * @description Scene Name. Single Image Effects (bloombloom, dizzydizzy, fuzzyfuzzy, squish, expansion). - * @enum {string} - */ - KlingSingleImageEffectsScene: - | 'bloombloom' - | 'dizzydizzy' - | 'fuzzyfuzzy' - | 'squish' - | 'expansion' - /** - * @description Model Name. Can be kling-v1, kling-v1-5, or kling-v1-6. - * @default kling-v1 - * @enum {string} - */ - KlingCharacterEffectModelName: 'kling-v1' | 'kling-v1-5' | 'kling-v1-6' - /** - * @description Model Name. Only kling-v1-6 is supported for single image effects. - * @enum {string} - */ - KlingSingleImageEffectModelName: 'kling-v1-6' - /** - * @description Video Length in seconds. Only 5-second videos are supported. - * @enum {string} - */ - KlingSingleImageEffectDuration: '5' - KlingDualCharacterImages: string[] - /** - * @description Aspect ratio of the generated images - * @default 16:9 - * @enum {string} - */ - KlingImageGenAspectRatio: - | '16:9' - | '9:16' - | '1:1' - | '4:3' - | '3:4' - | '3:2' - | '2:3' - | '21:9' - /** - * @description Image reference type - * @enum {string} - */ - KlingImageGenImageReferenceType: 'subject' | 'face' - /** - * @description Model Name - * @default kling-v1 - * @enum {string} - */ - KlingImageGenModelName: 'kling-v1' | 'kling-v1-5' | 'kling-v2' - KlingImageResult: { - /** @description Image Number (0-9) */ - index?: number - /** - * Format: uri - * @description URL for generated image - */ - url?: string - } - /** - * @description Model Name - * @default kolors-virtual-try-on-v1 - * @enum {string} - */ - KlingVirtualTryOnModelName: - | 'kolors-virtual-try-on-v1' - | 'kolors-virtual-try-on-v1-5' - KlingText2VideoRequest: { - model_name?: components['schemas']['KlingTextToVideoModelName'] - /** @description Positive text prompt */ - prompt?: string - /** @description Negative text prompt */ - negative_prompt?: string - cfg_scale?: components['schemas']['KlingVideoGenCfgScale'] - mode?: components['schemas']['KlingVideoGenMode'] - camera_control?: components['schemas']['KlingCameraControl'] - aspect_ratio?: components['schemas']['KlingVideoGenAspectRatio'] - duration?: components['schemas']['KlingVideoGenDuration'] - /** - * Format: uri - * @description The callback notification address - */ - callback_url?: string - /** @description Customized Task ID */ - external_task_id?: string - } - KlingText2VideoResponse: { - /** @description Error code */ - code?: number - /** @description Error message */ - message?: string - /** @description Request ID */ - request_id?: string - data?: { - /** @description Task ID */ - task_id?: string - task_status?: components['schemas']['KlingTaskStatus'] - task_info?: { - external_task_id?: string - } - /** @description Task creation time */ - created_at?: number - /** @description Task update time */ - updated_at?: number - task_result?: { - videos?: components['schemas']['KlingVideoResult'][] - } - } - } - KlingImage2VideoRequest: { - model_name?: components['schemas']['KlingVideoGenModelName'] - /** @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. */ - image?: string - /** @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. */ - image_tail?: string - /** @description Positive text prompt */ - prompt?: string - /** @description Negative text prompt */ - negative_prompt?: string - cfg_scale?: components['schemas']['KlingVideoGenCfgScale'] - mode?: components['schemas']['KlingVideoGenMode'] - /** @description Static Brush Application Area (Mask image created by users using the motion brush). The aspect ratio must match the input image. */ - static_mask?: string - /** @description Dynamic Brush Configuration List (up to 6 groups). For 5-second videos, trajectory length must not exceed 77 coordinates. */ - dynamic_masks?: { - /** - * Format: uri - * @description Dynamic Brush Application Area (Mask image created by users using the motion brush). The aspect ratio must match the input image. - */ - mask?: string - trajectories?: { - /** @description The horizontal coordinate of trajectory point. Based on bottom-left corner of image as origin (0,0). */ - x?: number - /** @description The vertical coordinate of trajectory point. Based on bottom-left corner of image as origin (0,0). */ - y?: number - }[] - }[] - camera_control?: components['schemas']['KlingCameraControl'] - aspect_ratio?: components['schemas']['KlingVideoGenAspectRatio'] - duration?: components['schemas']['KlingVideoGenDuration'] - /** - * Format: uri - * @description The callback notification address. Server will notify when the task status changes. - */ - callback_url?: string - /** @description Customized Task ID. Must be unique within a single user account. */ - external_task_id?: string - } - KlingImage2VideoResponse: { - /** @description Error code */ - code?: number - /** @description Error message */ - message?: string - /** @description Request ID */ - request_id?: string - data?: { - /** @description Task ID */ - task_id?: string - task_status?: components['schemas']['KlingTaskStatus'] - task_info?: { - external_task_id?: string - } - /** @description Task creation time */ - created_at?: number - /** @description Task update time */ - updated_at?: number - task_result?: { - videos?: components['schemas']['KlingVideoResult'][] - } - } - } - KlingVideoExtendRequest: { - /** @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. */ - video_id?: string - /** @description Positive text prompt for guiding the video extension */ - prompt?: string - /** @description Negative text prompt for elements to avoid in the extended video */ - negative_prompt?: string - cfg_scale?: components['schemas']['KlingVideoGenCfgScale'] - /** - * Format: uri - * @description The callback notification address. Server will notify when the task status changes. - */ - callback_url?: string - } - KlingVideoExtendResponse: { - /** @description Error code */ - code?: number - /** @description Error message */ - message?: string - /** @description Request ID */ - request_id?: string - data?: { - /** @description Task ID */ - task_id?: string - task_status?: components['schemas']['KlingTaskStatus'] - task_info?: { - external_task_id?: string - } - /** @description Task creation time */ - created_at?: number - /** @description Task update time */ - updated_at?: number - task_result?: { - videos?: components['schemas']['KlingVideoResult'][] - } - } - } - KlingLipSyncInputObject: { - /** @description The ID of the video generated by Kling AI. Only supports 5-second and 10-second videos generated within the last 30 days. */ - video_id?: string - /** @description Get link for uploaded video. Video files support .mp4/.mov, file size does not exceed 100MB, video length between 2-10s. */ - video_url?: string - mode: components['schemas']['KlingLipSyncMode'] - /** @description Text Content for Lip-Sync Video Generation. Required when mode is text2video. Maximum length is 120 characters. */ - text?: string - /** @description Voice ID. Required when mode is text2video. The system offers a variety of voice options to choose from. */ - voice_id?: string - voice_language?: components['schemas']['KlingLipSyncVoiceLanguage'] - /** - * @description Speech Rate. Valid range: 0.8~2.0, accurate to one decimal place. - * @default 1 - */ - voice_speed: number - audio_type?: components['schemas']['KlingAudioUploadType'] - /** @description Local Path of Audio File. Supported formats: .mp3/.wav/.m4a/.aac, maximum file size of 5MB. Base64 code. */ - audio_file?: string - /** @description Audio File Download URL. Supported formats: .mp3/.wav/.m4a/.aac, maximum file size of 5MB. */ - audio_url?: string - } - KlingLipSyncRequest: { - input: components['schemas']['KlingLipSyncInputObject'] - /** - * Format: uri - * @description The callback notification address. Server will notify when the task status changes. - */ - callback_url?: string - } - KlingLipSyncResponse: { - /** @description Error code */ - code?: number - /** @description Error message */ - message?: string - /** @description Request ID */ - request_id?: string - data?: { - /** @description Task ID */ - task_id?: string - task_status?: components['schemas']['KlingTaskStatus'] - task_info?: { - external_task_id?: string - } - /** @description Task creation time */ - created_at?: number - /** @description Task update time */ - updated_at?: number - task_result?: { - videos?: components['schemas']['KlingVideoResult'][] - } - } - } - KlingVideoEffectsRequest: { - effect_scene: - | components['schemas']['KlingDualCharacterEffectsScene'] - | components['schemas']['KlingSingleImageEffectsScene'] - input: components['schemas']['KlingVideoEffectsInput'] - /** - * Format: uri - * @description The callback notification address for the result of this task. - */ - callback_url?: string - /** @description Customized Task ID. Must be unique within a single user account. */ - external_task_id?: string - } - KlingVideoEffectsInput: - | components['schemas']['KlingSingleImageEffectInput'] - | components['schemas']['KlingDualCharacterEffectInput'] - KlingSingleImageEffectInput: { - model_name: components['schemas']['KlingSingleImageEffectModelName'] - /** @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. */ - image: string - duration: components['schemas']['KlingSingleImageEffectDuration'] - } - KlingDualCharacterEffectInput: { - model_name?: components['schemas']['KlingCharacterEffectModelName'] - mode?: components['schemas']['KlingVideoGenMode'] - images: components['schemas']['KlingDualCharacterImages'] - duration: components['schemas']['KlingVideoGenDuration'] - } - KlingVideoEffectsResponse: { - /** @description Error code */ - code?: number - /** @description Error message */ - message?: string - /** @description Request ID */ - request_id?: string - data?: { - /** @description Task ID */ - task_id?: string - task_status?: components['schemas']['KlingTaskStatus'] - task_info?: { - external_task_id?: string - } - /** @description Task creation time */ - created_at?: number - /** @description Task update time */ - updated_at?: number - task_result?: { - videos?: components['schemas']['KlingVideoResult'][] - } - } - } - KlingImageGenerationsRequest: { - model_name?: components['schemas']['KlingImageGenModelName'] - /** @description Positive text prompt */ - prompt: string - /** @description Negative text prompt */ - negative_prompt?: string - /** @description Reference Image - Base64 encoded string or image URL */ - image?: string - image_reference?: components['schemas']['KlingImageGenImageReferenceType'] - /** - * @description Reference intensity for user-uploaded images - * @default 0.5 - */ - image_fidelity: number - /** - * @description Subject reference similarity - * @default 0.45 - */ - human_fidelity: number - /** - * @description Number of generated images - * @default 1 - */ - n: number - aspect_ratio?: components['schemas']['KlingImageGenAspectRatio'] - /** - * Format: uri - * @description The callback notification address - */ - callback_url?: string - } - KlingImageGenerationsResponse: { - /** @description Error code */ - code?: number - /** @description Error message */ - message?: string - /** @description Request ID */ - request_id?: string - data?: { - /** @description Task ID */ - task_id?: string - task_status?: components['schemas']['KlingTaskStatus'] - /** @description Task status information */ - task_status_msg?: string - /** @description Task creation time */ - created_at?: number - /** @description Task update time */ - updated_at?: number - task_result?: { - images?: components['schemas']['KlingImageResult'][] - } - } - } - KlingVirtualTryOnRequest: { - model_name?: components['schemas']['KlingVirtualTryOnModelName'] - /** @description Reference human image - Base64 encoded string or image URL */ - human_image: string - /** @description Reference clothing image - Base64 encoded string or image URL */ - cloth_image?: string - /** - * Format: uri - * @description The callback notification address - */ - callback_url?: string - } - KlingVirtualTryOnResponse: { - /** @description Error code */ - code?: number - /** @description Error message */ - message?: string - /** @description Request ID */ - request_id?: string - data?: { - /** @description Task ID */ - task_id?: string - task_status?: components['schemas']['KlingTaskStatus'] - /** @description Task status information */ - task_status_msg?: string - /** @description Task creation time */ - created_at?: number - /** @description Task update time */ - updated_at?: number - task_result?: { - images?: components['schemas']['KlingImageResult'][] - } - } - } - KlingResourcePackageResponse: { - /** @description Error code; 0 indicates success */ - code?: number - /** @description Error information */ - message?: string - /** @description Request ID, generated by the system, used to track requests and troubleshoot problems */ - request_id?: string - data?: { - /** @description Error code; 0 indicates success */ - code?: number - /** @description Error information */ - msg?: string - /** @description Resource package list */ - resource_pack_subscribe_infos?: { - /** @description Resource package name */ - resource_pack_name?: string - /** @description Resource package ID */ - resource_pack_id?: string - /** - * @description Resource package type (decreasing_total=decreasing total, constant_period=constant periodicity) - * @enum {string} - */ - resource_pack_type?: 'decreasing_total' | 'constant_period' - /** - * Format: float - * @description Total quantity - */ - total_quantity?: number - /** - * Format: float - * @description Remaining quantity (updated with a 12-hour delay) - */ - remaining_quantity?: number - /** - * Format: int64 - * @description Purchase time, Unix timestamp in ms - */ - purchase_time?: number - /** - * Format: int64 - * @description Effective time, Unix timestamp in ms - */ - effective_time?: number - /** - * Format: int64 - * @description Expiration time, Unix timestamp in ms - */ - invalid_time?: number - /** - * @description Resource Package Status - * @enum {string} - */ - status?: 'toBeOnline' | 'online' | 'expired' | 'runOut' - }[] - } - } - StripeEvent: { - id: string - /** @enum {string} */ - object: 'event' - api_version?: string - created?: number - data: { - object?: components['schemas']['StripePaymentIntent'] - } - livemode?: boolean - pending_webhooks?: number - request?: components['schemas']['StripeRequestInfo'] - /** @enum {string} */ - type: 'payment_intent.succeeded' - } - StripeRequestInfo: { - id?: string | null - idempotency_key?: string | null - } - StripePaymentIntent: { - id?: string - /** @enum {string} */ - object?: 'payment_intent' - amount?: number - amount_capturable?: number - amount_details?: components['schemas']['StripeAmountDetails'] - amount_received?: number - application?: string | null - application_fee_amount?: number | null - automatic_payment_methods?: unknown - canceled_at?: number | null - cancellation_reason?: string | null - capture_method?: string - charges?: components['schemas']['StripeChargeList'] - client_secret?: string - confirmation_method?: string - created?: number - currency?: string - customer?: string | null - description?: string | null - invoice?: string | null - last_payment_error?: unknown - latest_charge?: string - livemode?: boolean - metadata?: Record - next_action?: unknown - on_behalf_of?: unknown - payment_method?: string - payment_method_configuration_details?: unknown - payment_method_options?: components['schemas']['StripePaymentMethodOptions'] - payment_method_types?: string[] - processing?: unknown - receipt_email?: string | null - review?: unknown - setup_future_usage?: unknown - shipping?: components['schemas']['StripeShipping'] - source?: unknown - statement_descriptor?: unknown - statement_descriptor_suffix?: unknown - status?: string - transfer_data?: unknown - transfer_group?: unknown - } - StripeAmountDetails: { - tip?: Record - } - StripeChargeList: { - object?: string - data?: components['schemas']['StripeCharge'][] - has_more?: boolean - total_count?: number - url?: string - } - StripeCharge: { - id?: string - /** @enum {string} */ - object?: 'charge' - amount?: number - amount_captured?: number - amount_refunded?: number - application?: string | null - application_fee?: string | null - application_fee_amount?: number | null - balance_transaction?: string | null - billing_details?: components['schemas']['StripeBillingDetails'] - calculated_statement_descriptor?: string - captured?: boolean - created?: number - currency?: string - customer?: string | null - description?: string | null - destination?: unknown - dispute?: unknown - disputed?: boolean - failure_balance_transaction?: unknown - failure_code?: unknown - failure_message?: unknown - fraud_details?: Record - invoice?: unknown - livemode?: boolean - metadata?: Record - on_behalf_of?: unknown - order?: unknown - outcome?: components['schemas']['StripeOutcome'] - paid?: boolean - payment_intent?: string - payment_method?: string - payment_method_details?: components['schemas']['StripePaymentMethodDetails'] - radar_options?: Record - receipt_email?: string | null - receipt_number?: string | null - receipt_url?: string - refunded?: boolean - refunds?: components['schemas']['StripeRefundList'] - review?: unknown - shipping?: components['schemas']['StripeShipping'] - source?: unknown - source_transfer?: unknown - statement_descriptor?: unknown - statement_descriptor_suffix?: unknown - status?: string - transfer_data?: unknown - transfer_group?: unknown - } - StripeBillingDetails: { - address?: components['schemas']['StripeAddress'] - email?: string | null - name?: string | null - phone?: string | null - tax_id?: unknown - } - StripeAddress: { - city?: string | null - country?: string | null - line1?: string | null - line2?: string | null - postal_code?: string | null - state?: string | null - } - StripeOutcome: { - advice_code?: unknown - network_advice_code?: unknown - network_decline_code?: unknown - network_status?: string - reason?: unknown - risk_level?: string - risk_score?: number - seller_message?: string - type?: string - } - StripePaymentMethodDetails: { - card?: components['schemas']['StripeCardDetails'] - type?: string - } - StripeCardDetails: { - amount_authorized?: number - authorization_code?: unknown - brand?: string - checks?: { - address_line1_check?: unknown - address_postal_code_check?: unknown - cvc_check?: string - } - country?: string - exp_month?: number - exp_year?: number - extended_authorization?: { - status?: string - } - fingerprint?: string - funding?: string - incremental_authorization?: { - status?: string - } - installments?: unknown - last4?: string - mandate?: unknown - multicapture?: { - status?: string - } - network?: string - network_token?: { - used?: boolean - } - network_transaction_id?: string - overcapture?: { - maximum_amount_capturable?: number - status?: string - } - regulated_status?: string - three_d_secure?: unknown - wallet?: unknown - } - StripeRefundList: { - object?: string - data?: Record[] - has_more?: boolean - total_count?: number - url?: string - } - StripePaymentMethodOptions: { - card?: { - installments?: unknown - mandate_options?: unknown - network?: unknown - request_three_d_secure?: string - } - } - StripeShipping: { - address?: components['schemas']['StripeAddress'] - carrier?: string | null - name?: string - phone?: string | null - tracking_number?: string | null - } - /** @description Parameters for the Minimax video generation proxy request. */ - MinimaxVideoGenerationRequest: { - /** - * @description Required. ID of model. Options: T2V-01-Director, I2V-01-Director, S2V-01, I2V-01, I2V-01-live, T2V-01 - * @enum {string} - */ - model: - | 'T2V-01-Director' - | 'I2V-01-Director' - | 'S2V-01' - | 'I2V-01' - | 'I2V-01-live' - | 'T2V-01' - /** @description Description of the video. Should be less than 2000 characters. Supports camera movement instructions in [brackets]. */ - prompt?: string - /** - * @description If true (default), the model will automatically optimize the prompt. Set to false for more precise control. - * @default true - */ - prompt_optimizer: boolean - /** @description URL or base64 encoding of the first frame image. Required when model is I2V-01, I2V-01-Director, or I2V-01-live. */ - first_frame_image?: string - /** @description Only available when model is S2V-01. The model will generate a video based on the subject uploaded through this parameter. */ - subject_reference?: { - /** @description URL or base64 encoding of the subject reference image. */ - image?: string - /** @description URL or base64 encoding of the mask for the subject reference image. */ - mask?: string - }[] - /** @description Optional. URL to receive real-time status updates about the video generation task. */ - callback_url?: string - } - /** @description Common response structure used by Minimax APIs */ - MinimaxBaseResponse: { - /** @description Status code. 0 indicates success, other values indicate errors. */ - status_code: number - /** @description Specific error details or success message. */ - status_msg: string - } - /** @description Response from the Minimax video generation API. */ - MinimaxVideoGenerationResponse: { - /** @description The task ID for the asynchronous video generation task. */ - task_id: string - base_resp: components['schemas']['MinimaxBaseResponse'] - } - /** @description Response from retrieving a Minimax file download URL. */ - MinimaxFileRetrieveResponse: { - file: { - /** @description Unique identifier for the file */ - file_id?: number - /** @description File size in bytes */ - bytes?: number - /** @description Unix timestamp when the file was created, in seconds */ - created_at?: number - /** @description The name of the file */ - filename?: string - /** @description The purpose of using the file */ - purpose?: string - /** @description The URL to download the video */ - download_url?: string - } - base_resp: components['schemas']['MinimaxBaseResponse'] - } - /** @description Response from querying a Minimax video generation task status. */ - MinimaxTaskResultResponse: { - /** @description The task ID being queried. */ - task_id: string - /** - * @description Task status: 'Queueing' (in queue), 'Preparing' (task is preparing), 'Processing' (generating), 'Success' (task completed successfully), or 'Fail' (task failed). - * @enum {string} - */ - status: 'Queueing' | 'Preparing' | 'Processing' | 'Success' | 'Fail' - /** @description After the task status changes to Success, this field returns the file ID corresponding to the generated video. */ - file_id?: string - base_resp: components['schemas']['MinimaxBaseResponse'] - } - BFLFluxKontextProGenerateRequest: { - /** @description The text prompt describing what to edit on the image */ - prompt: string - /** @description Base64 encoded image to be edited */ - input_image: string - /** - * @description Number of inference steps - * @default 50 - */ - steps: number - /** - * @description The guidance scale for generation - * @default 3 - */ - guidance: number - } - BFLFluxKontextProGenerateResponse: { - /** @description Job ID for tracking */ - id: string - /** @description URL to poll for results */ - polling_url: string - } - BFLFluxKontextMaxGenerateRequest: { - /** @description The text prompt describing what to edit on the image */ - prompt: string - /** @description Base64 encoded image to be edited */ - input_image: string - /** - * @description Number of inference steps - * @default 50 - */ - steps: number - /** - * @description The guidance scale for generation - * @default 3 - */ - guidance: number - } - BFLFluxKontextMaxGenerateResponse: { - /** @description Job ID for tracking */ - id: string - /** @description URL to poll for results */ - polling_url: string - } - BFLFluxPro1_1GenerateRequest: { - /** @description The main text prompt for image generation */ - prompt: string - /** @description Optional image prompt */ - image_prompt?: string - /** @description Width of the generated image */ - width: number - /** @description Height of the generated image */ - height: number - /** @description Whether to use prompt upsampling */ - prompt_upsampling?: boolean - /** @description Random seed for reproducibility */ - seed?: number - /** @description Safety tolerance level */ - safety_tolerance?: number - /** - * @description Output image format - * @enum {string} - */ - output_format?: 'jpeg' | 'png' - /** @description Optional webhook URL for async processing */ - webhook_url?: string - /** @description Optional webhook secret for async processing */ - webhook_secret?: string - } - BFLFluxPro1_1GenerateResponse: { - /** @description Job ID for tracking */ - id: string - /** @description URL to poll for results */ - polling_url: string - } - /** @description Request body for the BFL Flux Pro 1.1 Ultra image generation API. */ - BFLFluxProGenerateRequest: { - /** @description The text prompt for image generation. */ - prompt: string - /** @description The negative prompt for image generation. */ - negative_prompt?: string - /** @description The width of the image to generate. */ - width: number - /** @description The height of the image to generate. */ - height: number - /** @description The number of inference steps. */ - num_inference_steps?: number - /** @description The guidance scale for generation. */ - guidance_scale?: number - /** @description The seed value for reproducibility. */ - seed?: number - /** @description The number of images to generate. */ - num_images?: number - } - /** @description Response from the BFL Flux Pro 1.1 Ultra image generation API. */ - BFLFluxProGenerateResponse: { - /** @description The unique identifier for the generation task. */ - id: string - /** @description URL to poll for the generation result. */ - polling_url: string - } - /** @description Response from the BFL Flux Pro 1.1 Ultra status check API. */ - BFLFluxProStatusResponse: { - /** @description The unique identifier for the generation task. */ - id: string - /** @description The status of the task. */ - status: components['schemas']['BFLStatus'] - /** @description The result of the task (null if not completed). */ - result?: Record | null - /** - * Format: float - * @description The progress of the task (0.0 to 1.0). - */ - progress: number - /** @description Additional details about the task (null if not available). */ - details?: Record | null - } - /** - * @description Possible statuses for a BFL Flux Pro generation task. - * @example Ready - * @enum {string} - */ - BFLStatus: - | 'Task not found' - | 'Pending' - | 'Request Moderated' - | 'Content Moderated' - | 'Ready' - | 'Error' - /** FluxProFillInputs */ - BFLFluxProFillInputs: { - /** - * Image - * @description A Base64-encoded string representing the image you wish to modify. Can contain alpha mask if desired. - */ - image: string - /** - * Mask - * @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. - */ - mask?: string - /** - * Prompt - * @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. - * @default - * @example ein fantastisches bild - */ - prompt: string - /** - * Steps - * @description Number of steps for the image generation process - * @default 50 - * @example 50 - */ - steps: number - /** - * Prompt Upsampling - * @description Whether to perform upsampling on the prompt. If active, automatically modifies the prompt for more creative generation - * @default false - */ - prompt_upsampling: boolean - /** - * Seed - * @description Optional seed for reproducibility - */ - seed?: number - /** - * Guidance - * @description Guidance strength for the image generation process - * @default 60 - */ - guidance: number - /** - * @description Output format for the generated image. Can be 'jpeg' or 'png'. - * @default jpeg - */ - output_format: components['schemas']['BFLOutputFormat'] - /** - * Safety Tolerance - * @description Tolerance level for input and output moderation. Between 0 and 6, 0 being most strict, 6 being least strict. - * @default 2 - * @example 2 - */ - safety_tolerance: number - /** - * Webhook Url - * @description URL to receive webhook notifications - */ - webhook_url?: string - /** - * Webhook Secret - * @description Optional secret for webhook signature verification - */ - webhook_secret?: string - } - /** AsyncResponse */ - BFLAsyncResponse: { - /** Id */ - id: string - /** Polling Url */ - polling_url: string - } - /** AsyncWebhookResponse */ - BFLAsyncWebhookResponse: { - /** Id */ - id: string - /** Status */ - status: string - /** Webhook Url */ - webhook_url: string - } - /** HTTPValidationError */ - BFLHTTPValidationError: { - /** Detail */ - detail?: components['schemas']['BFLValidationError'][] - } - /** FluxProExpandInputs */ - BFLFluxProExpandInputs: { - /** - * Image - * @description A Base64-encoded string representing the image you wish to expand. - */ - image: string - /** - * Top - * @description Number of pixels to expand at the top of the image - * @default 0 - */ - top: number - /** - * Bottom - * @description Number of pixels to expand at the bottom of the image - * @default 0 - */ - bottom: number - /** - * Left - * @description Number of pixels to expand on the left side of the image - * @default 0 - */ - left: number - /** - * Right - * @description Number of pixels to expand on the right side of the image - * @default 0 - */ - right: number - /** - * Prompt - * @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. - * @default - * @example ein fantastisches bild - */ - prompt: string - /** - * Steps - * @description Number of steps for the image generation process - * @default 50 - * @example 50 - */ - steps: number - /** - * Prompt Upsampling - * @description Whether to perform upsampling on the prompt. If active, automatically modifies the prompt for more creative generation - * @default false - */ - prompt_upsampling: boolean - /** - * Seed - * @description Optional seed for reproducibility - */ - seed?: number - /** - * Guidance - * @description Guidance strength for the image generation process - * @default 60 - */ - guidance: number - /** - * @description Output format for the generated image. Can be 'jpeg' or 'png'. - * @default jpeg - */ - output_format: components['schemas']['BFLOutputFormat'] - /** - * Safety Tolerance - * @description Tolerance level for input and output moderation. Between 0 and 6, 0 being most strict, 6 being least strict. - * @default 2 - * @example 2 - */ - safety_tolerance: number - /** - * Webhook Url - * @description URL to receive webhook notifications - */ - webhook_url?: string - /** - * Webhook Secret - * @description Optional secret for webhook signature verification - */ - webhook_secret?: string - } - /** CannyInputs */ - BFLCannyInputs: { - /** - * Prompt - * @description Text prompt for image generation - * @example ein fantastisches bild - */ - prompt: string - /** - * Control Image - * @description Base64 encoded image to use as control input if no preprocessed image is provided - */ - control_image?: string - /** - * Preprocessed Image - * @description Optional pre-processed image that will bypass the control preprocessing step - */ - preprocessed_image?: string - /** - * Canny Low Threshold - * @description Low threshold for Canny edge detection - * @default 50 - */ - canny_low_threshold: number - /** - * Canny High Threshold - * @description High threshold for Canny edge detection - * @default 200 - */ - canny_high_threshold: number - /** - * Prompt Upsampling - * @description Whether to perform upsampling on the prompt - * @default false - */ - prompt_upsampling: boolean - /** - * Seed - * @description Optional seed for reproducibility - * @example 42 - */ - seed?: number - /** - * Steps - * @description Number of steps for the image generation process - * @default 50 - */ - steps: number - /** - * @description Output format for the generated image. Can be 'jpeg' or 'png'. - * @default jpeg - */ - output_format: components['schemas']['BFLOutputFormat'] - /** - * Guidance - * @description Guidance strength for the image generation process - * @default 30 - */ - guidance: number - /** - * Safety Tolerance - * @description Tolerance level for input and output moderation. Between 0 and 6, 0 being most strict, 6 being least strict. - * @default 2 - */ - safety_tolerance: number - /** - * Webhook Url - * @description URL to receive webhook notifications - */ - webhook_url?: string - /** - * Webhook Secret - * @description Optional secret for webhook signature verification - */ - webhook_secret?: string - } - /** DepthInputs */ - BFLDepthInputs: { - /** - * Prompt - * @description Text prompt for image generation - * @example ein fantastisches bild - */ - prompt: string - /** - * Control Image - * @description Base64 encoded image to use as control input - */ - control_image?: string - /** - * Preprocessed Image - * @description Optional pre-processed image that will bypass the control preprocessing step - */ - preprocessed_image?: string - /** - * Prompt Upsampling - * @description Whether to perform upsampling on the prompt - * @default false - */ - prompt_upsampling: boolean - /** - * Seed - * @description Optional seed for reproducibility - * @example 42 - */ - seed?: number - /** - * Steps - * @description Number of steps for the image generation process - * @default 50 - */ - steps: number - /** - * @description Output format for the generated image. Can be 'jpeg' or 'png'. - * @default jpeg - */ - output_format: components['schemas']['BFLOutputFormat'] - /** - * Guidance - * @description Guidance strength for the image generation process - * @default 15 - */ - guidance: number - /** - * Safety Tolerance - * @description Tolerance level for input and output moderation. Between 0 and 6, 0 being most strict, 6 being least strict. - * @default 2 - */ - safety_tolerance: number - /** - * Webhook Url - * @description URL to receive webhook notifications - */ - webhook_url?: string - /** - * Webhook Secret - * @description Optional secret for webhook signature verification - */ - webhook_secret?: string - } - /** - * OutputFormat - * @enum {string} - */ - BFLOutputFormat: 'jpeg' | 'png' - /** ValidationError */ - BFLValidationError: { - /** Location */ - loc: (string | number)[] - /** Message */ - msg: string - /** Error Type */ - type: string - } - /** @description Parameters for the Recraft image generation proxy request. */ - RecraftImageGenerationRequest: { - /** @description The text prompt describing the image to generate */ - prompt: string - /** @description The model to use for generation (e.g., "recraftv3") */ - model: string - /** @description The style to apply to the generated image (e.g., "digital_illustration") */ - style?: string - /** @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. */ - style_id?: string - /** @description The size of the generated image (e.g., "1024x1024") */ - size: string - /** @description The controls for the generated image */ - controls?: { - /** @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. */ - artistic_level?: number | null - /** @description An array of preferable colors */ - colors?: components['schemas']['RGBColor'][] - /** @description Use given color as a desired background color */ - background_color?: components['schemas']['RGBColor'] - /** @description Do not embed text layouts */ - no_text?: boolean - } - /** @description The number of images to generate */ - n: number - } - /** @description Response from the Recraft image generation API. */ - RecraftImageGenerationResponse: { - /** @description Unix timestamp when the generation was created */ - created: number - /** @description Number of credits used for the generation */ - credits: number - /** @description Array of generated image information */ - data: { - /** @description Unique identifier for the generated image */ - image_id?: string - /** @description URL to access the generated image */ - url?: string - }[] - } - RecraftImageFeatures: { - nsfw_score?: number - } - RecraftTextLayoutItem: { - bbox: number[][] - text: string - } - RecraftImageColor: { - rgb?: number[] - std?: number[] - weight?: number - } - /** @enum {string} */ - RecraftImageStyle: - | 'digital_illustration' - | 'icon' - | 'realistic_image' - | 'vector_illustration' - /** @enum {string} */ - RecraftImageSubStyle: - | '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-solid' - | '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' - /** @enum {string} */ - RecraftTransformModel: - | 'refm1' - | 'recraft20b' - | 'recraftv2' - | 'recraftv3' - | 'flux1_1pro' - | 'flux1dev' - | 'imagen3' - | 'hidream_i1_dev' - /** @enum {string} */ - RecraftImageFormat: 'webp' | 'png' - /** @enum {string} */ - RecraftResponseFormat: 'url' | 'b64_json' - RecraftImage: { - b64_json?: string - features?: components['schemas']['RecraftImageFeatures'] - /** Format: uuid */ - image_id: string - revised_prompt?: string - url?: string - } - RecraftUserControls: { - artistic_level?: number - background_color?: components['schemas']['RecraftImageColor'] - colors?: components['schemas']['RecraftImageColor'][] - no_text?: boolean - } - RecraftTextLayout: components['schemas']['RecraftTextLayoutItem'][] - RecraftProcessImageRequest: { - /** Format: binary */ - image: string - image_format?: components['schemas']['RecraftImageFormat'] - response_format?: components['schemas']['RecraftResponseFormat'] - } - RecraftProcessImageResponse: { - created: number - credits: number - image: components['schemas']['RecraftImage'] - } - RecraftImageToImageRequest: { - block_nsfw?: boolean - calculate_features?: boolean - controls?: components['schemas']['RecraftUserControls'] - /** Format: binary */ - image: string - image_format?: components['schemas']['RecraftImageFormat'] - model?: components['schemas']['RecraftTransformModel'] - n?: number - negative_prompt?: string - prompt: string - response_format?: components['schemas']['RecraftResponseFormat'] - strength: number - style?: components['schemas']['RecraftImageStyle'] - /** Format: uuid */ - style_id?: string - substyle?: components['schemas']['RecraftImageSubStyle'] - text_layout?: components['schemas']['RecraftTextLayout'] - } - RecraftGenerateImageResponse: { - created: number - credits: number - data: components['schemas']['RecraftImage'][] - } - RecraftTransformImageWithMaskRequest: { - block_nsfw?: boolean - calculate_features?: boolean - /** Format: binary */ - image: string - image_format?: components['schemas']['RecraftImageFormat'] - /** Format: binary */ - mask: string - model?: components['schemas']['RecraftTransformModel'] - n?: number - negative_prompt?: string - prompt: string - response_format?: components['schemas']['RecraftResponseFormat'] - style?: components['schemas']['RecraftImageStyle'] - /** Format: uuid */ - style_id?: string - substyle?: components['schemas']['RecraftImageSubStyle'] - text_layout?: components['schemas']['RecraftTextLayout'] - } - KlingErrorResponse: { - /** @description - 1000: Authentication failed - * - 1001: Authorization is empty - * - 1002: Authorization is invalid - * - 1003: Authorization is not yet valid - * - 1004: Authorization has expired - * - 1100: Account exception - * - 1101: Account in arrears (postpaid scenario) - * - 1102: Resource pack depleted or expired (prepaid scenario) - * - 1103: Unauthorized access to requested resource - * - 1200: Invalid request parameters - * - 1201: Invalid parameters - * - 1202: Invalid request method - * - 1203: Requested resource does not exist - * - 1300: Trigger platform strategy - * - 1301: Trigger content security policy - * - 1302: API request too frequent - * - 1303: Concurrency/QPS exceeds limit - * - 1304: Trigger IP whitelist policy - * - 5000: Internal server error - * - 5001: Service temporarily unavailable - * - 5002: Server internal timeout - * */ - code: number - /** @description Human-readable error message */ - message: string - /** @description Request ID for tracking and troubleshooting */ - request_id: string - } - TripoTask: { - task_id: string - type: string - /** @enum {string} */ - status: - | 'queued' - | 'running' - | 'success' - | 'failed' - | 'cancelled' - | 'unknown' - | 'banned' - | 'expired' - input: Record - output: { - model?: string - base_model?: string - pbr_model?: string - rendered_image?: string - riggable?: boolean + author?: string; + machine_stats?: components["schemas"]["MachineStats"]; + status?: components["schemas"]["WorkflowRunStatus"]; + storage_file?: components["schemas"]["StorageFile"]; + }; + StorageFile: { + /** + * Format: uuid + * @description Unique identifier for the storage file + */ + id?: string; + /** @description Path to the file in storage */ + file_path?: string; + /** @description Public URL */ + public_url?: string; + }; + Publisher: { + name?: string; + /** @description The unique identifier for the publisher. It's akin to a username. Should be lowercase. */ + id?: string; + description?: string; + website?: string; + support?: string; + source_code_repo?: string; + /** @description URL to the publisher's logo. */ + logo?: string; + /** + * Format: date-time + * @description The date and time the publisher was created. + */ + createdAt?: string; + /** @description A list of members in the publisher. */ + members?: components["schemas"]["PublisherMember"][]; + /** @description The status of the publisher. */ + status?: components["schemas"]["PublisherStatus"]; + }; + PublisherMember: { + /** @description The unique identifier for the publisher member. */ + id?: string; + /** @description The user associated with this publisher member. */ + user?: components["schemas"]["PublisherUser"]; + /** @description The role of the user in the publisher. */ + role?: string; + }; + Node: { + /** @description The unique identifier of the node. */ + id?: string; + /** @description The display name of the node. */ + name?: string; + /** + * @deprecated + * @description DEPRECATED: The category of the node. Use 'tags' field instead. This field will be removed in a future version. + */ + category?: string; + description?: string; + author?: string; + /** @description The path to the LICENSE file in the node's repository. */ + license?: string; + /** @description URL to the node's icon. */ + icon?: string; + /** @description URL to the node's repository. */ + repository?: string; + tags?: string[]; + /** @description Admin-only tags for security warnings and admin metadata */ + tags_admin?: string[]; + /** @description List of operating systems that this node supports */ + supported_os?: string[]; + /** @description List of accelerators (e.g. CUDA, DirectML, ROCm) that this node supports */ + supported_accelerators?: string[]; + /** @description Supported versions of ComfyUI */ + supported_comfyui_version?: string; + /** @description Supported versions of ComfyUI frontend */ + supported_comfyui_frontend_version?: string; + /** @description The latest version of the node. */ + latest_version?: components["schemas"]["NodeVersion"]; + /** @description The average rating of the node. */ + rating?: number; + /** @description The number of downloads of the node. */ + downloads?: number; + /** @description The publisher of the node. */ + publisher?: components["schemas"]["Publisher"]; + /** @description The status of the node. */ + status?: components["schemas"]["NodeStatus"]; + /** @description The status detail of the node. */ + status_detail?: string; + /** @description Translations of node metadata in different languages. */ + translations?: { + [key: string]: { + [key: string]: unknown; + }; + }; + /** @description A numerical value representing the node's search ranking, used for sorting search results. */ + search_ranking?: number; + /** @description A list of Comfy node names that are preempted by this node. */ + preempted_comfy_node_names?: string[]; + /** @description URL to the node's banner. */ + banner_url?: string; + /** @description Number of stars on the GitHub repository. */ + github_stars?: number; + /** + * Format: date-time + * @description The date and time when the node was created + */ + created_at?: string; + }; + NodeVersion: { + id?: string; + /** @description The version identifier, following semantic versioning. Must be unique for the node. */ + version?: string; + /** + * Format: date-time + * @description The date and time the version was created. + */ + createdAt?: string; + /** @description Summary of changes made in this version */ + changelog?: string; + /** @description A list of pip dependencies required by the node. */ + dependencies?: string[]; + /** @description [Output Only] URL to download this version of the node */ + downloadUrl?: string; + /** @description Indicates if this version is deprecated. */ + deprecated?: boolean; + /** @description The status of the node version. */ + status?: components["schemas"]["NodeVersionStatus"]; + status_reason?: string; + tags?: string[]; + /** @description Admin-only tags for security warnings and admin metadata */ + tags_admin?: string[]; + /** @description The unique identifier of the node. */ + node_id?: string; + /** @description The status of comfy node extraction process. */ + comfy_node_extract_status?: string; + /** @description Supported versions of ComfyUI */ + supported_comfyui_version?: string; + /** @description Supported versions of ComfyUI frontend */ + supported_comfyui_frontend_version?: string; + /** @description List of operating systems that this node supports */ + supported_os?: string[]; + /** @description List of accelerators (e.g. CUDA, DirectML, ROCm) that this node supports */ + supported_accelerators?: string[]; + }; + ComfyNode: { + /** @description Unique identifier for the node */ + comfy_node_name?: string; + /** @description UI category where the node is listed, used for grouping nodes. */ + category?: string; + /** @description Brief description of the node's functionality or purpose. */ + description?: string; + /** @description Defines input parameters */ + input_types?: string; + /** @description Indicates if the node is deprecated. Deprecated nodes are hidden in the UI. */ + deprecated?: boolean; + /** @description Indicates if the node is experimental, subject to changes or removal. */ + experimental?: boolean; + /** @description Boolean values indicating if each output is a list. */ + output_is_list?: boolean[]; + /** @description Names of the outputs for clarity in workflows. */ + return_names?: string; + /** @description Specifies the types of outputs produced by the node. */ + return_types?: string; + /** @description Name of the entry-point function to execute the node. */ + function?: string; + /** @description The policy associated with the comfy node. */ + policy?: components["schemas"]["ComfyNodePolicy"]; + }; + ComfyNodeCloudBuildInfo: { + project_id?: string; + project_number?: string; + location?: string; + build_id?: string; + }; + Error: { + /** @description A clear and concise description of the error. */ + message?: string; + /** @description Optional detailed information about the error or hints for resolving it. */ + details?: string[]; + }; + NodeVersionUpdateRequest: { + /** @description The changelog describing the version changes. */ + changelog?: string; + /** @description Whether the version is deprecated. */ + deprecated?: boolean; + }; /** @enum {string} */ - topology?: 'bip' | 'quad' - } - progress: number - create_time: number - } - TripoSuccessTask: { - /** @enum {integer} */ - code: 0 - data: { - /** @description used for getTask */ - task_id: string - } - } - TripoBalance: { - balance: number - frozen: number - } - TripoErrorResponse: { - /** @enum {integer} */ - code: 1001 | 2000 | 2001 | 2002 | 2003 | 2004 | 2006 | 2007 | 2008 | 2010 - message: string - suggestion: string - } - /** - * @description Standard success code for Tripo API responses. Typically 0 for success. - * @example 0 - */ - TripoResponseSuccessCode: number - /** - * @description The type of the Tripo task, specifically for text-to-model operations. - * @example text_to_model - * @enum {string} - */ - TripoTextToModel: 'text_to_model' - /** - * @description Version of the Tripo model. - * @example v2.5-20250123 - * @enum {string} - */ - TripoModelVersion: 'v2.5-20250123' | 'v2.0-20240919' | 'v1.4-20240625' - /** - * @description Style for the Tripo model generation. - * @example object:clay - * @enum {string} - */ - TripoModelStyle: - | 'person:person2cartoon' - | 'animal:venom' - | 'object:clay' - | 'object:steampunk' - | 'object:christmas' - | 'object:barbie' - | 'gold' - | 'ancient_bronze' - /** - * @description Task type for Tripo image-to-model generation. - * @example image_to_model - * @enum {string} - */ - TripoImageToModel: 'image_to_model' - /** - * @description Task type for Tripo multiview-to-model generation. - * @example multiview_to_model - * @enum {string} - */ - TripoMultiviewToModel: 'multiview_to_model' - /** - * @description Mode for multiview generation, specifying view orientation. - * @example LEFT - * @enum {string} - */ - TripoMultiviewMode: 'LEFT' | 'RIGHT' - /** @enum {string} */ - TripoTextureQuality: 'standard' | 'detailed' - /** @enum {string} */ - TripoTextureAlignment: 'original_image' | 'geometry' - /** - * @default default - * @enum {string} - */ - TripoOrientation: 'align_image' | 'default' - /** @enum {string} */ - TripoTypeTextureModel: 'texture_model' - /** @enum {string} */ - TripoTypeRefineModel: 'refine_model' - /** @enum {string} */ - TripoTypeAnimatePrerigcheck: 'animate_prerigcheck' - /** @enum {string} */ - TripoTypeAnimateRig: 'animate_rig' - /** @enum {string} */ - TripoStandardFormat: 'glb' | 'fbx' - /** @enum {string} */ - TripoTopology: 'bip' | 'quad' - /** @enum {string} */ - TripoSpec: 'mixamo' | 'tripo' - /** @enum {string} */ - TripoTypeAnimateRetarget: 'animate_retarget' - /** @enum {string} */ - TripoAnimation: - | 'preset:idle' - | 'preset:walk' - | 'preset:climb' - | 'preset:jump' - | 'preset:run' - | 'preset:slash' - | 'preset:shoot' - | 'preset:hurt' - | 'preset:fall' - | 'preset:turn' - /** @enum {string} */ - TripoTypeStylizeModel: 'stylize_model' - /** @enum {string} */ - TripoStylizeOptions: 'lego' | 'voxel' | 'voronoi' | 'minecraft' - /** @enum {string} */ - TripoTypeConvertModel: 'convert_model' - /** @enum {string} */ - TripoConvertFormat: 'GLTF' | 'USDZ' | 'FBX' | 'OBJ' | 'STL' | '3MF' - /** @enum {string} */ - TripoTextureFormat: - | 'BMP' - | 'DPX' - | 'HDR' - | 'JPEG' - | 'OPEN_EXR' - | 'PNG' - | 'TARGA' - | 'TIFF' - | 'WEBP' - /** - * @description The aspect ratio of the generation - * @default 16:9 - * @example 16:9 - * @enum {string} - */ - LumaAspectRatio: '1:1' | '16:9' | '9:16' | '4:3' | '3:4' | '21:9' | '9:21' - /** - * @description The keyframes of the generation - * @example { - * "frame0": { - * "type": "image", - * "url": "https://example.com/image.jpg" - * }, - * "frame1": { - * "type": "generation", - * "id": "123e4567-e89b-12d3-a456-426614174000" - * } - * } - */ - LumaKeyframes: { - frame0?: components['schemas']['LumaKeyframe'] - frame1?: components['schemas']['LumaKeyframe'] - } - /** - * @description The video model used for the generation - * @default ray-2 - * @example ray-2 - * @enum {string} - */ - LumaVideoModel: 'ray-2' | 'ray-flash-2' | 'ray-1-6' - LumaVideoModelOutputResolution: ('540p' | '720p' | '1080p' | '4k') | string - LumaVideoModelOutputDuration: ('5s' | '9s') | string - /** - * @description The image model used for the generation - * @default photon-1 - * @enum {string} - */ - LumaImageModel: 'photon-1' | 'photon-flash-1' - /** @description The image reference object */ - LumaImageRef: { - /** - * Format: uri - * @description The URL of the image reference - */ - url?: string - /** @description The weight of the image reference */ - weight?: number - } - /** @description The image identity object */ - LumaImageIdentity: { - /** @description The URLs of the image identity */ - images?: string[] - } - /** @description The modify image reference object */ - LumaModifyImageRef: { - /** - * Format: uri - * @description The URL of the image reference - */ - url?: string - /** @description The weight of the modify image reference */ - weight?: number - } - /** - * @description The generation reference object - * @example { - * "type": "generation", - * "id": "123e4567-e89b-12d3-a456-426614174003" - * } - */ - LumaGenerationReference: { - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'generation' - /** - * Format: uuid - * @description The ID of the generation - */ - id: string - } - /** - * @description The image object - * @example { - * "type": "image", - * "url": "https://example.com/image.jpg" - * } - */ - LumaImageReference: { - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'image' - /** - * Format: uri - * @description The URL of the image - */ - url: string - } - /** @description A keyframe can be either a Generation reference, an Image, or a Video */ - LumaKeyframe: - | components['schemas']['LumaGenerationReference'] - | components['schemas']['LumaImageReference'] - /** @enum {string} */ - LumaGenerationType: 'video' | 'image' - /** - * @description The state of the generation - * @example completed - * @enum {string} - */ - LumaState: 'queued' | 'dreaming' | 'completed' | 'failed' - /** @description The assets of the generation */ - LumaAssets: { - /** - * Format: uri - * @description The URL of the video - */ - video?: string - /** - * Format: uri - * @description The URL of the image - */ - image?: string - /** - * Format: uri - * @description The URL of the progress video - */ - progress_video?: string - } - /** @description The generation request object */ - LumaGenerationRequest: { - /** - * @default video - * @enum {string} - */ - generation_type: 'video' - /** @description The prompt of the generation */ - prompt: string - aspect_ratio: components['schemas']['LumaAspectRatio'] - /** @description Whether to loop the video */ - loop?: boolean - keyframes?: components['schemas']['LumaKeyframes'] - /** - * Format: uri - * @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 - */ - callback_url?: string - model: components['schemas']['LumaVideoModel'] - resolution: components['schemas']['LumaVideoModelOutputResolution'] - duration: components['schemas']['LumaVideoModelOutputDuration'] - } - /** @description The image generation request object */ - LumaImageGenerationRequest: { - /** - * @default image - * @enum {string} - */ - generation_type: 'image' - model?: components['schemas']['LumaImageModel'] - /** @description The prompt of the generation */ - prompt?: string - aspect_ratio?: components['schemas']['LumaAspectRatio'] - /** - * Format: uri - * @description The callback URL for the generation - */ - callback_url?: string - image_ref?: components['schemas']['LumaImageRef'][] - style_ref?: components['schemas']['LumaImageRef'][] - character_ref?: { - identity0?: components['schemas']['LumaImageIdentity'] - } - modify_image_ref?: components['schemas']['LumaModifyImageRef'] - } - /** @description The upscale generation request object */ - LumaUpscaleVideoGenerationRequest: { - /** - * @default upscale_video - * @enum {string} - */ - generation_type: 'upscale_video' - resolution?: components['schemas']['LumaVideoModelOutputResolution'] - /** - * Format: uri - * @description The callback URL for the upscale - */ - callback_url?: string - } - /** @description The audio generation request object */ - LumaAudioGenerationRequest: { - /** - * @default add_audio - * @enum {string} - */ - generation_type: 'add_audio' - /** @description The prompt of the audio */ - prompt?: string - /** @description The negative prompt of the audio */ - negative_prompt?: string - /** - * Format: uri - * @description The callback URL for the audio - */ - callback_url?: string - } - /** - * @description The error object - * @example { - * "detail": "Invalid API key is provided" - * } - */ - LumaError: { - /** @description The error message */ - detail?: string - } - /** - * @description The generation response object - * @example { - * "id": "123e4567-e89b-12d3-a456-426614174000", - * "state": "completed", - * "failure_reason": null, - * "created_at": "2023-06-01T12:00:00Z", - * "assets": { - * "video": "https://example.com/video.mp4" - * }, - * "model": "ray-2", - * "request": { - * "prompt": "A serene lake surrounded by mountains at sunset", - * "aspect_ratio": "16:9", - * "loop": true, - * "keyframes": { - * "frame0": { - * "type": "image", - * "url": "https://example.com/image.jpg" - * }, - * "frame1": { - * "type": "generation", - * "id": "123e4567-e89b-12d3-a456-426614174000" - * } - * } - * } - * } - */ - LumaGeneration: { - /** - * Format: uuid - * @description The ID of the generation - */ - id?: string - generation_type?: components['schemas']['LumaGenerationType'] - state?: components['schemas']['LumaState'] - /** @description The reason for the state of the generation */ - failure_reason?: string - /** - * Format: date-time - * @description The date and time when the generation was created - */ - created_at?: string - assets?: components['schemas']['LumaAssets'] - /** @description The model used for the generation */ - model?: string - /** @description The request of the generation */ - request?: - | components['schemas']['LumaGenerationRequest'] - | components['schemas']['LumaImageGenerationRequest'] - | components['schemas']['LumaUpscaleVideoGenerationRequest'] - | components['schemas']['LumaAudioGenerationRequest'] - } - PixverseTextVideoRequest: { - /** @enum {string} */ - aspect_ratio: '16:9' | '4:3' | '1:1' | '3:4' | '9:16' - /** @enum {integer} */ - duration: 5 | 8 - /** @enum {string} */ - model: 'v3.5' - /** @enum {string} */ - motion_mode?: 'normal' | 'fast' - negative_prompt?: string - prompt: string - /** @enum {string} */ - quality: '360p' | '540p' | '720p' | '1080p' - seed?: number - /** @enum {string} */ - style?: 'anime' | '3d_animation' | 'clay' | 'comic' | 'cyberpunk' - template_id?: number - water_mark?: boolean - } - PixverseVideoResponse: { - ErrCode?: number - ErrMsg?: string - Resp?: { - video_id?: number - } - } - PixverseImageUploadResponse: { - ErrCode?: number - ErrMsg?: string - Resp?: { - img_id?: number - } - } - PixverseImageVideoRequest: { - img_id: number - /** @enum {string} */ - model: 'v3.5' - prompt: string - /** @enum {integer} */ - duration: 5 | 8 - /** @enum {string} */ - quality: '360p' | '540p' | '720p' | '1080p' - /** @enum {string} */ - motion_mode?: 'normal' | 'fast' - seed?: number - /** @enum {string} */ - style?: 'anime' | '3d_animation' | 'clay' | 'comic' | 'cyberpunk' - template_id?: number - water_mark?: boolean - } - PixverseTransitionVideoRequest: { - first_frame_img: number - last_frame_img: number - /** @enum {string} */ - model: 'v3.5' - /** @enum {integer} */ - duration: 5 | 8 - /** @enum {string} */ - quality: '360p' | '540p' | '720p' | '1080p' - /** @enum {string} */ - motion_mode: 'normal' | 'fast' - seed: number - prompt: string - /** @enum {string} */ - style?: 'anime' | '3d_animation' | 'clay' | 'comic' | 'cyberpunk' - template_id?: number - water_mark?: boolean - } - PixverseVideoResultResponse: { - ErrCode?: number - ErrMsg?: string - Resp?: { - create_time?: string - id?: number - modify_time?: string - negative_prompt?: string - outputHeight?: number - outputWidth?: number - prompt?: string - resolution_ratio?: number - seed?: number - size?: number - /** - * @description Video generation status codes: - * * 1 - Generation successful - * * 5 - Generating - * * 6 - Deleted - * * 7 - Contents moderation failed - * * 8 - Generation failed - * - * @enum {integer} - */ - status?: 1 | 5 | 6 | 7 | 8 - style?: string - url?: string - } - } - Veo2GenVidRequest: { - instances?: { - /** @description Text description of the video */ - prompt: string - /** @description Optional image to guide video generation */ - image?: { - /** Format: byte */ - bytesBase64Encoded?: string - gcsUri?: string - mimeType?: string - } & (unknown | unknown) - }[] - parameters?: { - /** @example 16:9 */ - aspectRatio?: string - negativePrompt?: string + NodeStatus: "NodeStatusActive" | "NodeStatusDeleted" | "NodeStatusBanned"; /** @enum {string} */ - personGeneration?: 'ALLOW' | 'BLOCK' - sampleCount?: number - /** Format: uint32 */ - seed?: number - /** @description Optional Cloud Storage URI to upload the video */ - storageUri?: string - durationSeconds?: number - enhancePrompt?: boolean - } - } - Veo2GenVidResponse: { - /** - * @description Operation resource name - * @example projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID/operations/a1b07c8e-7b5a-4aba-bb34-3e1ccb8afcc8 - */ - name: string - } - Veo2GenVidPollRequest: { - /** - * @description Full operation name (from predict response) - * @example projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID/operations/OPERATION_ID - */ - operationName: string - } - Veo2GenVidPollResponse: { - name?: string - done?: boolean - /** @description The actual prediction response if done is true */ - response?: { - /** @example type.googleapis.com/cloud.ai.large_models.vision.GenerateVideoResponse */ - '@type'?: string - /** @description Count of media filtered by responsible AI policies */ - raiMediaFilteredCount?: number - /** @description Reasons why media was filtered by responsible AI policies */ - raiMediaFilteredReasons?: string[] - videos?: { - /** @description Cloud Storage URI of the video */ - gcsUri?: string - /** @description Base64-encoded video content */ - bytesBase64Encoded?: string - /** @description Video MIME type */ - mimeType?: string - }[] - } - /** @description Error details if operation failed */ - error?: { - /** @description Error code */ - code?: number - /** @description Error message */ - message?: string - } - } - VeoGenVidRequest: { - instances?: { - /** @description Text description of the video */ - prompt: string - /** @description Optional image to guide video generation */ - image?: { - /** Format: byte */ - bytesBase64Encoded?: string - gcsUri?: string - mimeType?: string - } & (unknown | unknown) - }[] - parameters?: { - /** @example 16:9 */ - aspectRatio?: string - negativePrompt?: string + ComfyNodePolicy: "ComfyNodePolicyActive" | "ComfyNodePolicyBanned" | "ComfyNodePolicyLocalOnly"; + ComfyNodeUpdateRequest: { + /** @description UI category where the node is listed, used for grouping nodes. */ + category?: string; + /** @description Brief description of the node's functionality or purpose. */ + description?: string; + /** @description Defines input parameters */ + input_types?: string; + /** @description Indicates if the node is deprecated. Deprecated nodes are hidden in the UI. */ + deprecated?: boolean; + /** @description Indicates if the node is experimental, subject to changes or removal. */ + experimental?: boolean; + /** @description Boolean values indicating if each output is a list. */ + output_is_list?: boolean[]; + /** @description Names of the outputs for clarity in workflows. */ + return_names?: string; + /** @description Specifies the types of outputs produced by the node. */ + return_types?: string; + /** @description Name of the entry-point function to execute the node. */ + function?: string; + /** @description The policy associated with the comfy node. */ + policy?: components["schemas"]["ComfyNodePolicy"]; + }; /** @enum {string} */ - personGeneration?: 'ALLOW' | 'BLOCK' - sampleCount?: number - /** Format: uint32 */ - seed?: number - /** @description Optional Cloud Storage URI to upload the video */ - storageUri?: string - durationSeconds?: number - enhancePrompt?: boolean - } - } - VeoGenVidResponse: { - /** - * @description Operation resource name - * @example projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID/operations/a1b07c8e-7b5a-4aba-bb34-3e1ccb8afcc8 - */ - name: string - } - VeoGenVidPollRequest: { - /** - * @description Full operation name (from predict response) - * @example projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID/operations/OPERATION_ID - */ - operationName: string - } - VeoGenVidPollResponse: { - name?: string - done?: boolean - /** @description The actual prediction response if done is true */ - response?: { - /** @example type.googleapis.com/cloud.ai.large_models.vision.GenerateVideoResponse */ - '@type'?: string - /** @description Count of media filtered by responsible AI policies */ - raiMediaFilteredCount?: number - /** @description Reasons why media was filtered by responsible AI policies */ - raiMediaFilteredReasons?: string[] - videos?: { - /** @description Cloud Storage URI of the video */ - gcsUri?: string - /** @description Base64-encoded video content */ - bytesBase64Encoded?: string - /** @description Video MIME type */ - mimeType?: string - }[] - } - /** @description Error details if operation failed */ - error?: { - /** @description Error code */ - code?: number - /** @description Error message */ - message?: string - } - } - RunwayImageToVideoRequest: { - promptImage: components['schemas']['RunwayPromptImageObject'] - /** - * Format: int64 - * @description Random seed for generation - */ - seed: number - /** @description Model to use for generation */ - model: components['schemas']['RunwayModelEnum'] - /** @description Text prompt for the generation */ - promptText?: string - /** @description The number of seconds of duration for the output video. */ - duration: components['schemas']['RunwayDurationEnum'] - /** @description The resolution (aspect ratio) of the output video. Allowable values depend on the selected model. 1280:768 and 768:1280 are only supported for gen3a_turbo. */ - ratio: components['schemas']['RunwayAspectRatioEnum'] - } - RunwayImageToVideoResponse: { - /** @description Task ID */ - id?: string - } - RunwayTextToImageResponse: { - /** @description Task ID */ - id?: string - } - RunwayTaskStatusResponse: { - /** @description Task ID */ - id: string - /** @description Task status */ - status: components['schemas']['RunwayTaskStatusEnum'] - /** - * Format: date-time - * @description Task creation timestamp - */ - createdAt: string - /** @description Array of output video URLs */ - output?: string[] - /** - * Format: float - * @description Float value between 0 and 1 representing the progress of the task. Only available if status is RUNNING. - */ - progress?: number - } - /** - * @description Possible statuses for a Runway task. - * @enum {string} - */ - RunwayTaskStatusEnum: - | 'SUCCEEDED' - | 'RUNNING' - | 'FAILED' - | 'PENDING' - | 'CANCELLED' - | 'THROTTLED' - /** - * @description Available Runway models for generation. - * @enum {string} - */ - RunwayModelEnum: 'gen4_turbo' | 'gen3a_turbo' - /** @description Represents an image with its position in the video sequence. */ - RunwayPromptImageDetailedObject: { - /** @description A HTTPS URL or data URI containing an encoded image. */ - uri: string - /** - * @description The position of the image in the output video. 'last' is currently supported for gen3a_turbo only. - * @enum {string} - */ - position: 'first' | 'last' - } - /** @enum {integer} */ - RunwayDurationEnum: 5 | 10 - /** @enum {string} */ - RunwayAspectRatioEnum: - | '1280:720' - | '720:1280' - | '1104:832' - | '832:1104' - | '960:960' - | '1584:672' - | '1280:768' - | '768:1280' - /** @enum {string} */ - RunwayTextToImageAspectRatioEnum: - | '1920:1080' - | '1080:1920' - | '1024:1024' - | '1360:768' - | '1080:1080' - | '1168:880' - | '1440:1080' - | '1080:1440' - | '1808:768' - | '2112:912' - /** @description Image(s) to use for the video generation. Can be a single URI or an array of image objects with positions. */ - RunwayPromptImageObject: - | string - | components['schemas']['RunwayPromptImageDetailedObject'][] - OpenAIImageGenerationResponse: { - data?: { - /** @description Base64 encoded image data */ - b64_json?: string - /** @description URL of the image */ - url?: string - /** @description Revised prompt */ - revised_prompt?: string - }[] - usage?: { - input_tokens?: number - input_tokens_details?: { - text_tokens?: number - image_tokens?: number - } - output_tokens?: number - total_tokens?: number - } - } - OpenAIImageGenerationRequest: { - /** - * @description The model to use for image generation - * @example dall-e-3 - */ - model?: string - /** - * @description A text description of the desired image - * @example Draw a rocket in front of a blackhole in deep space - */ - prompt: string - /** - * @description The number of images to generate (1-10). Only 1 supported for dall-e-3. - * @example 1 - */ - n?: number - /** - * @description The quality of the generated image - * @example high - * @enum {string} - */ - quality?: 'low' | 'medium' | 'high' | 'standard' | 'hd' - /** - * @description Size of the image (e.g., 1024x1024, 1536x1024, auto) - * @example 1024x1536 - */ - size?: string - /** - * @description Format of the output image - * @example png - * @enum {string} - */ - output_format?: 'png' | 'webp' | 'jpeg' - /** - * @description Compression level for JPEG or WebP (0-100) - * @example 100 - */ - output_compression?: number - /** - * @description Content moderation setting - * @example auto - * @enum {string} - */ - moderation?: 'low' | 'auto' - /** - * @description Background transparency - * @example opaque - * @enum {string} - */ - background?: 'transparent' | 'opaque' - /** - * @description Response format of image data - * @example b64_json - * @enum {string} - */ - response_format?: 'url' | 'b64_json' - /** - * @description Style of the image (only for dall-e-3) - * @example vivid - * @enum {string} - */ - style?: 'vivid' | 'natural' - /** - * @description A unique identifier for end-user monitoring - * @example user-1234 - */ - user?: string - } - OpenAIImageEditRequest: { - /** - * @description The model to use for image editing - * @example gpt-image-1 - */ - model: string - /** - * @description A text description of the desired edit - * @example Give the rocketship rainbow coloring - */ - prompt: string - /** - * @description The number of images to generate - * @example 1 - */ - n?: number - /** - * @description The quality of the edited image - * @example low - */ - quality?: string - /** - * @description Size of the output image - * @example 1024x1024 - */ - size?: string - /** - * @description Format of the output image - * @example png - * @enum {string} - */ - output_format?: 'png' | 'webp' | 'jpeg' - /** - * @description Compression level for JPEG or WebP (0-100) - * @example 100 - */ - output_compression?: number - /** - * @description Content moderation setting - * @example auto - * @enum {string} - */ - moderation?: 'low' | 'auto' - /** - * @description Background transparency - * @example opaque - */ - background?: string - /** - * @description A unique identifier for end-user monitoring - * @example user-1234 - */ - user?: string - } - CustomerStorageResourceResponse: { - /** @description The signed URL to use for downloading the file from the specified path */ - download_url?: string - /** @description The signed URL to use for uploading the file to the specified path */ - upload_url?: string - /** - * Format: date-time - * @description When the signed URL will expire - */ - expires_at?: string - /** @description Whether an existing file with the same hash was found */ - existing_file?: boolean - } - /** @enum {string} */ - Pikaffect: - | 'Cake-ify' - | 'Crumble' - | 'Crush' - | 'Decapitate' - | 'Deflate' - | 'Dissolve' - | 'Explode' - | 'Eye-pop' - | 'Inflate' - | 'Levitate' - | 'Melt' - | 'Peel' - | 'Poke' - | 'Squish' - | 'Ta-da' - | 'Tear' - /** Body_generate_pikaffects_generate_pikaffects_post */ - PikaBody_generate_pikaffects_generate_pikaffects_post: { - /** - * Image - * Format: binary - */ - image?: string - /** Pikaffect */ - pikaffect?: components['schemas']['Pikaffect'] - /** Prompttext */ - promptText?: string - /** Negativeprompt */ - negativePrompt?: string - /** Seed */ - seed?: number - } - /** GenerateResponse */ - PikaGenerateResponse: { - /** Video Id */ - video_id: string - } - /** HTTPValidationError */ - PikaHTTPValidationError: { - /** Detail */ - detail?: components['schemas']['PikaValidationError'][] - } - /** Body_generate_pikadditions_generate_pikadditions_post */ - PikaBody_generate_pikadditions_generate_pikadditions_post: { - /** - * Video - * Format: binary - */ - video?: string - /** - * Image - * Format: binary - */ - image?: string - /** Prompttext */ - promptText?: string - /** Negativeprompt */ - negativePrompt?: string - /** Seed */ - seed?: number - } - /** Body_generate_pikaswaps_generate_pikaswaps_post */ - PikaBody_generate_pikaswaps_generate_pikaswaps_post: { - /** - * Video - * Format: binary - */ - video?: string - /** Image */ - image?: string - /** Prompttext */ - promptText?: string - /** - * Modifyregionmask - * @description A mask image that specifies the region to modify, where the mask is white and the background is black - */ - modifyRegionMask?: string - /** - * Modifyregionroi - * @description Plaintext description of the object / region to modify - */ - modifyRegionRoi?: string - /** Negativeprompt */ - negativePrompt?: string - /** Seed */ - seed?: number - } - /** Body_generate_2_2_t2v_generate_2_2_t2v_post */ - PikaBody_generate_2_2_t2v_generate_2_2_t2v_post: { - /** Prompttext */ - promptText: string - /** Negativeprompt */ - negativePrompt?: string | null - /** Seed */ - seed?: number | null - /** Resolution */ - resolution?: components['schemas']['PikaResolutionEnum'] - /** Duration */ - duration?: components['schemas']['PikaDurationEnum'] - /** - * Aspectratio - * Format: float - * @description Aspect ratio (width / height) - * @default 1.7777777777777777 - */ - aspectRatio: number - } - /** Body_generate_2_2_i2v_generate_2_2_i2v_post */ - PikaBody_generate_2_2_i2v_generate_2_2_i2v_post: { - /** - * Image - * Format: binary - */ - image?: string | null - /** Prompttext */ - promptText?: string | null - /** Negativeprompt */ - negativePrompt?: string | null - /** Seed */ - seed?: number | null - /** Resolution */ - resolution?: components['schemas']['PikaResolutionEnum'] - /** Duration */ - duration?: components['schemas']['PikaDurationEnum'] - } - /** Body_generate_2_2_c2v_generate_2_2_pikascenes_post */ - PikaBody_generate_2_2_c2v_generate_2_2_pikascenes_post: { - /** Images */ - images?: string[] - /** - * Ingredientsmode - * @enum {string} - */ - ingredientsMode: 'creative' | 'precise' - /** Prompttext */ - promptText?: string - /** Negativeprompt */ - negativePrompt?: string - /** Seed */ - seed?: number - /** - * Resolution - * @default 1080p - */ - resolution: string - /** - * Duration - * @default 5 - */ - duration: number - /** - * Aspectratio - * @description Aspect ratio (width / height) - */ - aspectRatio?: number - } - /** Body_generate_2_2_keyframe_generate_2_2_pikaframes_post */ - PikaBody_generate_2_2_keyframe_generate_2_2_pikaframes_post: { - /** - * Keyframes - * @description Array of keyframe images - */ - keyFrames?: string[] - /** Prompttext */ - promptText: string - /** Negativeprompt */ - negativePrompt?: string - /** Seed */ - seed?: number - /** Resolution */ - resolution?: components['schemas']['PikaResolutionEnum'] - /** Duration */ - duration?: number - } - /** VideoResponse */ - PikaVideoResponse: { - /** Id */ - id: string - /** - * Status - * @description The status of the video - */ - status: components['schemas']['PikaStatusEnum'] - /** - * Url - * @default null - */ - url: string | null - /** - * Progress - * @default null - */ - progress: number | null - } - /** @enum {string} */ - PikaStatusEnum: 'queued' | 'started' | 'finished' - /** ValidationError */ - PikaValidationError: { - /** Location */ - loc: (string | number)[] - /** Message */ - msg: string - /** Error Type */ - type: string - } - /** - * @default 1080p - * @enum {string} - */ - PikaResolutionEnum: '1080p' | '720p' - /** - * @default 5 - * @enum {integer} - */ - PikaDurationEnum: 5 | 10 - /** - * @description RGB color values - * @example { - * "rgb": [ - * 255, - * 0, - * 0 - * ] - * } - */ - RGBColor: { - rgb: number[] - } - /** @example { - * "id": "2a1b2d4eafe2bc6ab4cd4d5c6133f513", - * "name": "internal_error", - * "errors": [ - * "An unexpected server error has occurred, please try again later." - * ] - * } */ - StabilityError: { - /** - * @description A unique identifier associated with this error. Please include this in any [support tickets](https://kb.stability.ai/knowledge-base/kb-tickets/new) you file, as it will greatly assist us in diagnosing the root cause of the problem. - * - * @example a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4 - */ - id: string - /** - * @description Short-hand name for an error, useful for discriminating between errors with the same status code. - * @example bad_request - */ - name: string - /** - * @description One or more error messages indicating what went wrong. - * @example [ - * { - * "some-field": "is required" - * } - * ] - */ - errors: string[] - } - /** - * @description The name of your application, used to help us communicate app-specific debugging or moderation issues to you. - * @example my-awesome-app - */ - StabilityStabilityClientID: string - /** - * @description A unique identifier for your end user. Used to help us communicate user-specific debugging or moderation issues to you. Feel free to obfuscate this value to protect user privacy. - * @example DiscordUser#9999 - */ - StabilityStabilityClientUserID: string - /** - * @description The version of your application, used to help us communicate version-specific debugging or moderation issues to you. - * @example 1.2.1 - */ - StabilityStabilityClientVersion: string - /** - * @description Your request was flagged by our content moderation system. - * @example { - * "id": "ed14db44362126aab3cbd25cca51ffe3", - * "name": "content_moderation", - * "errors": [ - * "Your request was flagged by our content moderation system, as a result your request was denied and you were not charged." - * ] - * } - */ - StabilityContentModerationResponse: { - /** - * @description A unique identifier associated with this error. Please include this in any [support tickets](https://kb.stability.ai/knowledge-base/kb-tickets/new) you file, as it will greatly assist us in diagnosing the root cause of the problem. - * @example a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4 - */ - id: string - /** - * @description Our content moderation system has flagged some part of your request and subsequently denied it. You were not charged for this request. While this may at times be frustrating, it is necessary to maintain the integrity of our platform and ensure a safe experience for all users. If you would like to provide feedback, please use the [Support Form](https://kb.stability.ai/knowledge-base/kb-tickets/new). - * @enum {string} - */ - name: 'content_moderation' - /** - * @description One or more error messages indicating what went wrong. - * @example [ - * "some-field: is required" - * ] - */ - errors: string[] - } - ImagenGenerateImageRequest: { - instances: components['schemas']['ImagenImageGenerationInstance'][] - parameters: components['schemas']['ImagenImageGenerationParameters'] - } - ImagenGenerateImageResponse: { - predictions?: components['schemas']['ImagenImagePrediction'][] - } - ImagenImageGenerationInstance: { - /** @description Text prompt for image generation */ - prompt: string - } - ImagenImageGenerationParameters: { - sampleCount?: number - /** Format: uint32 */ - seed?: number - addWatermark?: boolean - /** @enum {string} */ - aspectRatio?: '1:1' | '9:16' | '16:9' | '3:4' | '4:3' - enhancePrompt?: boolean - includeRaiReason?: boolean - includeSafetyAttributes?: boolean - outputOptions?: components['schemas']['ImagenOutputOptions'] - /** @enum {string} */ - personGeneration?: 'dont_allow' | 'allow_adult' | 'allow_all' - /** @enum {string} */ - safetySetting?: 'block_most' | 'block_some' | 'block_few' | 'block_fewest' - /** Format: uri */ - storageUri?: string - } - ImagenImagePrediction: { - /** @description MIME type of the generated image */ - mimeType?: string - /** @description Enhanced or rewritten prompt used to generate this image */ - prompt?: string - /** - * Format: byte - * @description Base64-encoded image content - */ - bytesBase64Encoded?: string - } - ImagenOutputOptions: { - /** @enum {string} */ - mimeType?: 'image/png' | 'image/jpeg' - compressionQuality?: number - } - /** - * @description The rendering speed setting that controls the trade-off between generation speed and quality - * @default BALANCED - * @enum {string} - */ - RenderingSpeed: 'BALANCED' | 'TURBO' | 'QUALITY' - /** - * @description Controls the likelihood of creating additional details not heavily conditioned by the init image. - * @default 0.35 - */ - StabilityCreativity: number - /** - * @description The `id` of a generation, typically used for async generations, that can be used to check the status of the generation or retrieve the result. - * @example a6dc6c6e20acda010fe14d71f180658f2896ed9b4ec25aa99a6ff06c796987c4 - */ - StabilityGenerationID: string - StabilityImageGenerationSD3_Request: { - /** @description What you wish to see in the output image. A strong, descriptive prompt that clearly defines - * elements, colors, and subjects will lead to better results. */ - prompt: string - /** - * GenerationMode - * @description Controls whether this is a text-to-image or image-to-image generation, which affects which parameters are required: - * - **text-to-image** requires only the `prompt` parameter - * - **image-to-image** requires the `prompt`, `image`, and `strength` parameters - * @default text-to-image - * @enum {string} - */ - mode: 'text-to-image' | 'image-to-image' - /** - * Format: binary - * @description The image to use as the starting point for the generation. - * - * Supported formats: - * - * - * - * - jpeg - * - png - * - webp - * - * Supported dimensions: - * - * - * - * - Every side must be at least 64 pixels - * - * > **Important:** This parameter is only valid for **image-to-image** requests. - */ - image?: string - /** @description Sometimes referred to as _denoising_, this parameter controls how much influence the - * `image` parameter has on the generated image. A value of 0 would yield an image that - * is identical to the input. A value of 1 would be as if you passed in no image at all. - * - * > **Important:** This parameter is only valid for **image-to-image** requests. */ - strength?: number - /** - * @description Controls the aspect ratio of the generated image. Defaults to 1:1. - * - * > **Important:** This parameter is only valid for **text-to-image** requests. - * @default 1:1 - * @enum {string} - */ - aspect_ratio: - | '21:9' - | '16:9' - | '3:2' - | '5:4' - | '1:1' - | '4:5' - | '2:3' - | '9:16' - | '9:21' - /** - * @description The model to use for generation. - * - * - `sd3.5-large` requires 6.5 credits per generation - * - `sd3.5-large-turbo` requires 4 credits per generation - * - `sd3.5-medium` requires 3.5 credits per generation - * - As of the April 17, 2025, `sd3-large`, `sd3-large-turbo` and `sd3-medium` - * - * - * - * are re-routed to their `sd3.5-[model version]` equivalent, at the same price. - * @default sd3.5-large - * @enum {string} - */ - model: 'sd3.5-large' | 'sd3.5-large-turbo' | 'sd3.5-medium' - /** - * @description A specific value that is used to guide the 'randomness' of the generation. (Omit this parameter or pass `0` to use a random seed.) - * @default 0 - */ - seed: number - /** - * @description Dictates the `content-type` of the generated image. - * @default png - * @enum {string} - */ - output_format: 'png' | 'jpeg' - /** - * @description Guides the image model towards a particular style. - * @enum {string} - */ - style_preset?: - | 'enhance' - | 'anime' - | 'photographic' - | 'digital-art' - | 'comic-book' - | 'fantasy-art' - | 'line-art' - | 'analog-film' - | 'neon-punk' - | 'isometric' - | 'low-poly' - | 'origami' - | 'modeling-compound' - | 'cinematic' - | '3d-model' - | 'pixel-art' - | 'tile-texture' - /** @description Keywords of what you **do not** wish to see in the output image. - * This is an advanced feature. */ - negative_prompt?: string - /** @description How strictly the diffusion process adheres to the prompt text (higher values keep your image closer to your prompt). The _Large_ and _Medium_ models use a default of `4`. The _Turbo_ model uses a default of `1`. */ - cfg_scale?: number - } - StabilityImageGenrationSD3_Response_200: { - /** - * @description The generated image, encoded to base64. - * @example AAAAIGZ0eXBpc29tAAACAGlzb21pc28yYXZjMW1... - */ - image: string - /** - * @description The seed used as random noise for this generation. - * @default 0 - * @example 343940597 - */ - seed: number - /** - * @description The reason the generation finished. - * - * - `SUCCESS` = successful generation. - * - `CONTENT_FILTERED` = successful generation, however the output violated our content moderation - * policy and has been blurred as a result. - * @example SUCCESS - * @enum {string} - */ - finish_reason: 'SUCCESS' | 'CONTENT_FILTERED' - } - StabilityImageGenrationSD3_Response_400: { - /** - * @description A unique identifier associated with this error. Please include this in any [support tickets](https://kb.stability.ai/knowledge-base/kb-tickets/new) - * you file, as it will greatly assist us in diagnosing the root cause of the problem. - * @example a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4 - */ - id: string - /** - * @description Short-hand name for an error, useful for discriminating between errors with the same status code. - * @example bad_request - */ - name: string - /** - * @description One or more error messages indicating what went wrong. - * @example [ - * "some-field: is required" - * ] - */ - errors: string[] - } - /** @example { - * "id": "4212a4b66fbe1cedca4bf2133d35dca5", - * "name": "payload_too_large", - * "errors": [ - * "body: payloads cannot be larger than 10MiB in size" - * ] - * } */ - StabilityImageGenrationSD3_Response_413: { - /** - * @description A unique identifier associated with this error. Please include this in any [support tickets](https://kb.stability.ai/knowledge-base/kb-tickets/new) - * you file, as it will greatly assist us in diagnosing the root cause of the problem. - * @example a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4 - */ - id: string - /** - * @description Short-hand name for an error, useful for discriminating between errors with the same status code. - * @example bad_request - */ - name: string - /** - * @description One or more error messages indicating what went wrong. - * @example [ - * "some-field: is required" - * ] - */ - errors: string[] - } - StabilityImageGenrationSD3_Response_422: { - /** - * @description A unique identifier associated with this error. Please include this in any [support tickets](https://kb.stability.ai/knowledge-base/kb-tickets/new) - * you file, as it will greatly assist us in diagnosing the root cause of the problem. - * @example a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4 - */ - id: string - /** - * @description Short-hand name for an error, useful for discriminating between errors with the same status code. - * @example bad_request - */ - name: string - /** - * @description One or more error messages indicating what went wrong. - * @example [ - * "some-field: is required" - * ] - */ - errors: string[] - } - /** @example { - * "id": "rate_limit_exceeded", - * "name": "rate_limit_exceeded", - * "errors": [ - * "You have exceeded the rate limit of 150 requests within a 10 second period, and have been timed out for 60 seconds." - * ] - * } */ - StabilityImageGenrationSD3_Response_429: { - /** - * @description A unique identifier associated with this error. Please include this in any [support tickets](https://kb.stability.ai/knowledge-base/kb-tickets/new) - * you file, as it will greatly assist us in diagnosing the root cause of the problem. - * @example a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4 - */ - id: string - /** - * @description Short-hand name for an error, useful for discriminating between errors with the same status code. - * @example bad_request - */ - name: string - /** - * @description One or more error messages indicating what went wrong. - * @example [ - * "some-field: is required" - * ] - */ - errors: string[] - } - /** @example { - * "id": "2a1b2d4eafe2bc6ab4cd4d5c6133f513", - * "name": "internal_error", - * "errors": [ - * "An unexpected server error has occurred, please try again later." - * ] - * } */ - StabilityImageGenrationSD3_Response_500: { - /** - * @description A unique identifier associated with this error. Please include this in any [support tickets](https://kb.stability.ai/knowledge-base/kb-tickets/new) - * you file, as it will greatly assist us in diagnosing the root cause of the problem. - * @example a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4 - */ - id: string - /** - * @description Short-hand name for an error, useful for discriminating between errors with the same status code. - * @example bad_request - */ - name: string - /** - * @description One or more error messages indicating what went wrong. - * @example [ - * "some-field: is required" - * ] - */ - errors: string[] - } - StabilityImageGenrationUpscaleConservative_Request: { - /** - * Format: binary - * @description The image you wish to upscale. - * - * Supported Formats: - * - jpeg - * - png - * - webp - * - * Validation Rules: - * - Every side must be at least 64 pixels - * - Total pixel count must be between 4,096 and 9,437,184 pixels - * - The aspect ratio must be between 1:2.5 and 2.5:1 - * @example ./some/image.png - */ - image: string - /** @description What you wish to see in the output image. A strong, descriptive prompt that clearly defines - * elements, colors, and subjects will lead to better results. - * - * To control the weight of a given word use the format `(word:weight)`, - * where `word` is the word you'd like to control the weight of and `weight` - * is a value between 0 and 1. For example: `The sky was a crisp (blue:0.3) and (green:0.8)` - * would convey a sky that was blue and green, but more green than blue. */ - prompt: string - /** @description A blurb of text describing what you **do not** wish to see in the output image. - * This is an advanced feature. */ - negative_prompt?: string - /** - * @description A specific value that is used to guide the 'randomness' of the generation. (Omit this parameter or pass `0` to use a random seed.) - * @default 0 - */ - seed: number - /** - * @description Dictates the `content-type` of the generated image. - * @default png - * @enum {string} - */ - output_format: 'jpeg' | 'png' | 'webp' - creativity?: components['schemas']['StabilityCreativity'] - } - StabilityImageGenrationUpscaleConservative_Response_200: { - /** - * @description The generated image, encoded to base64. - * @example AAAAIGZ0eXBpc29tAAACAGlzb21pc28yYXZjMW1... - */ - image: string - /** - * @description The seed used as random noise for this generation. - * @default 0 - * @example 343940597 - */ - seed: number - /** - * @description The reason the generation finished. - * - * - `SUCCESS` = successful generation. - * - `CONTENT_FILTERED` = successful generation, however the output violated our content moderation - * policy and has been blurred as a result. - * @example SUCCESS - * @enum {string} - */ - finish_reason: 'SUCCESS' | 'CONTENT_FILTERED' - } - StabilityImageGenrationUpscaleConservative_Response_400: { - /** - * @description A unique identifier associated with this error. Please include this in any [support tickets](https://kb.stability.ai/knowledge-base/kb-tickets/new) - * you file, as it will greatly assist us in diagnosing the root cause of the problem. - * @example a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4 - */ - id: string - /** - * @description Short-hand name for an error, useful for discriminating between errors with the same status code. - * @example bad_request - */ - name: string - /** - * @description One or more error messages indicating what went wrong. - * @example [ - * "some-field: is required" - * ] - */ - errors: string[] - } - /** @example { - * "id": "4212a4b66fbe1cedca4bf2133d35dca5", - * "name": "payload_too_large", - * "errors": [ - * "body: payloads cannot be larger than 10MiB in size" - * ] - * } */ - StabilityImageGenrationUpscaleConservative_Response_413: { - /** - * @description A unique identifier associated with this error. Please include this in any [support tickets](https://kb.stability.ai/knowledge-base/kb-tickets/new) - * you file, as it will greatly assist us in diagnosing the root cause of the problem. - * @example a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4 - */ - id: string - /** - * @description Short-hand name for an error, useful for discriminating between errors with the same status code. - * @example bad_request - */ - name: string - /** - * @description One or more error messages indicating what went wrong. - * @example [ - * "some-field: is required" - * ] - */ - errors: string[] - } - StabilityImageGenrationUpscaleConservative_Response_422: { - /** - * @description A unique identifier associated with this error. Please include this in any [support tickets](https://kb.stability.ai/knowledge-base/kb-tickets/new) - * you file, as it will greatly assist us in diagnosing the root cause of the problem. - * @example a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4 - */ - id: string - /** - * @description Short-hand name for an error, useful for discriminating between errors with the same status code. - * @example bad_request - */ - name: string - /** - * @description One or more error messages indicating what went wrong. - * @example [ - * "some-field: is required" - * ] - */ - errors: string[] - } - /** @example { - * "id": "rate_limit_exceeded", - * "name": "rate_limit_exceeded", - * "errors": [ - * "You have exceeded the rate limit of 150 requests within a 10 second period, and have been timed out for 60 seconds." - * ] - * } */ - StabilityImageGenrationUpscaleConservative_Response_429: { - /** - * @description A unique identifier associated with this error. Please include this in any [support tickets](https://kb.stability.ai/knowledge-base/kb-tickets/new) - * you file, as it will greatly assist us in diagnosing the root cause of the problem. - * @example a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4 - */ - id: string - /** - * @description Short-hand name for an error, useful for discriminating between errors with the same status code. - * @example bad_request - */ - name: string - /** - * @description One or more error messages indicating what went wrong. - * @example [ - * "some-field: is required" - * ] - */ - errors: string[] - } - /** @example { - * "id": "2a1b2d4eafe2bc6ab4cd4d5c6133f513", - * "name": "internal_error", - * "errors": [ - * "An unexpected server error has occurred, please try again later." - * ] - * } */ - StabilityImageGenrationUpscaleConservative_Response_500: { - /** - * @description A unique identifier associated with this error. Please include this in any [support tickets](https://kb.stability.ai/knowledge-base/kb-tickets/new) - * you file, as it will greatly assist us in diagnosing the root cause of the problem. - * @example a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4 - */ - id: string - /** - * @description Short-hand name for an error, useful for discriminating between errors with the same status code. - * @example bad_request - */ - name: string - /** - * @description One or more error messages indicating what went wrong. - * @example [ - * "some-field: is required" - * ] - */ - errors: string[] - } - StabilityImageGenrationUpscaleCreative_Request: { - /** - * Format: binary - * @description The image you wish to upscale. - * - * Supported Formats: - * - jpeg - * - png - * - webp - * - * Validation Rules: - * - Every side must be at least 64 pixels - * - Total pixel count must be between 4,096 and 1,048,576 pixels - * @example ./some/image.png - */ - image: string - /** @description What you wish to see in the output image. A strong, descriptive prompt that clearly defines - * elements, colors, and subjects will lead to better results. - * - * To control the weight of a given word use the format `(word:weight)`, - * where `word` is the word you'd like to control the weight of and `weight` - * is a value between 0 and 1. For example: `The sky was a crisp (blue:0.3) and (green:0.8)` - * would convey a sky that was blue and green, but more green than blue. */ - prompt: string - /** @description A blurb of text describing what you **do not** wish to see in the output image. - * This is an advanced feature. */ - negative_prompt?: string - /** - * @description Dictates the `content-type` of the generated image. - * @default png - * @enum {string} - */ - output_format: 'jpeg' | 'png' | 'webp' - /** - * @description A specific value that is used to guide the 'randomness' of the generation. (Omit this parameter or pass `0` to use a random seed.) - * @default 0 - */ - seed: number - /** - * @description Indicates how creative the model should be when upscaling an image. - * Higher values will result in more details being added to the image during upscaling. - * @default 0.3 - */ - creativity: number - /** - * @description Guides the image model towards a particular style. - * @enum {string} - */ - style_preset?: - | 'enhance' - | 'anime' - | 'photographic' - | 'digital-art' - | 'comic-book' - | 'fantasy-art' - | 'line-art' - | 'analog-film' - | 'neon-punk' - | 'isometric' - | 'low-poly' - | 'origami' - | 'modeling-compound' - | 'cinematic' - | '3d-model' - | 'pixel-art' - | 'tile-texture' - } - StabilityImageGenrationUpscaleCreative_Response_200: { - id: components['schemas']['StabilityGenerationID'] - } - StabilityImageGenrationUpscaleCreative_Response_400: { - /** - * @description A unique identifier associated with this error. Please include this in any [support tickets](https://kb.stability.ai/knowledge-base/kb-tickets/new) - * you file, as it will greatly assist us in diagnosing the root cause of the problem. - * @example a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4 - */ - id: string - /** - * @description Short-hand name for an error, useful for discriminating between errors with the same status code. - * @example bad_request - */ - name: string - /** - * @description One or more error messages indicating what went wrong. - * @example [ - * "some-field: is required" - * ] - */ - errors: string[] - } - /** @example { - * "id": "4212a4b66fbe1cedca4bf2133d35dca5", - * "name": "payload_too_large", - * "errors": [ - * "body: payloads cannot be larger than 10MiB in size" - * ] - * } */ - StabilityImageGenrationUpscaleCreative_Response_413: { - /** - * @description A unique identifier associated with this error. Please include this in any [support tickets](https://kb.stability.ai/knowledge-base/kb-tickets/new) - * you file, as it will greatly assist us in diagnosing the root cause of the problem. - * @example a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4 - */ - id: string - /** - * @description Short-hand name for an error, useful for discriminating between errors with the same status code. - * @example bad_request - */ - name: string - /** - * @description One or more error messages indicating what went wrong. - * @example [ - * "some-field: is required" - * ] - */ - errors: string[] - } - StabilityImageGenrationUpscaleCreative_Response_422: { - /** - * @description A unique identifier associated with this error. Please include this in any [support tickets](https://kb.stability.ai/knowledge-base/kb-tickets/new) - * you file, as it will greatly assist us in diagnosing the root cause of the problem. - * @example a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4 - */ - id: string - /** - * @description Short-hand name for an error, useful for discriminating between errors with the same status code. - * @example bad_request - */ - name: string - /** - * @description One or more error messages indicating what went wrong. - * @example [ - * "some-field: is required" - * ] - */ - errors: string[] - } - /** @example { - * "id": "rate_limit_exceeded", - * "name": "rate_limit_exceeded", - * "errors": [ - * "You have exceeded the rate limit of 150 requests within a 10 second period, and have been timed out for 60 seconds." - * ] - * } */ - StabilityImageGenrationUpscaleCreative_Response_429: { - /** - * @description A unique identifier associated with this error. Please include this in any [support tickets](https://kb.stability.ai/knowledge-base/kb-tickets/new) - * you file, as it will greatly assist us in diagnosing the root cause of the problem. - * @example a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4 - */ - id: string - /** - * @description Short-hand name for an error, useful for discriminating between errors with the same status code. - * @example bad_request - */ - name: string - /** - * @description One or more error messages indicating what went wrong. - * @example [ - * "some-field: is required" - * ] - */ - errors: string[] - } - /** @example { - * "id": "2a1b2d4eafe2bc6ab4cd4d5c6133f513", - * "name": "internal_error", - * "errors": [ - * "An unexpected server error has occurred, please try again later." - * ] - * } */ - StabilityImageGenrationUpscaleCreative_Response_500: { - /** - * @description A unique identifier associated with this error. Please include this in any [support tickets](https://kb.stability.ai/knowledge-base/kb-tickets/new) - * you file, as it will greatly assist us in diagnosing the root cause of the problem. - * @example a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4 - */ - id: string - /** - * @description Short-hand name for an error, useful for discriminating between errors with the same status code. - * @example bad_request - */ - name: string - /** - * @description One or more error messages indicating what went wrong. - * @example [ - * "some-field: is required" - * ] - */ - errors: string[] - } - StabilityImageGenrationUpscaleFast_Request: { - /** - * Format: binary - * @description The image you wish to upscale. - * - * Supported Formats: - * - jpeg - * - png - * - webp - * - * Validation Rules: - * - Width must be between 32 and 1,536 pixels - * - Height must be between 32 and 1,536 pixels - * - Total pixel count must be between 1,024 and 1,048,576 pixels - * @example ./some/image.png - */ - image: string - /** - * @description Dictates the `content-type` of the generated image. - * @default png - * @enum {string} - */ - output_format: 'jpeg' | 'png' | 'webp' - } - StabilityImageGenrationUpscaleFast_Response_200: { - /** - * @description The generated image, encoded to base64. - * @example AAAAIGZ0eXBpc29tAAACAGlzb21pc28yYXZjMW1... - */ - image: string - /** - * @description The seed used as random noise for this generation. - * @default 0 - * @example 343940597 - */ - seed: number - /** - * @description The reason the generation finished. - * - * - `SUCCESS` = successful generation. - * - `CONTENT_FILTERED` = successful generation, however the output violated our content moderation - * policy and has been blurred as a result. - * @example SUCCESS - * @enum {string} - */ - finish_reason: 'SUCCESS' | 'CONTENT_FILTERED' - } - StabilityImageGenrationUpscaleFast_Response_400: { - /** - * @description A unique identifier associated with this error. Please include this in any [support tickets](https://kb.stability.ai/knowledge-base/kb-tickets/new) - * you file, as it will greatly assist us in diagnosing the root cause of the problem. - * @example a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4 - */ - id: string - /** - * @description Short-hand name for an error, useful for discriminating between errors with the same status code. - * @example bad_request - */ - name: string - /** - * @description One or more error messages indicating what went wrong. - * @example [ - * "some-field: is required" - * ] - */ - errors: string[] - } - /** @example { - * "id": "4212a4b66fbe1cedca4bf2133d35dca5", - * "name": "payload_too_large", - * "errors": [ - * "body: payloads cannot be larger than 10MiB in size" - * ] - * } */ - StabilityImageGenrationUpscaleFast_Response_413: { - /** - * @description A unique identifier associated with this error. Please include this in any [support tickets](https://kb.stability.ai/knowledge-base/kb-tickets/new) - * you file, as it will greatly assist us in diagnosing the root cause of the problem. - * @example a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4 - */ - id: string - /** - * @description Short-hand name for an error, useful for discriminating between errors with the same status code. - * @example bad_request - */ - name: string - /** - * @description One or more error messages indicating what went wrong. - * @example [ - * "some-field: is required" - * ] - */ - errors: string[] - } - StabilityImageGenrationUpscaleFast_Response_422: { - /** - * @description A unique identifier associated with this error. Please include this in any [support tickets](https://kb.stability.ai/knowledge-base/kb-tickets/new) - * you file, as it will greatly assist us in diagnosing the root cause of the problem. - * @example a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4 - */ - id: string - /** - * @description Short-hand name for an error, useful for discriminating between errors with the same status code. - * @example bad_request - */ - name: string - /** - * @description One or more error messages indicating what went wrong. - * @example [ - * "some-field: is required" - * ] - */ - errors: string[] - } - /** @example { - * "id": "rate_limit_exceeded", - * "name": "rate_limit_exceeded", - * "errors": [ - * "You have exceeded the rate limit of 150 requests within a 10 second period, and have been timed out for 60 seconds." - * ] - * } */ - StabilityImageGenrationUpscaleFast_Response_429: { - /** - * @description A unique identifier associated with this error. Please include this in any [support tickets](https://kb.stability.ai/knowledge-base/kb-tickets/new) - * you file, as it will greatly assist us in diagnosing the root cause of the problem. - * @example a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4 - */ - id: string - /** - * @description Short-hand name for an error, useful for discriminating between errors with the same status code. - * @example bad_request - */ - name: string - /** - * @description One or more error messages indicating what went wrong. - * @example [ - * "some-field: is required" - * ] - */ - errors: string[] - } - StabilityGetResultResponse_202: { - /** @enum {string} */ - status?: 'in-progress' - /** - * @description The ID of the generation result. - * @example 1234567890 - */ - id?: string - } - APIKey: { - id?: string - name?: string - description?: string - key_prefix?: string - /** Format: date-time */ - created_at?: string - } - APIKeyWithPlaintext: components['schemas']['APIKey'] & { - /** @description The full API key (only returned at creation) */ - plaintext_key?: string - } - GeminiGenerateContentRequest: { - contents: components['schemas']['GeminiContent'][] - tools?: components['schemas']['GeminiTool'][] - safetySettings?: components['schemas']['GeminiSafetySetting'][] - generationConfig?: components['schemas']['GeminiGenerationConfig'] - systemInstruction?: components['schemas']['GeminiSystemInstructionContent'] - videoMetadata?: components['schemas']['GeminiVideoMetadata'] - } - GeminiGenerateContentResponse: { - candidates?: components['schemas']['GeminiCandidate'][] - promptFeedback?: components['schemas']['GeminiPromptFeedback'] - usageMetadata?: components['schemas']['GeminiUsageMetadata'] - } - GeminiUsageMetadata: { - /** @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. */ - promptTokenCount?: number - /** @description Number of tokens in the response(s). */ - candidatesTokenCount?: number - /** @description Number of tokens present in tool-use prompt(s). */ - toolUsePromptTokenCount?: number - /** @description Number of tokens present in thoughts output. */ - thoughtsTokenCount?: number - /** @description Output only. Number of tokens in the cached part in the input (the cached content). */ - cachedContentTokenCount?: number - /** @description Breakdown of prompt tokens by modality. */ - promptTokensDetails?: components['schemas']['ModalityTokenCount'][] - /** @description Breakdown of candidate tokens by modality. */ - candidatesTokensDetails?: components['schemas']['ModalityTokenCount'][] - } - ModalityTokenCount: { - modality?: components['schemas']['Modality'] - /** @description Number of tokens for the given modality. */ - tokenCount?: number - } - /** - * @description Type of input or output content modality. - * @enum {string} - */ - Modality: - | 'MODALITY_UNSPECIFIED' - | 'TEXT' - | 'IMAGE' - | 'VIDEO' - | 'AUDIO' - | 'DOCUMENT' - /** @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. - * */ - GeminiSystemInstructionContent: { - /** - * @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. - * - * @example user - * @enum {string} - */ - role: 'user' | 'model' - /** @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. - * */ - parts: components['schemas']['GeminiTextPart'][] - } - /** @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. - * */ - GeminiContent: { - /** - * @example user - * @enum {string} - */ - role: 'user' | 'model' - parts: components['schemas']['GeminiPart'][] - } - /** @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. - * */ - GeminiTool: { - functionDeclarations?: components['schemas']['GeminiFunctionDeclaration'][] - } - /** @description Per request settings for blocking unsafe content. Enforced on GenerateContentResponse.candidates. - * */ - GeminiSafetySetting: { - category: components['schemas']['GeminiSafetyCategory'] - threshold: components['schemas']['GeminiSafetyThreshold'] - } - /** @enum {string} */ - GeminiSafetyCategory: - | 'HARM_CATEGORY_SEXUALLY_EXPLICIT' - | 'HARM_CATEGORY_HATE_SPEECH' - | 'HARM_CATEGORY_HARASSMENT' - | 'HARM_CATEGORY_DANGEROUS_CONTENT' - /** @enum {string} */ - GeminiSafetyThreshold: - | 'OFF' - | 'BLOCK_NONE' - | 'BLOCK_LOW_AND_ABOVE' - | 'BLOCK_MEDIUM_AND_ABOVE' - | 'BLOCK_ONLY_HIGH' - GeminiGenerationConfig: { - /** - * Format: float - * @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 - * - * @default 1 - */ - temperature: number - /** - * Format: float - * @description If specified, nucleus sampling is used. - * Top-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. - * Specify a lower value for less random responses and a higher value for more random responses. - * - * @default 0.95 - */ - topP: number - /** - * @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. - * - * @default 40 - * @example 40 - */ - topK: number - /** - * @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. - * - * @example 2048 - */ - maxOutputTokens?: number - /** - * @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-preview-04-1, gemini-2.5-pro-preview-05-0, gemini-2.0-flash-lite-00, gemini-2.0-flash-001 - * - * @example 343940597 - */ - seed?: number - stopSequences?: string[] - } - /** @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. - * */ - GeminiVideoMetadata: { - startOffset?: components['schemas']['GeminiOffset'] - endOffset?: components['schemas']['GeminiOffset'] - } - /** @description Represents a duration offset for video timeline positions. - * */ - GeminiOffset: { - /** - * @description Signed seconds of the span of time. Must be from -315,576,000,000 to +315,576,000,000 inclusive. - * - * @example 60 - */ - seconds?: number - /** - * @description Signed fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values. - * - * @example 0 - */ - nanos?: number - } - GeminiCandidate: { - content?: components['schemas']['GeminiContent'] - finishReason?: string - safetyRatings?: components['schemas']['GeminiSafetyRating'][] - citationMetadata?: components['schemas']['GeminiCitationMetadata'] - } - /** - * @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 {string} - */ - GeminiMimeType: - | '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' - GeminiPromptFeedback: { - safetyRatings?: components['schemas']['GeminiSafetyRating'][] - blockReason?: string - blockReasonMessage?: string - } - GeminiTextPart: { - /** - * @description A text prompt or code snippet. - * @example Answer as concisely as possible - */ - text?: string - } - GeminiPart: { - /** - * @description A text prompt or code snippet. - * @example Write a story about a robot learning to paint - */ - text?: string - inlineData?: components['schemas']['GeminiInlineData'] - } - GeminiFunctionDeclaration: { - name: string - description?: string - /** @description JSON schema for the function parameters */ - parameters: Record - } - GeminiSafetyRating: { - category?: components['schemas']['GeminiSafetyCategory'] - /** - * @description The probability that the content violates the specified safety category - * @enum {string} - */ - probability?: 'NEGLIGIBLE' | 'LOW' | 'MEDIUM' | 'HIGH' | 'UNKNOWN' - } - GeminiCitationMetadata: { - citations?: components['schemas']['GeminiCitation'][] - } - /** @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. - * */ - GeminiInlineData: { - mimeType?: components['schemas']['GeminiMimeType'] - /** - * Format: byte - * @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 - * - */ - data?: string - } - GeminiCitation: { - startIndex?: number - endIndex?: number - uri?: string - title?: string - license?: string - /** Format: date */ - publicationDate?: string - authors?: string[] - } - Rodin3DGenerateRequest: { - /** @description The reference images to generate 3D Assets. */ - images: string - /** @description Seed. */ - seed?: number - tier?: components['schemas']['RodinTierType'] - material?: components['schemas']['RodinMaterialType'] - quality?: components['schemas']['RodinQualityType'] - mesh_mode?: components['schemas']['RodinMeshModeType'] - } - /** - * @description Rodin Tier para options - * @enum {string} - */ - RodinTierType: 'Regular' | 'Sketch' | 'Detail' | 'Smooth' - /** - * @description Rodin Material para options - * @enum {string} - */ - RodinMaterialType: 'PBR' | 'Shaded' - /** - * @description Rodin Quality para options - * @enum {string} - */ - RodinQualityType: 'extra-low' | 'low' | 'medium' | 'high' - /** - * @description Rodin Mesh_Mode para options - * @enum {string} - */ - RodinMeshModeType: 'Quad' | 'Raw' - Rodin3DCheckStatusRequest: { - /** @description subscription from generate endpoint */ - subscription_key: string - } - Rodin3DDownloadRequest: { - /** @description Task UUID */ - task_uuid: string - } - Rodin3DGenerateResponse: { - /** @description message */ - message?: string - /** @description prompt */ - prompt?: string - /** @description Time */ - submit_time?: string - /** @description Task UUID */ - uuid?: string - jobs?: components['schemas']['RodinGenerateJobsData'] - } - RodinGenerateJobsData: { - /** @description subjobs uuid. */ - uuids?: string[] - /** @description Subscription Key. */ - subscription_key?: string - } - Rodin3DCheckStatusResponse: { - /** @description Details for the generation status. */ - jobs?: components['schemas']['RodinCheckStatusJobItem'][] - } - RodinCheckStatusJobItem: { - /** @description sub uuid */ - uuid?: string - status?: components['schemas']['RodinStatusOptions'] - } - /** @enum {string} */ - RodinStatusOptions: 'Done' | 'Failed' | 'Generating' | 'Waiting' - Rodin3DDownloadResponse: { - list?: components['schemas']['RodinResourceItem'][] - } - RodinResourceItem: { - /** @description Download url */ - url?: string - /** @description File name */ - name?: string - } - CreateAPIKeyRequest: { - name: string - description?: string - } - /** @example { - * "id": "2a1b2d4eafe2bc6ab4cd4d5c6133f513", - * "name": "internal_error", - * "errors": [ - * "An unexpected server error has occurred, please try again later." - * ] - * } */ - StabilityImageGenrationUpscaleFast_Response_500: { - /** - * @description A unique identifier associated with this error. Please include this in any [support tickets](https://kb.stability.ai/knowledge-base/kb-tickets/new) - * you file, as it will greatly assist us in diagnosing the root cause of the problem. - * @example a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4 - */ - id: string - /** - * @description Short-hand name for an error, useful for discriminating between errors with the same status code. - * @example bad_request - */ - name: string - /** - * @description One or more error messages indicating what went wrong. - * @example [ - * "some-field: is required" - * ] - */ - errors: string[] - } - /** @description Common properties for model responses */ - ModelResponseProperties: { - /** @description The model used to generate the response */ - model?: string - /** @description Instructions for the model on how to generate the response */ - instructions?: string - /** @description Maximum number of tokens to generate */ - max_output_tokens?: number - /** - * @description Controls randomness in the response - * @default 1 - */ - temperature: number - /** - * @description Controls diversity of the response via nucleus sampling - * @default 1 - */ - top_p: number - /** - * @description How to handle truncation of the response - * @default disabled - * @enum {string} - */ - truncation: 'disabled' | 'auto' - } - /** - * Input file - * @description A file input to the model. - */ - InputFileContent: { - /** - * @description The type of the input item. Always `input_file`. - * @default input_file - * @enum {string} - */ - type: 'input_file' - /** @description The ID of the file to be sent to the model. */ - file_id?: string - /** @description The name of the file to be sent to the model. */ - filename?: string - /** @description The content of the file to be sent to the model. - * */ - file_data?: string - } - ResponseProperties: { - /** @description The unique ID of the previous response to the model. Use this to - * create multi-turn conversations. Learn more about - * [conversation state](/docs/guides/conversation-state). - * */ - previous_response_id?: string - /** @description Model ID used to generate the response, like `gpt-4o` or `o3`. OpenAI - * offers a wide range of models with different capabilities, performance - * characteristics, and price points. Refer to the [model guide](/docs/models) - * to browse and compare available models. - * */ - model?: components['schemas']['OpenAIModels'] - reasoning?: components['schemas']['Reasoning'] - /** @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). - * */ - max_output_tokens?: number - /** @description Inserts a system (or developer) message as the first item in the model's context. - * - * When using along with `previous_response_id`, the instructions from a previous - * response will not be carried over to the next response. This makes it simple - * to swap out system (or developer) messages in new responses. - * */ - instructions?: string - text?: { - format?: components['schemas']['TextResponseFormatConfiguration'] - } - tools?: components['schemas']['Tool'][] - /** @description How the model should select which tool (or tools) to use when generating - * a response. See the `tools` parameter to see how to specify which tools - * the model can call. - * */ - tool_choice?: - | components['schemas']['ToolChoiceOptions'] - | components['schemas']['ToolChoiceTypes'] - | components['schemas']['ToolChoiceFunction'] - /** - * @description The truncation strategy to use for the model response. - * - `auto`: If the context of this response and previous ones exceeds - * the model's context window size, the model will truncate the - * response to fit the context window by dropping input items in the - * middle of the conversation. - * - `disabled` (default): If a model response will exceed the context window - * size for a model, the request will fail with a 400 error. - * - * @default disabled - * @enum {string} - */ - truncation: 'auto' | 'disabled' - } - /** @description An object specifying the format that the model must output. - * - * Configuring `{ "type": "json_schema" }` enables Structured Outputs, - * which ensures the model will match your supplied JSON schema. Learn more in the - * [Structured Outputs guide](/docs/guides/structured-outputs). - * - * The default format is `{ "type": "text" }` with no additional options. - * - * **Not recommended for gpt-4o and newer models:** - * - * Setting to `{ "type": "json_object" }` enables the older JSON mode, which - * ensures the message the model generates is valid JSON. Using `json_schema` - * is preferred for models that support it. - * */ - TextResponseFormatConfiguration: - | components['schemas']['ResponseFormatText'] - | components['schemas']['TextResponseFormatJsonSchema'] - | components['schemas']['ResponseFormatJsonObject'] - /** - * JSON object - * @description JSON object response format. An older method of generating JSON responses. - * Using `json_schema` is recommended for models that support it. Note that the - * model will not generate JSON without a system or user message instructing it - * to do so. - * - */ - ResponseFormatJsonObject: { - /** - * @description The type of response format being defined. Always `json_object`. - * @enum {string} - */ - type: 'json_object' - } - /** - * JSON schema - * @description JSON Schema response format. Used to generate structured JSON responses. - * Learn more about [Structured Outputs](/docs/guides/structured-outputs). - * - */ - ResponseFormatJsonSchema: { - /** @default json_schema */ - type: string - /** - * JSON schema - * @description Structured Outputs configuration options, including a JSON Schema. - * - */ - json_schema: { - /** @description A description of what the response format is for, used by the model to - * determine how to respond in the format. - * */ - description?: string - /** @description The name of the response format. Must be a-z, A-Z, 0-9, or contain - * underscores and dashes, with a maximum length of 64. - * */ - name: string - schema?: components['schemas']['ResponseFormatJsonSchemaSchema'] + NodeVersionStatus: "NodeVersionStatusActive" | "NodeVersionStatusDeleted" | "NodeVersionStatusBanned" | "NodeVersionStatusPending" | "NodeVersionStatusFlagged"; + /** @enum {string} */ + PublisherStatus: "PublisherStatusActive" | "PublisherStatusBanned"; + /** @enum {string} */ + WorkflowRunStatus: "WorkflowRunStatusStarted" | "WorkflowRunStatusFailed" | "WorkflowRunStatusCompleted"; + MachineStats: { + /** @description Name of the machine. */ + machine_name?: string; + /** @description The operating system version. eg. Ubuntu Linux 20.04 */ + os_version?: string; + /** @description The GPU type. eg. NVIDIA Tesla K80 */ + gpu_type?: string; + /** @description Total CPU on the machine. */ + cpu_capacity?: string; + /** @description Initial CPU available before the job starts. */ + initial_cpu?: string; + /** @description Total memory on the machine. */ + memory_capacity?: string; + /** @description Initial RAM available before the job starts. */ + initial_ram?: string; + /** @description Time series of VRAM usage. */ + vram_time_series?: Record; + /** @description Total disk capacity on the machine. */ + disk_capacity?: string; + /** @description Initial disk available before the job starts. */ + initial_disk?: string; + /** @description The pip freeze output */ + pip_freeze?: string; + }; + Customer: { + /** @description The firebase UID of the user */ + id: string; + /** @description The email address for this user */ + email?: string; + /** @description The name for this user */ + name?: string; + /** + * Format: date-time + * @description The date and time the user was created + */ + createdAt?: string; + /** + * Format: date-time + * @description The date and time the user was last updated + */ + updatedAt?: string; + /** @description Whether the user is an admin */ + is_admin?: boolean; + /** @description The Stripe customer ID */ + stripe_id?: string; + /** @description The Metronome customer ID */ + metronome_id?: string; + /** @description Whether the user has funds */ + has_fund?: boolean; + }; + CustomerAdmin: { + /** @description The firebase UID of the user */ + id: string; + /** @description The email address for this user */ + email?: string; + /** @description The name for this user */ + name?: string; + /** + * Format: date-time + * @description The date and time the user was created + */ + createdAt?: string; + /** + * Format: date-time + * @description The date and time the user was last updated + */ + updatedAt?: string; + /** @description Whether the user is an admin */ + is_admin?: boolean; + /** @description The Stripe customer ID */ + stripe_id?: string; + /** @description The Metronome customer ID */ + metronome_id?: string; + /** @description Whether the user has funds */ + has_fund?: boolean; + /** @description Whether the customer has an active cloud subscription */ + cloud_subscription_is_active?: boolean; + /** @description The active subscription ID if one exists */ + cloud_subscription_subscription_id?: string | null; + /** + * Format: date-time + * @description The next renewal date for the subscription (ISO 8601 format) + */ + cloud_subscription_renewal_date?: string | null; + /** + * Format: date-time + * @description The date when the subscription is set to end (ISO 8601 format) + */ + cloud_subscription_end_date?: string | null; + }; + AuditLog: { + /** @description the type of the event */ + event_type?: string; + /** @description the id of the event */ + event_id?: string; + /** @description data related to the event */ + params?: { + [key: string]: unknown; + }; + /** + * Format: date-time + * @description The date and time the event was created + */ + createdAt?: string; + }; + IdeogramV3Request: { + /** @description The text prompt for image generation */ + prompt: string; + /** @description Seed value for reproducible generation */ + seed?: number; + /** + * @description Image resolution in format WxH + * @example 1280x800 + */ + resolution?: string; + /** + * @description Aspect ratio in format WxH + * @example 1x3 + */ + aspect_ratio?: string; + rendering_speed: components["schemas"]["RenderingSpeed"]; + /** + * @description Whether to enable magic prompt enhancement + * @enum {string} + */ + magic_prompt?: "ON" | "OFF"; + /** @description Text prompt specifying what to avoid in the generation */ + negative_prompt?: string; + /** @description Number of images to generate */ + num_images?: number; + color_palette?: { + /** + * @description Name of the color palette + * @example PASTEL + */ + name: string; + }; + /** @description Array of style codes in hexadecimal format */ + style_codes?: string[]; + style_type?: components["schemas"]["IdeogramStyleType"]; + /** @description Array of reference image URLs or identifiers */ + style_reference_images?: string[]; + /** @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. */ + character_reference_images?: string[]; + /** @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. */ + character_reference_images_mask?: string[]; + }; + IdeogramV3EditRequest: { + /** + * Format: binary + * @description The image being edited (max size 10MB); only JPEG, WebP and PNG formats are supported at this time. + */ + image?: string; + /** + * Format: binary + * @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. + */ + mask?: string; + /** @description The prompt used to describe the edited result. */ + prompt: string; + /** @description Determine if MagicPrompt should be used in generating the request or not. */ + magic_prompt?: string; + /** @description The number of images to generate. */ + num_images?: number; + /** @description Random seed. Set for reproducible generation. */ + seed?: number; + rendering_speed: components["schemas"]["RenderingSpeed"]; + style_type?: components["schemas"]["IdeogramStyleType"]; + /** @description A color palette for generation, must EITHER be specified via one of the presets (name) or explicitly via hexadecimal representations of the color with optional weights (members). Not supported by V_1, V_1_TURBO, V_2A and V_2A_TURBO models. */ + color_palette?: components["schemas"]["IdeogramColorPalette"]; + /** @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. */ + style_codes?: string[]; + /** @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. */ + style_reference_images?: string[]; + /** @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. */ + character_reference_images?: string[]; + /** @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. */ + character_reference_images_mask?: string[]; + }; + /** @description A color palette specification that can either use a preset name or explicit color definitions with weights */ + IdeogramColorPalette: { + /** @description Name of the preset color palette */ + name: string; + } | { + /** @description Array of color definitions with optional weights */ + members: { + /** @description Hexadecimal color code */ + color?: string; + /** @description Optional weight for the color (0-1) */ + weight?: number; + }[]; + }; + /** @description Parameters for the Ideogram generation proxy request. Based on Ideogram's API. */ + IdeogramGenerateRequest: { + /** @description The image generation request parameters. */ + image_request: { + /** @description Required. The prompt to use to generate the image. */ + prompt: string; + /** @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. */ + aspect_ratio?: string; + /** @description The model used (e.g., 'V_2', 'V_2A_TURBO') */ + model: string; + /** @description Optional. MagicPrompt usage ('AUTO', 'ON', 'OFF'). */ + magic_prompt_option?: string; + /** + * Format: int64 + * @description Optional. A number between 0 and 2147483647. + */ + seed?: number; + /** @description Optional. Style type ('AUTO', 'GENERAL', 'REALISTIC', 'DESIGN', 'RENDER_3D', 'ANIME'). Only for models V_2 and above. */ + style_type?: string; + /** @description Optional. Description of what to exclude. Only for V_1, V_1_TURBO, V_2, V_2_TURBO. */ + negative_prompt?: string; + /** + * @description Optional. Number of images to generate (1-8). Defaults to 1. + * @default 1 + */ + num_images: number; + /** @description Optional. Resolution (e.g., 'RESOLUTION_1024_1024'). Only for model V_2. Cannot be used with aspect_ratio. */ + resolution?: string; + /** @description Optional. Color palette object. Only for V_2, V_2_TURBO. */ + color_palette?: { + [key: string]: unknown; + }; + }; + }; + /** @description Response from the Ideogram image generation API. */ + IdeogramGenerateResponse: { + /** + * Format: date-time + * @description Timestamp when the generation was created. + */ + created?: string; + /** @description Array of generated image information. */ + data?: { + /** @description The prompt used to generate this image. */ + prompt?: string; + /** @description The resolution of the generated image (e.g., '1024x1024'). */ + resolution?: string; + /** @description Indicates whether the image is considered safe. */ + is_image_safe?: boolean; + /** @description The seed value used for this generation. */ + seed?: number; + /** @description URL to the generated image. */ + url?: string; + /** @description The style type used for generation (e.g., 'REALISTIC', 'ANIME'). */ + style_type?: string; + }[]; + }; + IdeogramV3RemixRequest: { + /** Format: binary */ + image?: string; + prompt: string; + /** @default 50 */ + image_weight: number; + seed?: number; + resolution?: string; + aspect_ratio?: string; + rendering_speed?: components["schemas"]["RenderingSpeed"]; + /** @enum {string} */ + magic_prompt?: "AUTO" | "ON" | "OFF"; + negative_prompt?: string; + num_images?: number; + color_palette?: Record; + style_codes?: string[]; + style_type?: components["schemas"]["IdeogramStyleType"]; + style_reference_images?: string[]; + /** @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. */ + character_reference_images?: string[]; + /** @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. */ + character_reference_images_mask?: string[]; + }; + IdeogramV3IdeogramResponse: { + /** Format: date-time */ + created?: string; + data?: { + prompt?: string; + resolution?: string; + is_image_safe?: boolean; + seed?: number; + url?: string; + style_type?: string; + }[]; + }; + IdeogramV3ReframeRequest: { + /** Format: binary */ + image?: string; + resolution: string; + num_images?: number; + seed?: number; + rendering_speed?: components["schemas"]["RenderingSpeed"]; + color_palette?: Record; + style_codes?: string[]; + style_reference_images?: string[]; + }; + IdeogramV3ReplaceBackgroundRequest: { + /** Format: binary */ + image?: string; + prompt: string; + /** @enum {string} */ + magic_prompt?: "AUTO" | "ON" | "OFF"; + num_images?: number; + seed?: number; + rendering_speed?: components["schemas"]["RenderingSpeed"]; + color_palette?: Record; + style_codes?: string[]; + style_reference_images?: string[]; + }; /** - * @description Whether to enable strict schema adherence when generating the output. - * If set to true, the model will always follow the exact schema defined - * in the `schema` field. Only a subset of JSON Schema is supported when - * `strict` is `true`. To learn more, read the [Structured Outputs - * guide](/docs/guides/structured-outputs). - * - * @default false + * @description Task Status + * @enum {string} */ - strict: boolean - } - } - /** - * JSON schema - * @description The schema for the response format, described as a JSON Schema object. - * Learn how to build JSON schemas [here](https://json-schema.org/). - * - */ - ResponseFormatJsonSchemaSchema: { - [key: string]: unknown - } - /** - * Text - * @description Default response format. Used to generate text responses. - * - */ - ResponseFormatText: { - /** - * @description The type of response format being defined. Always `text`. - * @enum {string} - */ - type: 'text' - } - /** - * JSON schema - * @description JSON Schema response format. Used to generate structured JSON responses. - * Learn more about [Structured Outputs](/docs/guides/structured-outputs). - * - */ - TextResponseFormatJsonSchema: { - /** - * @description The type of response format being defined. Always `json_schema`. - * @enum {string} - */ - type: 'json_schema' - /** @description A description of what the response format is for, used by the model to - * determine how to respond in the format. - * */ - description?: string - /** @description The name of the response format. Must be a-z, A-Z, 0-9, or contain - * underscores and dashes, with a maximum length of 64. - * */ - name: string - schema: components['schemas']['ResponseFormatJsonSchemaSchema'] - /** - * @description Whether to enable strict schema adherence when generating the output. - * If set to true, the model will always follow the exact schema defined - * in the `schema` field. Only a subset of JSON Schema is supported when - * `strict` is `true`. To learn more, read the [Structured Outputs - * guide](/docs/guides/structured-outputs). - * - * @default false - */ - strict: boolean - } - /** - * Reasoning - * @description **o-series models only** - * - * Configuration options for - * [reasoning models](https://platform.openai.com/docs/guides/reasoning). - * - */ - Reasoning: { - effort?: components['schemas']['ReasoningEffort'] - /** - * @description A summary of the reasoning performed by the model. This can be - * useful for debugging and understanding the model's reasoning process. - * One of `auto`, `concise`, or `detailed`. - * - * @enum {string} - */ - summary?: 'auto' | 'concise' | 'detailed' - /** - * @deprecated - * @description **Deprecated:** use `summary` instead. - * - * A summary of the reasoning performed by the model. This can be - * useful for debugging and understanding the model's reasoning process. - * One of `auto`, `concise`, or `detailed`. - * - * @enum {string} - */ - generate_summary?: 'auto' | 'concise' | 'detailed' - } - /** - * @description **o-series models only** - * - * Constrains effort on reasoning for - * [reasoning models](https://platform.openai.com/docs/guides/reasoning). - * Currently supported values are `low`, `medium`, and `high`. Reducing - * reasoning effort can result in faster responses and fewer tokens used - * on reasoning in a response. - * - * @default medium - * @enum {string} - */ - ReasoningEffort: 'low' | 'medium' | 'high' - /** - * Web search preview - * @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). - */ - WebSearchPreviewTool: { - /** - * @description The type of the web search tool. One of `web_search_preview` or `web_search_preview_2025_03_11`. (enum property replaced by openapi-typescript) - * @enum {string} - */ - type: 'WebSearchPreviewTool' - /** - * @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 {string} - */ - search_context_size?: 'low' | 'medium' | 'high' - } - /** - * Computer use preview - * @description A tool that controls a virtual computer. Learn more about the [computer tool](https://platform.openai.com/docs/guides/tools-computer-use). - */ - ComputerUsePreviewTool: { - /** - * @description The type of the computer use tool. Always `computer_use_preview`. (enum property replaced by openapi-typescript) - * @enum {string} - */ - type: 'ComputerUsePreviewTool' - /** - * @description The type of computer environment to control. - * @enum {string} - */ - environment: 'windows' | 'mac' | 'linux' | 'ubuntu' | 'browser' - /** @description The width of the computer display. */ - display_width: number - /** @description The height of the computer display. */ - display_height: number - } - Tool: - | components['schemas']['FileSearchTool'] - | components['schemas']['FunctionTool'] - | components['schemas']['WebSearchPreviewTool'] - | components['schemas']['ComputerUsePreviewTool'] - /** @description Emitted when an error occurs. */ - ResponseErrorEvent: { - /** - * @description The type of the event. Always `error`. - * - * @enum {string} - */ - type: 'error' - /** @description The error code. - * */ - code: string - /** @description The error message. - * */ - message: string - /** @description The error parameter. - * */ - param: string - } - /** @description Emitted when a new output item is added. */ - ResponseOutputItemAddedEvent: { - /** - * @description The type of the event. Always `response.output_item.added`. - * - * @enum {string} - */ - type: 'response.output_item.added' - /** @description The index of the output item that was added. - * */ - output_index: number - /** @description The output item that was added. - * */ - item: components['schemas']['OutputItem'] - } - /** @description Emitted when an output item is marked done. */ - ResponseOutputItemDoneEvent: { - /** - * @description The type of the event. Always `response.output_item.done`. - * - * @enum {string} - */ - type: 'response.output_item.done' - /** @description The index of the output item that was marked done. - * */ - output_index: number - /** @description The output item that was marked done. - * */ - item: components['schemas']['OutputItem'] - } - /** - * Function tool - * @description Use this option to force the model to call a specific function. - * - */ - ToolChoiceFunction: { - /** - * @description For function calling, the type is always `function`. - * @enum {string} - */ - type: 'function' - /** @description The name of the function to call. */ - name: string - } - /** - * Tool choice mode - * @description Controls which (if any) tool is called by the model. - * - * `none` means the model will not call any tool and instead generates a message. - * - * `auto` means the model can pick between generating a message or calling one or - * more tools. - * - * `required` means the model must call one or more tools. - * - * @enum {string} - */ - ToolChoiceOptions: 'none' | 'auto' | 'required' - /** - * Hosted tool - * @description Indicates that the model should use a built-in tool to generate a response. - * [Learn more about built-in tools](/docs/guides/tools). - * - */ - ToolChoiceTypes: { - /** - * @description The type of hosted tool the model should to use. Learn more about - * [built-in tools](/docs/guides/tools). - * - * Allowed values are: - * - `file_search` - * - `web_search_preview` - * - `computer_use_preview` - * - * @enum {string} - */ - type: - | 'file_search' - | 'web_search_preview' - | 'computer_use_preview' - | 'web_search_preview_2025_03_11' - } - /** @description An event that is emitted when a response fails. - * */ - ResponseFailedEvent: { - /** - * @description The type of the event. Always `response.failed`. - * - * @enum {string} - */ - type: 'response.failed' - /** @description The response that failed. - * */ - response: components['schemas']['OpenAIResponse'] - } - /** @description Emitted when the response is in progress. */ - ResponseInProgressEvent: { - /** - * @description The type of the event. Always `response.in_progress`. - * - * @enum {string} - */ - type: 'response.in_progress' - /** @description The response that is in progress. - * */ - response: components['schemas']['OpenAIResponse'] - } - /** @description An event that is emitted when a response finishes as incomplete. - * */ - ResponseIncompleteEvent: { - /** - * @description The type of the event. Always `response.incomplete`. - * - * @enum {string} - */ - type: 'response.incomplete' - /** @description The response that was incomplete. - * */ - response: components['schemas']['OpenAIResponse'] - } - /** @description An event that is emitted when a response is created. */ - ResponseCreatedEvent: { - /** - * @description The type of the event. Always `response.created`. - * @enum {string} - */ - type: 'response.created' - /** @description The response that was created. */ - response: components['schemas']['OpenAIResponse'] - } - /** @description Emitted when the model response is complete. */ - ResponseCompletedEvent: { - /** - * @description The type of the event. Always `response.completed`. - * @enum {string} - */ - type: 'response.completed' - /** @description Properties of the completed response. */ - response: components['schemas']['OpenAIResponse'] - } - /** @description Emitted when a new content part is added. */ - ResponseContentPartAddedEvent: { - /** - * @description The type of the event. Always `response.content_part.added`. - * @enum {string} - */ - type: 'response.content_part.added' - /** @description The ID of the output item that the content part was added to. */ - item_id: string - /** @description The index of the output item that the content part was added to. */ - output_index: number - /** @description The index of the content part that was added. */ - content_index: number - /** @description The content part that was added. */ - part: components['schemas']['OutputContent'] - } - /** @description Emitted when a content part is done. */ - ResponseContentPartDoneEvent: { - /** - * @description The type of the event. Always `response.content_part.done`. - * @enum {string} - */ - type: 'response.content_part.done' - /** @description The ID of the output item that the content part was added to. */ - item_id: string - /** @description The index of the output item that the content part was added to. */ - output_index: number - /** @description The index of the content part that is done. */ - content_index: number - /** @description The content part that is done. */ - part: components['schemas']['OutputContent'] - } - ResponseTool: - | components['schemas']['WebSearchTool'] - | components['schemas']['FileSearchTool'] - | components['schemas']['FunctionTool'] - WebSearchTool: { - /** - * @description The type of tool - * @enum {string} - */ - type: 'web_search' - /** @description Optional list of domains to restrict search to */ - domains?: string[] - } - FileSearchTool: { - /** - * @description The type of tool (enum property replaced by openapi-typescript) - * @enum {string} - */ - type: 'FileSearchTool' - /** @description IDs of vector stores to search in */ - vector_store_ids: string[] - } - FunctionTool: { - /** - * @description The type of tool (enum property replaced by openapi-typescript) - * @enum {string} - */ - type: 'FunctionTool' - /** @description Name of the function */ - name: string - /** @description Description of what the function does */ - description?: string - /** @description JSON Schema object describing the function parameters */ - parameters: Record - } - OutputItem: - | components['schemas']['OutputMessage'] - | components['schemas']['FileSearchToolCall'] - | components['schemas']['FunctionToolCall'] - | components['schemas']['WebSearchToolCall'] - | components['schemas']['ComputerToolCall'] - | components['schemas']['ReasoningItem'] - /** - * Web search tool call - * @description The results of a web search tool call. See the - * [web search guide](/docs/guides/tools-web-search) for more information. - * - */ - WebSearchToolCall: { - /** @description The unique ID of the web search tool call. - * */ - id: string - /** - * @description The type of the web search tool call. Always `web_search_call`. - * (enum property replaced by openapi-typescript) - * @enum {string} - */ - type: 'WebSearchToolCall' - /** - * @description The status of the web search tool call. - * - * @enum {string} - */ - status: 'in_progress' | 'searching' | 'completed' | 'failed' - } - /** - * File search tool call - * @description The results of a file search tool call. See the - * [file search guide](/docs/guides/tools-file-search) for more information. - * - */ - FileSearchToolCall: { - /** @description The unique ID of the file search tool call. - * */ - id: string - /** - * @description The type of the file search tool call. Always `file_search_call`. - * (enum property replaced by openapi-typescript) - * @enum {string} - */ - type: 'FileSearchToolCall' - /** - * @description The status of the file search tool call. One of `in_progress`, - * `searching`, `incomplete` or `failed`, - * - * @enum {string} - */ - status: - | 'in_progress' - | 'searching' - | 'completed' - | 'incomplete' - | 'failed' - /** @description The queries used to search for files. - * */ - queries: string[] - /** @description The results of the file search tool call. - * */ - results?: { - /** @description The unique ID of the file. - * */ - file_id?: string - /** @description The text that was retrieved from the file. - * */ - text?: string - /** @description The name of the file. - * */ - filename?: string + KlingTaskStatus: "submitted" | "processing" | "succeed" | "failed"; + /** + * @description Model Name + * @default kling-v1 + * @enum {string} + */ + KlingTextToVideoModelName: "kling-v1" | "kling-v1-5" | "kling-v1-6" | "kling-v2-master" | "kling-v2-1-master" | "kling-v2-5-turbo"; + /** + * @description Model Name + * @default kling-v2-master + * @enum {string} + */ + KlingVideoGenModelName: "kling-v1" | "kling-v1-5" | "kling-v1-6" | "kling-v2-master" | "kling-v2-1" | "kling-v2-1-master" | "kling-v2-5-turbo"; + /** + * @description Video generation mode. std: Standard Mode, which is cost-effective. pro: Professional Mode, generates videos with longer duration but higher quality output. + * @default std + * @enum {string} + */ + KlingVideoGenMode: "std" | "pro"; + /** + * @description Video aspect ratio + * @default 16:9 + * @enum {string} + */ + KlingVideoGenAspectRatio: "16:9" | "9:16" | "1:1"; + /** + * @description Video length in seconds + * @default 5 + * @enum {string} + */ + KlingVideoGenDuration: "5" | "10"; /** * Format: float - * @description The relevance score of the file - a value between 0 and 1. - * + * @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. + * @default 0.5 */ - score?: number - }[] - } - /** - * Function tool call - * @description A tool call to run a function. See the - * [function calling guide](/docs/guides/function-calling) for more information. - * - */ - FunctionToolCall: { - /** @description The unique ID of the function tool call. - * */ - id?: string - /** - * @description The type of the function tool call. Always `function_call`. - * - * @enum {string} - */ - type: 'function_call' - /** @description The unique ID of the function tool call generated by the model. - * */ - call_id: string - /** @description The name of the function to run. - * */ - name: string - /** @description A JSON string of the arguments to pass to the function. - * */ - arguments: string - /** - * @description The status of the item. One of `in_progress`, `completed`, or - * `incomplete`. Populated when items are returned via API. - * - * @enum {string} - */ - status?: 'in_progress' | 'completed' | 'incomplete' - } - OutputMessage: { - /** - * @description The type of output item (enum property replaced by openapi-typescript) - * @enum {string} - */ - type: 'OutputMessage' - /** - * @description The role of the message - * @enum {string} - */ - role: 'assistant' - /** @description The content of the message */ - content: components['schemas']['OutputContent'][] - } - OutputContent: - | components['schemas']['OutputTextContent'] - | components['schemas']['OutputAudioContent'] - OutputTextContent: { - /** - * @description The type of output content - * @enum {string} - */ - type: 'output_text' - /** @description The text content */ - text: string - } - OutputAudioContent: { - /** - * @description The type of output content - * @enum {string} - */ - type: 'output_audio' - /** @description Base64-encoded audio data */ - data: string - /** @description Transcript of the audio */ - transcript: string - } - /** @description Represents token usage details including input tokens, output tokens, - * a breakdown of output tokens, and the total tokens used. - * */ - ResponseUsage: { - /** @description The number of input tokens. */ - input_tokens: number - /** @description A detailed breakdown of the input tokens. */ - input_tokens_details: { - /** @description The number of tokens that were retrieved from the cache. - * [More on prompt caching](/docs/guides/prompt-caching). - * */ - cached_tokens: number - } - /** @description The number of output tokens. */ - output_tokens: number - /** @description A detailed breakdown of the output tokens. */ - output_tokens_details: { - /** @description The number of reasoning tokens. */ - reasoning_tokens: number - } - /** @description The total number of tokens used. */ - total_tokens: number - } - /** @description A response from the model */ - OpenAIResponse: components['schemas']['ModelResponseProperties'] & - components['schemas']['ResponseProperties'] & { - /** @description Unique identifier for this Response. */ - id?: string + KlingVideoGenCfgScale: number; + KlingCameraControl: { + type?: components["schemas"]["KlingCameraControlType"]; + config?: components["schemas"]["KlingCameraConfig"]; + }; /** - * @description The object type of this resource - always set to `response`. + * @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 {string} */ - object?: 'response' + KlingCameraControlType: "simple" | "down_back" | "forward_up" | "right_turn_forward" | "left_turn_forward"; + KlingCameraConfig: { + /** @description Controls camera's movement along horizontal axis (x-axis). Negative indicates left, positive indicates right. */ + horizontal?: number; + /** @description Controls camera's movement along vertical axis (y-axis). Negative indicates downward, positive indicates upward. */ + vertical?: number; + /** @description Controls camera's rotation in vertical plane (x-axis). Negative indicates downward rotation, positive indicates upward rotation. */ + pan?: number; + /** @description Controls camera's rotation in horizontal plane (y-axis). Negative indicates left rotation, positive indicates right rotation. */ + tilt?: number; + /** @description Controls camera's rolling amount (z-axis). Negative indicates counterclockwise, positive indicates clockwise. */ + roll?: number; + /** @description Controls change in camera's focal length. Negative indicates narrower field of view, positive indicates wider field of view. */ + zoom?: number; + }; + KlingVideoResult: { + /** @description Generated video ID */ + id?: string; + /** + * Format: uri + * @description URL for generated video + */ + url?: string; + /** @description Total video duration */ + duration?: string; + }; /** - * @description The status of the response generation. One of `completed`, `failed`, `in_progress`, or `incomplete`. + * @description Method of Transmitting Audio Files for Lip-Sync. Required when mode is audio2video. * @enum {string} */ - status?: 'completed' | 'failed' | 'in_progress' | 'incomplete' - /** @description Unix timestamp (in seconds) of when this Response was created. */ - created_at?: number - error?: components['schemas']['ResponseError'] - /** @description Details about why the response is incomplete. - * */ - incomplete_details?: { - /** - * @description The reason why the response is incomplete. - * @enum {string} - */ - reason?: 'max_output_tokens' | 'content_filter' - } | null - /** @description An array of content items generated by the model. - * - * - The length and order of items in the `output` array is dependent - * on the model's response. - * - Rather than accessing the first item in the `output` array and - * assuming it's an `assistant` message with the content generated by - * the model, you might consider using the `output_text` property where - * supported in SDKs. - * */ - output?: components['schemas']['OutputItem'][] - /** @description SDK-only convenience property that contains the aggregated text output - * from all `output_text` items in the `output` array, if any are present. - * Supported in the Python and JavaScript SDKs. - * */ - output_text?: string | null - usage?: components['schemas']['ResponseUsage'] + KlingAudioUploadType: "file" | "url"; /** - * @description Whether to allow the model to run tool calls in parallel. - * - * @default true - */ - parallel_tool_calls: boolean - } - /** @description An error object returned when the model fails to generate a Response. */ - ResponseError: { - code: components['schemas']['ResponseErrorCode'] - /** @description A human-readable description of the error. */ - message: string - } - /** - * @description The error code for the response. - * @enum {string} - */ - ResponseErrorCode: - | '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' - /** @description Events that can be emitted during response streaming */ - OpenAIResponseStreamEvent: - | components['schemas']['ResponseCreatedEvent'] - | components['schemas']['ResponseInProgressEvent'] - | components['schemas']['ResponseCompletedEvent'] - | components['schemas']['ResponseFailedEvent'] - | components['schemas']['ResponseIncompleteEvent'] - | components['schemas']['ResponseOutputItemAddedEvent'] - | components['schemas']['ResponseOutputItemDoneEvent'] - | components['schemas']['ResponseContentPartAddedEvent'] - | components['schemas']['ResponseContentPartDoneEvent'] - | components['schemas']['ResponseErrorEvent'] - InputMessage: { - /** @enum {string} */ - type?: 'message' - /** @enum {string} */ - role?: 'user' | 'system' | 'developer' - /** @enum {string} */ - status?: 'in_progress' | 'completed' | 'incomplete' - content?: components['schemas']['InputMessageContentList'] - } - /** - * Input item content list - * @description A list of one or many input items to the model, containing different content - * types. - * - */ - InputMessageContentList: components['schemas']['InputContent'][] - InputContent: - | components['schemas']['InputTextContent'] - | components['schemas']['InputImageContent'] - | components['schemas']['InputFileContent'] - /** - * Input text - * @description A text input to the model. - */ - InputTextContent: { - /** - * @description The type of the input item. Always `input_text`. - * @default input_text - * @enum {string} - */ - type: 'input_text' - /** @description The text input to the model. */ - text: string - } - /** - * Input image - * @description An image input to the model. Learn about [image inputs](/docs/guides/vision). - */ - InputImageContent: { - /** - * @description The type of the input item. Always `input_image`. - * @default input_image - * @enum {string} - */ - type: 'input_image' - /** @description The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL. */ - image_url?: string - /** @description The ID of the file to be sent to the model. */ - file_id?: string - /** - * @description The detail level of the image to be sent to the model. One of `high`, `low`, or `auto`. Defaults to `auto`. - * @enum {string} - */ - detail: 'low' | 'high' | 'auto' - } - InputMessageResource: components['schemas']['InputMessage'] & { - /** @description The unique ID of the message input. - * */ - id: string - } & { - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'InputMessageResource' - } - /** @description Content item used to generate a response. - * */ - ItemResource: - | components['schemas']['InputMessageResource'] - | components['schemas']['OutputMessage'] - | components['schemas']['FileSearchToolCall'] - | components['schemas']['ComputerToolCall'] - | components['schemas']['WebSearchToolCall'] - | components['schemas']['FunctionToolCallResource'] - FunctionToolCallResource: components['schemas']['FunctionToolCall'] & { - /** @description The unique ID of the function tool call. - * */ - id: string - } & { - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'FunctionToolCallResource' - } - /** - * Computer tool call - * @description A tool call to a computer use tool. See the - * [computer use guide](/docs/guides/tools-computer-use) for more information. - * - */ - ComputerToolCall: { - /** - * @description The type of the computer call. Always `computer_call`. (enum property replaced by openapi-typescript) - * @enum {string} - */ - type: 'ComputerToolCall' - /** @description The unique ID of the computer call. */ - id: string - /** @description An identifier used when responding to the tool call with output. - * */ - call_id: string - action: Record - /** - * @description The status of the item. One of `in_progress`, `completed`, or - * `incomplete`. Populated when items are returned via API. - * - * @enum {string} - */ - status: 'in_progress' | 'completed' | 'incomplete' - } - /** @description A list of Response items. */ - ResponseItemList: { - /** - * @description The type of object returned, must be `list`. - * @enum {string} - */ - object: 'list' - /** @description A list of items used to generate this response. */ - data: components['schemas']['ItemResource'][] - /** @description Whether there are more items available. */ - has_more: boolean - /** @description The ID of the first item in the list. */ - first_id: string - /** @description The ID of the last item in the list. */ - last_id: string - } - /** - * @description Specify additional output data to include in the model response. Currently - * supported values are: - * - `file_search_call.results`: Include the search results of - * the file search tool call. - * - `message.input_image.image_url`: Include image urls from the input message. - * - `computer_call_output.output.image_url`: Include image urls from the computer call output. - * - * @enum {string} - */ - Includable: - | 'file_search_call.results' - | 'message.input_image.image_url' - | 'computer_call_output.output.image_url' - CreateModelResponseProperties: components['schemas']['ModelResponseProperties'] - InputItem: - | components['schemas']['EasyInputMessage'] - | components['schemas']['Item'] - /** @description Content item used to generate a response. - * */ - Item: - | components['schemas']['InputMessage'] - | components['schemas']['OutputMessage'] - | components['schemas']['FileSearchToolCall'] - | components['schemas']['ComputerToolCall'] - | components['schemas']['WebSearchToolCall'] - | components['schemas']['FunctionToolCall'] - | components['schemas']['ReasoningItem'] - /** - * Reasoning - * @description A description of the chain of thought used by a reasoning model while generating - * a response. - * - */ - ReasoningItem: { - /** - * @description The type of the object. Always `reasoning`. - * - * @enum {string} - */ - type: 'reasoning' - /** @description The unique identifier of the reasoning content. - * */ - id: string - /** @description Reasoning text contents. - * */ - summary: { - /** - * @description The type of the object. Always `summary_text`. - * + * @description Video Generation Mode. text2video: Text-to-video generation mode; audio2video: Audio-to-video generation mode * @enum {string} */ - type: 'summary_text' - /** @description A short summary of the reasoning used by the model when generating - * the response. - * */ - text: string - }[] - /** - * @description The status of the item. One of `in_progress`, `completed`, or - * `incomplete`. Populated when items are returned via API. - * - * @enum {string} - */ - status?: 'in_progress' | 'completed' | 'incomplete' - } - /** - * Input message - * @description A message input to the model with a role indicating instruction following - * hierarchy. Instructions given with the `developer` or `system` role take - * precedence over instructions given with the `user` role. Messages with the - * `assistant` role are presumed to have been generated by the model in previous - * interactions. - * - */ - EasyInputMessage: { - /** - * @description The role of the message input. One of `user`, `assistant`, `system`, or - * `developer`. - * - * @enum {string} - */ - role: 'user' | 'assistant' | 'system' | 'developer' - /** @description Text, image, or audio input to the model, used to generate a response. - * Can also contain previous assistant responses. - * */ - content: string | components['schemas']['InputMessageContentList'] - /** - * @description The type of the message input. Always `message`. - * - * @enum {string} - */ - type?: 'message' - } - OpenAICreateResponse: components['schemas']['CreateModelResponseProperties'] & - components['schemas']['ResponseProperties'] & { - /** @description Text, image, or file inputs to the model, used to generate a response. + KlingLipSyncMode: "text2video" | "audio2video"; + /** + * @description The voice language corresponds to the Voice ID. + * @default en + * @enum {string} + */ + KlingLipSyncVoiceLanguage: "zh" | "en"; + /** + * @description Scene Name. Dual-character Effects (hug, kiss, heart_gesture). + * @enum {string} + */ + KlingDualCharacterEffectsScene: "hug" | "kiss" | "heart_gesture"; + /** + * @description Scene Name. Single Image Effects (bloombloom, dizzydizzy, fuzzyfuzzy, squish, expansion). + * @enum {string} + */ + KlingSingleImageEffectsScene: "bloombloom" | "dizzydizzy" | "fuzzyfuzzy" | "squish" | "expansion"; + /** + * @description Model Name. Can be kling-v1, kling-v1-5, or kling-v1-6. + * @default kling-v1 + * @enum {string} + */ + KlingCharacterEffectModelName: "kling-v1" | "kling-v1-5" | "kling-v1-6"; + /** + * @description Model Name. Only kling-v1-6 is supported for single image effects. + * @enum {string} + */ + KlingSingleImageEffectModelName: "kling-v1-6"; + /** + * @description Video Length in seconds. Only 5-second videos are supported. + * @enum {string} + */ + KlingSingleImageEffectDuration: "5"; + KlingDualCharacterImages: string[]; + /** + * @description Aspect ratio of the generated images + * @default 16:9 + * @enum {string} + */ + KlingImageGenAspectRatio: "16:9" | "9:16" | "1:1" | "4:3" | "3:4" | "3:2" | "2:3" | "21:9"; + /** + * @description Image reference type + * @enum {string} + */ + KlingImageGenImageReferenceType: "subject" | "face"; + /** + * @description Model Name + * @default kling-v1 + * @enum {string} + */ + KlingImageGenModelName: "kling-v1" | "kling-v1-5" | "kling-v2"; + KlingImageResult: { + /** @description Image Number (0-9) */ + index?: number; + /** + * Format: uri + * @description URL for generated image + */ + url?: string; + }; + /** + * @description Model Name + * @default kolors-virtual-try-on-v1 + * @enum {string} + */ + KlingVirtualTryOnModelName: "kolors-virtual-try-on-v1" | "kolors-virtual-try-on-v1-5"; + KlingText2VideoRequest: { + model_name?: components["schemas"]["KlingTextToVideoModelName"]; + /** @description Positive text prompt */ + prompt?: string; + /** @description Negative text prompt */ + negative_prompt?: string; + cfg_scale?: components["schemas"]["KlingVideoGenCfgScale"]; + mode?: components["schemas"]["KlingVideoGenMode"]; + camera_control?: components["schemas"]["KlingCameraControl"]; + aspect_ratio?: components["schemas"]["KlingVideoGenAspectRatio"]; + duration?: components["schemas"]["KlingVideoGenDuration"]; + /** + * Format: uri + * @description The callback notification address + */ + callback_url?: string; + /** @description Customized Task ID */ + external_task_id?: string; + }; + KlingText2VideoResponse: { + /** @description Error code */ + code?: number; + /** @description Error message */ + message?: string; + /** @description Request ID */ + request_id?: string; + data?: { + /** @description Task ID */ + task_id?: string; + task_status?: components["schemas"]["KlingTaskStatus"]; + task_info?: { + external_task_id?: string; + }; + /** @description Task creation time */ + created_at?: number; + /** @description Task update time */ + updated_at?: number; + task_result?: { + videos?: components["schemas"]["KlingVideoResult"][]; + }; + }; + }; + KlingImage2VideoRequest: { + model_name?: components["schemas"]["KlingVideoGenModelName"]; + /** @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. */ + image?: string; + /** @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. */ + image_tail?: string; + /** @description Positive text prompt */ + prompt?: string; + /** @description Negative text prompt */ + negative_prompt?: string; + cfg_scale?: components["schemas"]["KlingVideoGenCfgScale"]; + mode?: components["schemas"]["KlingVideoGenMode"]; + /** @description Static Brush Application Area (Mask image created by users using the motion brush). The aspect ratio must match the input image. */ + static_mask?: string; + /** @description Dynamic Brush Configuration List (up to 6 groups). For 5-second videos, trajectory length must not exceed 77 coordinates. */ + dynamic_masks?: { + /** + * Format: uri + * @description Dynamic Brush Application Area (Mask image created by users using the motion brush). The aspect ratio must match the input image. + */ + mask?: string; + trajectories?: { + /** @description The horizontal coordinate of trajectory point. Based on bottom-left corner of image as origin (0,0). */ + x?: number; + /** @description The vertical coordinate of trajectory point. Based on bottom-left corner of image as origin (0,0). */ + y?: number; + }[]; + }[]; + camera_control?: components["schemas"]["KlingCameraControl"]; + aspect_ratio?: components["schemas"]["KlingVideoGenAspectRatio"]; + duration?: components["schemas"]["KlingVideoGenDuration"]; + /** + * Format: uri + * @description The callback notification address. Server will notify when the task status changes. + */ + callback_url?: string; + /** @description Customized Task ID. Must be unique within a single user account. */ + external_task_id?: string; + }; + KlingImage2VideoResponse: { + /** @description Error code */ + code?: number; + /** @description Error message */ + message?: string; + /** @description Request ID */ + request_id?: string; + data?: { + /** @description Task ID */ + task_id?: string; + task_status?: components["schemas"]["KlingTaskStatus"]; + task_info?: { + external_task_id?: string; + }; + /** @description Task creation time */ + created_at?: number; + /** @description Task update time */ + updated_at?: number; + task_result?: { + videos?: components["schemas"]["KlingVideoResult"][]; + }; + }; + }; + KlingVideoExtendRequest: { + /** @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. */ + video_id?: string; + /** @description Positive text prompt for guiding the video extension */ + prompt?: string; + /** @description Negative text prompt for elements to avoid in the extended video */ + negative_prompt?: string; + cfg_scale?: components["schemas"]["KlingVideoGenCfgScale"]; + /** + * Format: uri + * @description The callback notification address. Server will notify when the task status changes. + */ + callback_url?: string; + }; + KlingVideoExtendResponse: { + /** @description Error code */ + code?: number; + /** @description Error message */ + message?: string; + /** @description Request ID */ + request_id?: string; + data?: { + /** @description Task ID */ + task_id?: string; + task_status?: components["schemas"]["KlingTaskStatus"]; + task_info?: { + external_task_id?: string; + }; + /** @description Task creation time */ + created_at?: number; + /** @description Task update time */ + updated_at?: number; + task_result?: { + videos?: components["schemas"]["KlingVideoResult"][]; + }; + }; + }; + KlingLipSyncInputObject: { + /** @description The ID of the video generated by Kling AI. Only supports 5-second and 10-second videos generated within the last 30 days. */ + video_id?: string; + /** @description Get link for uploaded video. Video files support .mp4/.mov, file size does not exceed 100MB, video length between 2-10s. */ + video_url?: string; + mode: components["schemas"]["KlingLipSyncMode"]; + /** @description Text Content for Lip-Sync Video Generation. Required when mode is text2video. Maximum length is 120 characters. */ + text?: string; + /** @description Voice ID. Required when mode is text2video. The system offers a variety of voice options to choose from. */ + voice_id?: string; + voice_language?: components["schemas"]["KlingLipSyncVoiceLanguage"]; + /** + * @description Speech Rate. Valid range: 0.8~2.0, accurate to one decimal place. + * @default 1 + */ + voice_speed: number; + audio_type?: components["schemas"]["KlingAudioUploadType"]; + /** @description Local Path of Audio File. Supported formats: .mp3/.wav/.m4a/.aac, maximum file size of 5MB. Base64 code. */ + audio_file?: string; + /** @description Audio File Download URL. Supported formats: .mp3/.wav/.m4a/.aac, maximum file size of 5MB. */ + audio_url?: string; + }; + KlingLipSyncRequest: { + input: components["schemas"]["KlingLipSyncInputObject"]; + /** + * Format: uri + * @description The callback notification address. Server will notify when the task status changes. + */ + callback_url?: string; + }; + KlingLipSyncResponse: { + /** @description Error code */ + code?: number; + /** @description Error message */ + message?: string; + /** @description Request ID */ + request_id?: string; + data?: { + /** @description Task ID */ + task_id?: string; + task_status?: components["schemas"]["KlingTaskStatus"]; + task_info?: { + external_task_id?: string; + }; + /** @description Task creation time */ + created_at?: number; + /** @description Task update time */ + updated_at?: number; + task_result?: { + videos?: components["schemas"]["KlingVideoResult"][]; + }; + }; + }; + KlingVideoEffectsRequest: { + effect_scene: components["schemas"]["KlingDualCharacterEffectsScene"] | components["schemas"]["KlingSingleImageEffectsScene"]; + input: components["schemas"]["KlingVideoEffectsInput"]; + /** + * Format: uri + * @description The callback notification address for the result of this task. + */ + callback_url?: string; + /** @description Customized Task ID. Must be unique within a single user account. */ + external_task_id?: string; + }; + KlingVideoEffectsInput: components["schemas"]["KlingSingleImageEffectInput"] | components["schemas"]["KlingDualCharacterEffectInput"]; + KlingSingleImageEffectInput: { + model_name: components["schemas"]["KlingSingleImageEffectModelName"]; + /** @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. */ + image: string; + duration: components["schemas"]["KlingSingleImageEffectDuration"]; + }; + KlingDualCharacterEffectInput: { + model_name?: components["schemas"]["KlingCharacterEffectModelName"]; + mode?: components["schemas"]["KlingVideoGenMode"]; + images: components["schemas"]["KlingDualCharacterImages"]; + duration: components["schemas"]["KlingVideoGenDuration"]; + }; + KlingVideoEffectsResponse: { + /** @description Error code */ + code?: number; + /** @description Error message */ + message?: string; + /** @description Request ID */ + request_id?: string; + data?: { + /** @description Task ID */ + task_id?: string; + task_status?: components["schemas"]["KlingTaskStatus"]; + task_info?: { + external_task_id?: string; + }; + /** @description Task creation time */ + created_at?: number; + /** @description Task update time */ + updated_at?: number; + task_result?: { + videos?: components["schemas"]["KlingVideoResult"][]; + }; + }; + }; + KlingImageGenerationsRequest: { + model_name?: components["schemas"]["KlingImageGenModelName"]; + /** @description Positive text prompt */ + prompt: string; + /** @description Negative text prompt */ + negative_prompt?: string; + /** @description Reference Image - Base64 encoded string or image URL */ + image?: string; + image_reference?: components["schemas"]["KlingImageGenImageReferenceType"]; + /** + * @description Reference intensity for user-uploaded images + * @default 0.5 + */ + image_fidelity: number; + /** + * @description Subject reference similarity + * @default 0.45 + */ + human_fidelity: number; + /** + * @description Number of generated images + * @default 1 + */ + n: number; + aspect_ratio?: components["schemas"]["KlingImageGenAspectRatio"]; + /** + * Format: uri + * @description The callback notification address + */ + callback_url?: string; + }; + KlingImageGenerationsResponse: { + /** @description Error code */ + code?: number; + /** @description Error message */ + message?: string; + /** @description Request ID */ + request_id?: string; + data?: { + /** @description Task ID */ + task_id?: string; + task_status?: components["schemas"]["KlingTaskStatus"]; + /** @description Task status information */ + task_status_msg?: string; + /** @description Task creation time */ + created_at?: number; + /** @description Task update time */ + updated_at?: number; + task_result?: { + images?: components["schemas"]["KlingImageResult"][]; + }; + }; + }; + KlingVirtualTryOnRequest: { + model_name?: components["schemas"]["KlingVirtualTryOnModelName"]; + /** @description Reference human image - Base64 encoded string or image URL */ + human_image: string; + /** @description Reference clothing image - Base64 encoded string or image URL */ + cloth_image?: string; + /** + * Format: uri + * @description The callback notification address + */ + callback_url?: string; + }; + KlingVirtualTryOnResponse: { + /** @description Error code */ + code?: number; + /** @description Error message */ + message?: string; + /** @description Request ID */ + request_id?: string; + data?: { + /** @description Task ID */ + task_id?: string; + task_status?: components["schemas"]["KlingTaskStatus"]; + /** @description Task status information */ + task_status_msg?: string; + /** @description Task creation time */ + created_at?: number; + /** @description Task update time */ + updated_at?: number; + task_result?: { + images?: components["schemas"]["KlingImageResult"][]; + }; + }; + }; + KlingResourcePackageResponse: { + /** @description Error code; 0 indicates success */ + code?: number; + /** @description Error information */ + message?: string; + /** @description Request ID, generated by the system, used to track requests and troubleshoot problems */ + request_id?: string; + data?: { + /** @description Error code; 0 indicates success */ + code?: number; + /** @description Error information */ + msg?: string; + /** @description Resource package list */ + resource_pack_subscribe_infos?: { + /** @description Resource package name */ + resource_pack_name?: string; + /** @description Resource package ID */ + resource_pack_id?: string; + /** + * @description Resource package type (decreasing_total=decreasing total, constant_period=constant periodicity) + * @enum {string} + */ + resource_pack_type?: "decreasing_total" | "constant_period"; + /** + * Format: float + * @description Total quantity + */ + total_quantity?: number; + /** + * Format: float + * @description Remaining quantity (updated with a 12-hour delay) + */ + remaining_quantity?: number; + /** + * Format: int64 + * @description Purchase time, Unix timestamp in ms + */ + purchase_time?: number; + /** + * Format: int64 + * @description Effective time, Unix timestamp in ms + */ + effective_time?: number; + /** + * Format: int64 + * @description Expiration time, Unix timestamp in ms + */ + invalid_time?: number; + /** + * @description Resource Package Status + * @enum {string} + */ + status?: "toBeOnline" | "online" | "expired" | "runOut"; + }[]; + }; + }; + LTXText2VideoRequest: { + /** @description Text prompt describing the desired video content */ + prompt: string; + /** + * @description Model to use for generation + * @enum {string} + */ + model: "ltx-2-fast" | "ltx-2-pro"; + /** + * @description Video duration in seconds + * @enum {integer} + */ + duration: 6 | 8 | 10; + /** + * @description Output video resolution + * @enum {string} + */ + resolution: "1920x1080" | "2560x1440" | "3840x2160"; + /** + * @description Frame rate in frames per second + * @default 25 + * @enum {integer} + */ + fps: 25 | 50; + /** + * @description Generate audio for the video + * @default true + */ + generate_audio: boolean; + }; + LTXImage2VideoRequest: { + /** @description Image to be used as the first frame of the video (HTTPS URL or base64 data URI) */ + image_uri: string; + /** @description Text description of how the image should be animated */ + prompt: string; + /** + * @description Model to use for generation + * @enum {string} + */ + model: "ltx-2-fast" | "ltx-2-pro"; + /** + * @description Video duration in seconds + * @enum {integer} + */ + duration: 6 | 8 | 10; + /** + * @description Output video resolution + * @enum {string} + */ + resolution: "1920x1080" | "2560x1440" | "3840x2160"; + /** + * @description Frame rate in frames per second + * @default 25 + * @enum {integer} + */ + fps: 25 | 50; + /** + * @description Generate audio for the video + * @default true + */ + generate_audio: boolean; + }; + StripeEvent: { + id: string; + /** @enum {string} */ + object: "event"; + data: { + object?: Record; + }; + /** @enum {string} */ + type: "invoice.paid"; + }; + /** @description Parameters for the Minimax video generation proxy request. */ + MinimaxVideoGenerationRequest: { + /** + * @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 {string} + */ + model: "MiniMax-Hailuo-02" | "T2V-01-Director" | "I2V-01-Director" | "S2V-01" | "I2V-01" | "I2V-01-live" | "T2V-01"; + /** @description Description of the video. Should be less than 2000 characters. Supports camera movement instructions in [brackets]. */ + prompt?: string; + /** + * @description If true (default), the model will automatically optimize the prompt. Set to false for more precise control. + * @default true + */ + prompt_optimizer: boolean; + /** @description URL or base64 encoding of the first frame image. Required when model is I2V-01, I2V-01-Director, or I2V-01-live. */ + first_frame_image?: string; + /** @description Only available when model is S2V-01. The model will generate a video based on the subject uploaded through this parameter. */ + subject_reference?: { + /** @description URL or base64 encoding of the subject reference image. */ + image?: string; + /** @description URL or base64 encoding of the mask for the subject reference image. */ + mask?: string; + }[]; + /** @description Optional. URL to receive real-time status updates about the video generation task. */ + callback_url?: string; + /** + * @description Video length in seconds. Only available for MiniMax-Hailuo-02 + * @default 6 + * @enum {integer} + */ + duration: 6 | 10; + /** + * @description Video resolution. Only available for MiniMax-Hailuo-02. + * @default 768P + * @enum {string} + */ + resolution: "768P" | "1080P"; + }; + /** @description Common response structure used by Minimax APIs */ + MinimaxBaseResponse: { + /** @description Status code. 0 indicates success, other values indicate errors. */ + status_code: number; + /** @description Specific error details or success message. */ + status_msg: string; + }; + /** @description Response from the Minimax video generation API. */ + MinimaxVideoGenerationResponse: { + /** @description The task ID for the asynchronous video generation task. */ + task_id: string; + base_resp: components["schemas"]["MinimaxBaseResponse"]; + }; + /** @description Response from retrieving a Minimax file download URL. */ + MinimaxFileRetrieveResponse: { + file: { + /** @description Unique identifier for the file */ + file_id?: number; + /** @description File size in bytes */ + bytes?: number; + /** @description Unix timestamp when the file was created, in seconds */ + created_at?: number; + /** @description The name of the file */ + filename?: string; + /** @description The purpose of using the file */ + purpose?: string; + /** @description The URL to download the video */ + download_url?: string; + }; + base_resp: components["schemas"]["MinimaxBaseResponse"]; + }; + /** @description Response from querying a Minimax video generation task status. */ + MinimaxTaskResultResponse: { + /** @description The task ID being queried. */ + task_id: string; + /** + * @description Task status: 'Queueing' (in queue), 'Preparing' (task is preparing), 'Processing' (generating), 'Success' (task completed successfully), or 'Fail' (task failed). + * @enum {string} + */ + status: "Queueing" | "Preparing" | "Processing" | "Success" | "Fail"; + /** @description After the task status changes to Success, this field returns the file ID corresponding to the generated video. */ + file_id?: string; + base_resp: components["schemas"]["MinimaxBaseResponse"]; + }; + BFLFluxKontextProGenerateRequest: { + /** @description The text prompt describing what to edit on the image */ + prompt: string; + /** @description Base64 encoded image to be edited */ + input_image: string; + /** + * @description Number of inference steps + * @default 50 + */ + steps: number; + /** + * @description The guidance scale for generation + * @default 3 + */ + guidance: number; + }; + BFLFluxKontextProGenerateResponse: { + /** @description Job ID for tracking */ + id: string; + /** @description URL to poll for results */ + polling_url: string; + }; + BFLFluxKontextMaxGenerateRequest: { + /** @description The text prompt describing what to edit on the image */ + prompt: string; + /** @description Base64 encoded image to be edited */ + input_image: string; + /** + * @description Number of inference steps + * @default 50 + */ + steps: number; + /** + * @description The guidance scale for generation + * @default 3 + */ + guidance: number; + }; + BFLFluxKontextMaxGenerateResponse: { + /** @description Job ID for tracking */ + id: string; + /** @description URL to poll for results */ + polling_url: string; + }; + BFLFluxPro1_1GenerateRequest: { + /** @description The main text prompt for image generation */ + prompt: string; + /** @description Optional image prompt */ + image_prompt?: string; + /** @description Width of the generated image */ + width: number; + /** @description Height of the generated image */ + height: number; + /** @description Whether to use prompt upsampling */ + prompt_upsampling?: boolean; + /** @description Random seed for reproducibility */ + seed?: number; + /** @description Safety tolerance level */ + safety_tolerance?: number; + /** + * @description Output image format + * @enum {string} + */ + output_format?: "jpeg" | "png"; + /** @description Optional webhook URL for async processing */ + webhook_url?: string; + /** @description Optional webhook secret for async processing */ + webhook_secret?: string; + }; + BFLFluxPro1_1GenerateResponse: { + /** @description Job ID for tracking */ + id: string; + /** @description URL to poll for results */ + polling_url: string; + }; + /** @description Request body for the BFL Flux Pro 1.1 Ultra image generation API. */ + BFLFluxProGenerateRequest: { + /** @description The text prompt for image generation. */ + prompt: string; + /** @description The negative prompt for image generation. */ + negative_prompt?: string; + /** @description The width of the image to generate. */ + width: number; + /** @description The height of the image to generate. */ + height: number; + /** @description The number of inference steps. */ + num_inference_steps?: number; + /** @description The guidance scale for generation. */ + guidance_scale?: number; + /** @description The seed value for reproducibility. */ + seed?: number; + /** @description The number of images to generate. */ + num_images?: number; + }; + /** @description Response from the BFL Flux Pro 1.1 Ultra image generation API. */ + BFLFluxProGenerateResponse: { + /** @description The unique identifier for the generation task. */ + id: string; + /** @description URL to poll for the generation result. */ + polling_url: string; + }; + /** @description Response from the BFL Flux Pro 1.1 Ultra status check API. */ + BFLFluxProStatusResponse: { + /** @description The unique identifier for the generation task. */ + id: string; + /** @description The status of the task. */ + status: components["schemas"]["BFLStatus"]; + /** @description The result of the task (null if not completed). */ + result?: Record | null; + /** + * Format: float + * @description The progress of the task (0.0 to 1.0). + */ + progress: number; + /** @description Additional details about the task (null if not available). */ + details?: Record | null; + }; + /** + * @description Possible statuses for a BFL Flux Pro generation task. + * @example Ready + * @enum {string} + */ + BFLStatus: "Task not found" | "Pending" | "Request Moderated" | "Content Moderated" | "Ready" | "Error"; + /** FluxProFillInputs */ + BFLFluxProFillInputs: { + /** + * Image + * @description A Base64-encoded string representing the image you wish to modify. Can contain alpha mask if desired. + */ + image: string; + /** + * Mask + * @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. + */ + mask?: string; + /** + * Prompt + * @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. + * @default + * @example ein fantastisches bild + */ + prompt: string; + /** + * Steps + * @description Number of steps for the image generation process + * @default 50 + * @example 50 + */ + steps: number; + /** + * Prompt Upsampling + * @description Whether to perform upsampling on the prompt. If active, automatically modifies the prompt for more creative generation + * @default false + */ + prompt_upsampling: boolean; + /** + * Seed + * @description Optional seed for reproducibility + */ + seed?: number; + /** + * Guidance + * @description Guidance strength for the image generation process + * @default 60 + */ + guidance: number; + /** + * @description Output format for the generated image. Can be 'jpeg' or 'png'. + * @default jpeg + */ + output_format: components["schemas"]["BFLOutputFormat"]; + /** + * Safety Tolerance + * @description Tolerance level for input and output moderation. Between 0 and 6, 0 being most strict, 6 being least strict. + * @default 2 + * @example 2 + */ + safety_tolerance: number; + /** + * Webhook Url + * @description URL to receive webhook notifications + */ + webhook_url?: string; + /** + * Webhook Secret + * @description Optional secret for webhook signature verification + */ + webhook_secret?: string; + }; + /** AsyncResponse */ + BFLAsyncResponse: { + /** Id */ + id: string; + /** Polling Url */ + polling_url: string; + }; + /** AsyncWebhookResponse */ + BFLAsyncWebhookResponse: { + /** Id */ + id: string; + /** Status */ + status: string; + /** Webhook Url */ + webhook_url: string; + }; + /** HTTPValidationError */ + BFLHTTPValidationError: { + /** Detail */ + detail?: components["schemas"]["BFLValidationError"][]; + }; + /** FluxProExpandInputs */ + BFLFluxProExpandInputs: { + /** + * Image + * @description A Base64-encoded string representing the image you wish to expand. + */ + image: string; + /** + * Top + * @description Number of pixels to expand at the top of the image + * @default 0 + */ + top: number; + /** + * Bottom + * @description Number of pixels to expand at the bottom of the image + * @default 0 + */ + bottom: number; + /** + * Left + * @description Number of pixels to expand on the left side of the image + * @default 0 + */ + left: number; + /** + * Right + * @description Number of pixels to expand on the right side of the image + * @default 0 + */ + right: number; + /** + * Prompt + * @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. + * @default + * @example ein fantastisches bild + */ + prompt: string; + /** + * Steps + * @description Number of steps for the image generation process + * @default 50 + * @example 50 + */ + steps: number; + /** + * Prompt Upsampling + * @description Whether to perform upsampling on the prompt. If active, automatically modifies the prompt for more creative generation + * @default false + */ + prompt_upsampling: boolean; + /** + * Seed + * @description Optional seed for reproducibility + */ + seed?: number; + /** + * Guidance + * @description Guidance strength for the image generation process + * @default 60 + */ + guidance: number; + /** + * @description Output format for the generated image. Can be 'jpeg' or 'png'. + * @default jpeg + */ + output_format: components["schemas"]["BFLOutputFormat"]; + /** + * Safety Tolerance + * @description Tolerance level for input and output moderation. Between 0 and 6, 0 being most strict, 6 being least strict. + * @default 2 + * @example 2 + */ + safety_tolerance: number; + /** + * Webhook Url + * @description URL to receive webhook notifications + */ + webhook_url?: string; + /** + * Webhook Secret + * @description Optional secret for webhook signature verification + */ + webhook_secret?: string; + }; + /** CannyInputs */ + BFLCannyInputs: { + /** + * Prompt + * @description Text prompt for image generation + * @example ein fantastisches bild + */ + prompt: string; + /** + * Control Image + * @description Base64 encoded image to use as control input if no preprocessed image is provided + */ + control_image?: string; + /** + * Preprocessed Image + * @description Optional pre-processed image that will bypass the control preprocessing step + */ + preprocessed_image?: string; + /** + * Canny Low Threshold + * @description Low threshold for Canny edge detection + * @default 50 + */ + canny_low_threshold: number; + /** + * Canny High Threshold + * @description High threshold for Canny edge detection + * @default 200 + */ + canny_high_threshold: number; + /** + * Prompt Upsampling + * @description Whether to perform upsampling on the prompt + * @default false + */ + prompt_upsampling: boolean; + /** + * Seed + * @description Optional seed for reproducibility + * @example 42 + */ + seed?: number; + /** + * Steps + * @description Number of steps for the image generation process + * @default 50 + */ + steps: number; + /** + * @description Output format for the generated image. Can be 'jpeg' or 'png'. + * @default jpeg + */ + output_format: components["schemas"]["BFLOutputFormat"]; + /** + * Guidance + * @description Guidance strength for the image generation process + * @default 30 + */ + guidance: number; + /** + * Safety Tolerance + * @description Tolerance level for input and output moderation. Between 0 and 6, 0 being most strict, 6 being least strict. + * @default 2 + */ + safety_tolerance: number; + /** + * Webhook Url + * @description URL to receive webhook notifications + */ + webhook_url?: string; + /** + * Webhook Secret + * @description Optional secret for webhook signature verification + */ + webhook_secret?: string; + }; + /** DepthInputs */ + BFLDepthInputs: { + /** + * Prompt + * @description Text prompt for image generation + * @example ein fantastisches bild + */ + prompt: string; + /** + * Control Image + * @description Base64 encoded image to use as control input + */ + control_image?: string; + /** + * Preprocessed Image + * @description Optional pre-processed image that will bypass the control preprocessing step + */ + preprocessed_image?: string; + /** + * Prompt Upsampling + * @description Whether to perform upsampling on the prompt + * @default false + */ + prompt_upsampling: boolean; + /** + * Seed + * @description Optional seed for reproducibility + * @example 42 + */ + seed?: number; + /** + * Steps + * @description Number of steps for the image generation process + * @default 50 + */ + steps: number; + /** + * @description Output format for the generated image. Can be 'jpeg' or 'png'. + * @default jpeg + */ + output_format: components["schemas"]["BFLOutputFormat"]; + /** + * Guidance + * @description Guidance strength for the image generation process + * @default 15 + */ + guidance: number; + /** + * Safety Tolerance + * @description Tolerance level for input and output moderation. Between 0 and 6, 0 being most strict, 6 being least strict. + * @default 2 + */ + safety_tolerance: number; + /** + * Webhook Url + * @description URL to receive webhook notifications + */ + webhook_url?: string; + /** + * Webhook Secret + * @description Optional secret for webhook signature verification + */ + webhook_secret?: string; + }; + /** + * OutputFormat + * @enum {string} + */ + BFLOutputFormat: "jpeg" | "png"; + /** ValidationError */ + BFLValidationError: { + /** Location */ + loc: (string | number)[]; + /** Message */ + msg: string; + /** Error Type */ + type: string; + }; + /** @description Parameters for the Recraft image generation proxy request. */ + RecraftImageGenerationRequest: { + /** @description The text prompt describing the image to generate */ + prompt: string; + /** @description The model to use for generation (e.g., "recraftv3") */ + model: string; + /** @description The style to apply to the generated image (e.g., "digital_illustration") */ + style?: string; + /** @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. */ + style_id?: string; + /** @description The size of the generated image (e.g., "1024x1024") */ + size: string; + /** @description The controls for the generated image */ + controls?: { + /** @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. */ + artistic_level?: number | null; + /** @description An array of preferable colors */ + colors?: components["schemas"]["RGBColor"][]; + /** @description Use given color as a desired background color */ + background_color?: components["schemas"]["RGBColor"]; + /** @description Do not embed text layouts */ + no_text?: boolean; + }; + /** @description The number of images to generate */ + n: number; + }; + /** @description Response from the Recraft image generation API. */ + RecraftImageGenerationResponse: { + /** @description Unix timestamp when the generation was created */ + created: number; + /** @description Number of credits used for the generation */ + credits: number; + /** @description Array of generated image information */ + data: { + /** @description Unique identifier for the generated image */ + image_id?: string; + /** @description URL to access the generated image */ + url?: string; + }[]; + }; + RecraftImageFeatures: { + nsfw_score?: number; + }; + RecraftTextLayoutItem: { + bbox: number[][]; + text: string; + }; + RecraftImageColor: { + rgb?: number[]; + std?: number[]; + weight?: number; + }; + /** @enum {string} */ + RecraftImageStyle: "digital_illustration" | "icon" | "realistic_image" | "vector_illustration"; + /** @enum {string} */ + RecraftImageSubStyle: "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"; + /** @enum {string} */ + RecraftTransformModel: "refm1" | "recraft20b" | "recraftv2" | "recraftv3" | "flux1_1pro" | "flux1dev" | "imagen3" | "hidream_i1_dev"; + /** @enum {string} */ + RecraftImageFormat: "webp" | "png"; + /** @enum {string} */ + RecraftResponseFormat: "url" | "b64_json"; + RecraftImage: { + b64_json?: string; + features?: components["schemas"]["RecraftImageFeatures"]; + /** Format: uuid */ + image_id: string; + revised_prompt?: string; + url?: string; + }; + RecraftUserControls: { + artistic_level?: number; + background_color?: components["schemas"]["RecraftImageColor"]; + colors?: components["schemas"]["RecraftImageColor"][]; + no_text?: boolean; + }; + RecraftTextLayout: components["schemas"]["RecraftTextLayoutItem"][]; + RecraftProcessImageRequest: { + /** Format: binary */ + image: string; + image_format?: components["schemas"]["RecraftImageFormat"]; + response_format?: components["schemas"]["RecraftResponseFormat"]; + }; + RecraftProcessImageResponse: { + created: number; + credits: number; + image: components["schemas"]["RecraftImage"]; + }; + RecraftImageToImageRequest: { + block_nsfw?: boolean; + calculate_features?: boolean; + controls?: components["schemas"]["RecraftUserControls"]; + /** Format: binary */ + image: string; + image_format?: components["schemas"]["RecraftImageFormat"]; + model?: components["schemas"]["RecraftTransformModel"]; + n?: number; + negative_prompt?: string; + prompt: string; + response_format?: components["schemas"]["RecraftResponseFormat"]; + strength: number; + style?: components["schemas"]["RecraftImageStyle"]; + /** Format: uuid */ + style_id?: string; + substyle?: components["schemas"]["RecraftImageSubStyle"]; + text_layout?: components["schemas"]["RecraftTextLayout"]; + }; + RecraftGenerateImageResponse: { + created: number; + credits: number; + data: components["schemas"]["RecraftImage"][]; + }; + RecraftTransformImageWithMaskRequest: { + block_nsfw?: boolean; + calculate_features?: boolean; + /** Format: binary */ + image: string; + image_format?: components["schemas"]["RecraftImageFormat"]; + /** Format: binary */ + mask: string; + model?: components["schemas"]["RecraftTransformModel"]; + n?: number; + negative_prompt?: string; + prompt: string; + response_format?: components["schemas"]["RecraftResponseFormat"]; + style?: components["schemas"]["RecraftImageStyle"]; + /** Format: uuid */ + style_id?: string; + substyle?: components["schemas"]["RecraftImageSubStyle"]; + text_layout?: components["schemas"]["RecraftTextLayout"]; + }; + KlingErrorResponse: { + /** + * @description - 1000: Authentication failed + * - 1001: Authorization is empty + * - 1002: Authorization is invalid + * - 1003: Authorization is not yet valid + * - 1004: Authorization has expired + * - 1100: Account exception + * - 1101: Account in arrears (postpaid scenario) + * - 1102: Resource pack depleted or expired (prepaid scenario) + * - 1103: Unauthorized access to requested resource + * - 1200: Invalid request parameters + * - 1201: Invalid parameters + * - 1202: Invalid request method + * - 1203: Requested resource does not exist + * - 1300: Trigger platform strategy + * - 1301: Trigger content security policy + * - 1302: API request too frequent + * - 1303: Concurrency/QPS exceeds limit + * - 1304: Trigger IP whitelist policy + * - 5000: Internal server error + * - 5001: Service temporarily unavailable + * - 5002: Server internal timeout + */ + code: number; + /** @description Human-readable error message */ + message: string; + /** @description Request ID for tracking and troubleshooting */ + request_id: string; + }; + TripoTask: { + task_id: string; + type: string; + /** @enum {string} */ + status: "queued" | "running" | "success" | "failed" | "cancelled" | "unknown" | "banned" | "expired"; + input: Record; + output: { + model?: string; + base_model?: string; + pbr_model?: string; + rendered_image?: string; + riggable?: boolean; + /** @enum {string} */ + topology?: "bip" | "quad"; + }; + progress: number; + create_time: number; + }; + TripoSuccessTask: { + /** @enum {integer} */ + code: 0; + data: { + /** @description used for getTask */ + task_id: string; + }; + }; + TripoBalance: { + balance: number; + frozen: number; + }; + TripoErrorResponse: { + /** @enum {integer} */ + code: 1001 | 2000 | 2001 | 2002 | 2003 | 2004 | 2006 | 2007 | 2008 | 2010; + message: string; + suggestion: string; + }; + /** + * @description Standard success code for Tripo API responses. Typically 0 for success. + * @example 0 + */ + TripoResponseSuccessCode: number; + /** + * @description The type of the Tripo task, specifically for text-to-model operations. + * @example text_to_model + * @enum {string} + */ + TripoTextToModel: "text_to_model"; + /** + * @description Version of the Tripo model. + * @example v2.5-20250123 + * @enum {string} + */ + TripoModelVersion: "v2.5-20250123" | "v2.0-20240919" | "v1.4-20240625"; + /** + * @description Style for the Tripo model generation. + * @example object:clay + * @enum {string} + */ + TripoModelStyle: "person:person2cartoon" | "animal:venom" | "object:clay" | "object:steampunk" | "object:christmas" | "object:barbie" | "gold" | "ancient_bronze"; + /** + * @description Task type for Tripo image-to-model generation. + * @example image_to_model + * @enum {string} + */ + TripoImageToModel: "image_to_model"; + /** + * @description Task type for Tripo multiview-to-model generation. + * @example multiview_to_model + * @enum {string} + */ + TripoMultiviewToModel: "multiview_to_model"; + /** + * @description Mode for multiview generation, specifying view orientation. + * @example LEFT + * @enum {string} + */ + TripoMultiviewMode: "LEFT" | "RIGHT"; + /** @enum {string} */ + TripoTextureQuality: "standard" | "detailed"; + /** @enum {string} */ + TripoTextureAlignment: "original_image" | "geometry"; + /** + * @default default + * @enum {string} + */ + TripoOrientation: "align_image" | "default"; + /** @enum {string} */ + TripoTypeTextureModel: "texture_model"; + /** @enum {string} */ + TripoTypeRefineModel: "refine_model"; + /** @enum {string} */ + TripoTypeAnimatePrerigcheck: "animate_prerigcheck"; + /** @enum {string} */ + TripoTypeAnimateRig: "animate_rig"; + /** @enum {string} */ + TripoStandardFormat: "glb" | "fbx"; + /** @enum {string} */ + TripoTopology: "bip" | "quad"; + /** @enum {string} */ + TripoSpec: "mixamo" | "tripo"; + /** @enum {string} */ + TripoTypeAnimateRetarget: "animate_retarget"; + /** @enum {string} */ + TripoAnimation: "preset:idle" | "preset:walk" | "preset:climb" | "preset:jump" | "preset:run" | "preset:slash" | "preset:shoot" | "preset:hurt" | "preset:fall" | "preset:turn"; + /** @enum {string} */ + TripoTypeStylizeModel: "stylize_model"; + /** @enum {string} */ + TripoStylizeOptions: "lego" | "voxel" | "voronoi" | "minecraft"; + /** @enum {string} */ + TripoTypeConvertModel: "convert_model"; + /** @enum {string} */ + TripoConvertFormat: "GLTF" | "USDZ" | "FBX" | "OBJ" | "STL" | "3MF"; + /** @enum {string} */ + TripoTextureFormat: "BMP" | "DPX" | "HDR" | "JPEG" | "OPEN_EXR" | "PNG" | "TARGA" | "TIFF" | "WEBP"; + /** + * @description The aspect ratio of the generation + * @default 16:9 + * @example 16:9 + * @enum {string} + */ + LumaAspectRatio: "1:1" | "16:9" | "9:16" | "4:3" | "3:4" | "21:9" | "9:21"; + /** + * @description The keyframes of the generation + * @example { + * "frame0": { + * "type": "image", + * "url": "https://example.com/image.jpg" + * }, + * "frame1": { + * "type": "generation", + * "id": "123e4567-e89b-12d3-a456-426614174000" + * } + * } + */ + LumaKeyframes: { + frame0?: components["schemas"]["LumaKeyframe"]; + frame1?: components["schemas"]["LumaKeyframe"]; + }; + /** + * @description The video model used for the generation + * @default ray-2 + * @example ray-2 + * @enum {string} + */ + LumaVideoModel: "ray-2" | "ray-flash-2" | "ray-1-6"; + LumaVideoModelOutputResolution: ("540p" | "720p" | "1080p" | "4k") | string; + LumaVideoModelOutputDuration: ("5s" | "9s") | string; + /** + * @description The image model used for the generation + * @default photon-1 + * @enum {string} + */ + LumaImageModel: "photon-1" | "photon-flash-1"; + /** @description The image reference object */ + LumaImageRef: { + /** + * Format: uri + * @description The URL of the image reference + */ + url?: string; + /** @description The weight of the image reference */ + weight?: number; + }; + /** @description The image identity object */ + LumaImageIdentity: { + /** @description The URLs of the image identity */ + images?: string[]; + }; + /** @description The modify image reference object */ + LumaModifyImageRef: { + /** + * Format: uri + * @description The URL of the image reference + */ + url?: string; + /** @description The weight of the modify image reference */ + weight?: number; + }; + /** + * @description The generation reference object + * @example { + * "type": "generation", + * "id": "123e4567-e89b-12d3-a456-426614174003" + * } + */ + LumaGenerationReference: { + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: "generation"; + /** + * Format: uuid + * @description The ID of the generation + */ + id: string; + }; + /** + * @description The image object + * @example { + * "type": "image", + * "url": "https://example.com/image.jpg" + * } + */ + LumaImageReference: { + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: "image"; + /** + * Format: uri + * @description The URL of the image + */ + url: string; + }; + /** @description A keyframe can be either a Generation reference, an Image, or a Video */ + LumaKeyframe: components["schemas"]["LumaGenerationReference"] | components["schemas"]["LumaImageReference"]; + /** @enum {string} */ + LumaGenerationType: "video" | "image"; + /** + * @description The state of the generation + * @example completed + * @enum {string} + */ + LumaState: "queued" | "dreaming" | "completed" | "failed"; + /** @description The assets of the generation */ + LumaAssets: { + /** + * Format: uri + * @description The URL of the video + */ + video?: string; + /** + * Format: uri + * @description The URL of the image + */ + image?: string; + /** + * Format: uri + * @description The URL of the progress video + */ + progress_video?: string; + }; + /** @description The generation request object */ + LumaGenerationRequest: { + /** + * @default video + * @enum {string} + */ + generation_type: "video"; + /** @description The prompt of the generation */ + prompt: string; + aspect_ratio: components["schemas"]["LumaAspectRatio"]; + /** @description Whether to loop the video */ + loop?: boolean; + keyframes?: components["schemas"]["LumaKeyframes"]; + /** + * Format: uri + * @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 + */ + callback_url?: string; + model: components["schemas"]["LumaVideoModel"]; + resolution: components["schemas"]["LumaVideoModelOutputResolution"]; + duration: components["schemas"]["LumaVideoModelOutputDuration"]; + }; + /** @description The image generation request object */ + LumaImageGenerationRequest: { + /** + * @default image + * @enum {string} + */ + generation_type: "image"; + model?: components["schemas"]["LumaImageModel"]; + /** @description The prompt of the generation */ + prompt?: string; + aspect_ratio?: components["schemas"]["LumaAspectRatio"]; + /** + * Format: uri + * @description The callback URL for the generation + */ + callback_url?: string; + image_ref?: components["schemas"]["LumaImageRef"][]; + style_ref?: components["schemas"]["LumaImageRef"][]; + character_ref?: { + identity0?: components["schemas"]["LumaImageIdentity"]; + }; + modify_image_ref?: components["schemas"]["LumaModifyImageRef"]; + }; + /** @description The upscale generation request object */ + LumaUpscaleVideoGenerationRequest: { + /** + * @default upscale_video + * @enum {string} + */ + generation_type: "upscale_video"; + resolution?: components["schemas"]["LumaVideoModelOutputResolution"]; + /** + * Format: uri + * @description The callback URL for the upscale + */ + callback_url?: string; + }; + /** @description The audio generation request object */ + LumaAudioGenerationRequest: { + /** + * @default add_audio + * @enum {string} + */ + generation_type: "add_audio"; + /** @description The prompt of the audio */ + prompt?: string; + /** @description The negative prompt of the audio */ + negative_prompt?: string; + /** + * Format: uri + * @description The callback URL for the audio + */ + callback_url?: string; + }; + /** + * @description The error object + * @example { + * "detail": "Invalid API key is provided" + * } + */ + LumaError: { + /** @description The error message */ + detail?: string; + }; + /** + * @description The generation response object + * @example { + * "id": "123e4567-e89b-12d3-a456-426614174000", + * "state": "completed", + * "failure_reason": null, + * "created_at": "2023-06-01T12:00:00Z", + * "assets": { + * "video": "https://example.com/video.mp4" + * }, + * "model": "ray-2", + * "request": { + * "prompt": "A serene lake surrounded by mountains at sunset", + * "aspect_ratio": "16:9", + * "loop": true, + * "keyframes": { + * "frame0": { + * "type": "image", + * "url": "https://example.com/image.jpg" + * }, + * "frame1": { + * "type": "generation", + * "id": "123e4567-e89b-12d3-a456-426614174000" + * } + * } + * } + * } + */ + LumaGeneration: { + /** + * Format: uuid + * @description The ID of the generation + */ + id?: string; + generation_type?: components["schemas"]["LumaGenerationType"]; + state?: components["schemas"]["LumaState"]; + /** @description The reason for the state of the generation */ + failure_reason?: string; + /** + * Format: date-time + * @description The date and time when the generation was created + */ + created_at?: string; + assets?: components["schemas"]["LumaAssets"]; + /** @description The model used for the generation */ + model?: string; + /** @description The request of the generation */ + request?: components["schemas"]["LumaGenerationRequest"] | components["schemas"]["LumaImageGenerationRequest"] | components["schemas"]["LumaUpscaleVideoGenerationRequest"] | components["schemas"]["LumaAudioGenerationRequest"]; + }; + PixverseTextVideoRequest: { + /** @enum {string} */ + aspect_ratio: "16:9" | "4:3" | "1:1" | "3:4" | "9:16"; + /** @enum {integer} */ + duration: 5 | 8; + /** @enum {string} */ + model: "v3.5"; + /** @enum {string} */ + motion_mode?: "normal" | "fast"; + negative_prompt?: string; + prompt: string; + /** @enum {string} */ + quality: "360p" | "540p" | "720p" | "1080p"; + seed?: number; + /** @enum {string} */ + style?: "anime" | "3d_animation" | "clay" | "comic" | "cyberpunk"; + template_id?: number; + water_mark?: boolean; + }; + PixverseVideoResponse: { + ErrCode?: number; + ErrMsg?: string; + Resp?: { + video_id?: number; + }; + }; + PixverseImageUploadResponse: { + ErrCode?: number; + ErrMsg?: string; + Resp?: { + img_id?: number; + }; + }; + PixverseImageVideoRequest: { + img_id: number; + /** @enum {string} */ + model: "v3.5"; + prompt: string; + /** @enum {integer} */ + duration: 5 | 8; + /** @enum {string} */ + quality: "360p" | "540p" | "720p" | "1080p"; + /** @enum {string} */ + motion_mode?: "normal" | "fast"; + seed?: number; + /** @enum {string} */ + style?: "anime" | "3d_animation" | "clay" | "comic" | "cyberpunk"; + template_id?: number; + water_mark?: boolean; + }; + PixverseTransitionVideoRequest: { + first_frame_img: number; + last_frame_img: number; + /** @enum {string} */ + model: "v3.5"; + /** @enum {integer} */ + duration: 5 | 8; + /** @enum {string} */ + quality: "360p" | "540p" | "720p" | "1080p"; + /** @enum {string} */ + motion_mode: "normal" | "fast"; + seed: number; + prompt: string; + /** @enum {string} */ + style?: "anime" | "3d_animation" | "clay" | "comic" | "cyberpunk"; + template_id?: number; + water_mark?: boolean; + }; + PixverseVideoResultResponse: { + ErrCode?: number; + ErrMsg?: string; + Resp?: { + create_time?: string; + id?: number; + modify_time?: string; + negative_prompt?: string; + outputHeight?: number; + outputWidth?: number; + prompt?: string; + resolution_ratio?: number; + seed?: number; + size?: number; + /** + * @description Video generation status codes: + * * 1 - Generation successful + * * 5 - Generating + * * 6 - Deleted + * * 7 - Contents moderation failed + * * 8 - Generation failed + * @enum {integer} + */ + status?: 1 | 5 | 6 | 7 | 8; + style?: string; + url?: string; + }; + }; + Veo2GenVidRequest: { + instances?: { + /** @description Text description of the video */ + prompt: string; + /** @description Optional image to guide video generation */ + image?: { + /** Format: byte */ + bytesBase64Encoded?: string; + gcsUri?: string; + mimeType?: string; + } & (unknown | unknown); + }[]; + parameters?: { + /** @example 16:9 */ + aspectRatio?: string; + negativePrompt?: string; + /** @enum {string} */ + personGeneration?: "ALLOW" | "BLOCK"; + sampleCount?: number; + /** Format: uint32 */ + seed?: number; + /** @description Optional Cloud Storage URI to upload the video */ + storageUri?: string; + durationSeconds?: number; + enhancePrompt?: boolean; + }; + }; + Veo2GenVidResponse: { + /** + * @description Operation resource name + * @example projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID/operations/a1b07c8e-7b5a-4aba-bb34-3e1ccb8afcc8 + */ + name: string; + }; + Veo2GenVidPollRequest: { + /** + * @description Full operation name (from predict response) + * @example projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID/operations/OPERATION_ID + */ + operationName: string; + }; + Veo2GenVidPollResponse: { + name?: string; + done?: boolean; + /** @description The actual prediction response if done is true */ + response?: { + /** @example type.googleapis.com/cloud.ai.large_models.vision.GenerateVideoResponse */ + "@type"?: string; + /** @description Count of media filtered by responsible AI policies */ + raiMediaFilteredCount?: number; + /** @description Reasons why media was filtered by responsible AI policies */ + raiMediaFilteredReasons?: string[]; + videos?: { + /** @description Cloud Storage URI of the video */ + gcsUri?: string; + /** @description Base64-encoded video content */ + bytesBase64Encoded?: string; + /** @description Video MIME type */ + mimeType?: string; + }[]; + }; + /** @description Error details if operation failed */ + error?: { + /** @description Error code */ + code?: number; + /** @description Error message */ + message?: string; + }; + }; + VeoGenVidRequest: { + instances?: { + /** @description Text description of the video */ + prompt: string; + /** @description Optional image to guide video generation */ + image?: { + /** Format: byte */ + bytesBase64Encoded?: string; + gcsUri?: string; + mimeType?: string; + } & (unknown | unknown); + }[]; + parameters?: { + /** @example 16:9 */ + aspectRatio?: string; + negativePrompt?: string; + /** @enum {string} */ + personGeneration?: "ALLOW" | "BLOCK"; + sampleCount?: number; + /** Format: uint32 */ + seed?: number; + /** @description Optional Cloud Storage URI to upload the video */ + storageUri?: string; + durationSeconds?: number; + enhancePrompt?: boolean; + /** @description Generate audio for the video. Only supported by veo 3 models. */ + generateAudio?: boolean; + }; + }; + VeoGenVidResponse: { + /** + * @description Operation resource name + * @example projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID/operations/a1b07c8e-7b5a-4aba-bb34-3e1ccb8afcc8 + */ + name: string; + }; + VeoGenVidPollRequest: { + /** + * @description Full operation name (from predict response) + * @example projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID/operations/OPERATION_ID + */ + operationName: string; + }; + VeoGenVidPollResponse: { + name?: string; + done?: boolean; + /** @description The actual prediction response if done is true */ + response?: { + /** @example type.googleapis.com/cloud.ai.large_models.vision.GenerateVideoResponse */ + "@type"?: string; + /** @description Count of media filtered by responsible AI policies */ + raiMediaFilteredCount?: number; + /** @description Reasons why media was filtered by responsible AI policies */ + raiMediaFilteredReasons?: string[]; + videos?: { + /** @description Cloud Storage URI of the video */ + gcsUri?: string; + /** @description Base64-encoded video content */ + bytesBase64Encoded?: string; + /** @description Video MIME type */ + mimeType?: string; + }[]; + }; + /** @description Error details if operation failed */ + error?: { + /** @description Error code */ + code?: number; + /** @description Error message */ + message?: string; + }; + }; + RunwayImageToVideoRequest: { + promptImage: components["schemas"]["RunwayPromptImageObject"]; + /** + * Format: int64 + * @description Random seed for generation + */ + seed: number; + /** @description Model to use for generation */ + model: components["schemas"]["RunwayModelEnum"]; + /** @description Text prompt for the generation */ + promptText?: string; + /** @description The number of seconds of duration for the output video. */ + duration: components["schemas"]["RunwayDurationEnum"]; + /** @description The resolution (aspect ratio) of the output video. Allowable values depend on the selected model. 1280:768 and 768:1280 are only supported for gen3a_turbo. */ + ratio: components["schemas"]["RunwayAspectRatioEnum"]; + }; + RunwayImageToVideoResponse: { + /** @description Task ID */ + id?: string; + }; + RunwayTextToImageResponse: { + /** @description Task ID */ + id?: string; + }; + RunwayTaskStatusResponse: { + /** @description Task ID */ + id: string; + /** @description Task status */ + status: components["schemas"]["RunwayTaskStatusEnum"]; + /** + * Format: date-time + * @description Task creation timestamp + */ + createdAt: string; + /** @description Array of output video URLs */ + output?: string[]; + /** + * Format: float + * @description Float value between 0 and 1 representing the progress of the task. Only available if status is RUNNING. + */ + progress?: number; + }; + /** + * @description Possible statuses for a Runway task. + * @enum {string} + */ + RunwayTaskStatusEnum: "SUCCEEDED" | "RUNNING" | "FAILED" | "PENDING" | "CANCELLED" | "THROTTLED"; + /** + * @description Available Runway models for generation. + * @enum {string} + */ + RunwayModelEnum: "gen4_turbo" | "gen3a_turbo"; + /** @description Represents an image with its position in the video sequence. */ + RunwayPromptImageDetailedObject: { + /** @description A HTTPS URL or data URI containing an encoded image. */ + uri: string; + /** + * @description The position of the image in the output video. 'last' is currently supported for gen3a_turbo only. + * @enum {string} + */ + position: "first" | "last"; + }; + /** @enum {integer} */ + RunwayDurationEnum: 5 | 10; + /** @enum {string} */ + RunwayAspectRatioEnum: "1280:720" | "720:1280" | "1104:832" | "832:1104" | "960:960" | "1584:672" | "1280:768" | "768:1280"; + /** @enum {string} */ + RunwayTextToImageAspectRatioEnum: "1920:1080" | "1080:1920" | "1024:1024" | "1360:768" | "1080:1080" | "1168:880" | "1440:1080" | "1080:1440" | "1808:768" | "2112:912"; + /** @description Image(s) to use for the video generation. Can be a single URI or an array of image objects with positions. */ + RunwayPromptImageObject: string | components["schemas"]["RunwayPromptImageDetailedObject"][]; + OpenAIImageGenerationResponse: { + data?: { + /** @description Base64 encoded image data */ + b64_json?: string; + /** @description URL of the image */ + url?: string; + /** @description Revised prompt */ + revised_prompt?: string; + }[]; + usage?: { + input_tokens?: number; + input_tokens_details?: { + text_tokens?: number; + image_tokens?: number; + }; + output_tokens?: number; + total_tokens?: number; + }; + }; + OpenAIImageGenerationRequest: { + /** + * @description The model to use for image generation + * @example dall-e-3 + */ + model?: string; + /** + * @description A text description of the desired image + * @example Draw a rocket in front of a blackhole in deep space + */ + prompt: string; + /** + * @description The number of images to generate (1-10). Only 1 supported for dall-e-3. + * @example 1 + */ + n?: number; + /** + * @description The quality of the generated image + * @example high + * @enum {string} + */ + quality?: "low" | "medium" | "high" | "standard" | "hd"; + /** + * @description Size of the image (e.g., 1024x1024, 1536x1024, auto) + * @example 1024x1536 + */ + size?: string; + /** + * @description Format of the output image + * @example png + * @enum {string} + */ + output_format?: "png" | "webp" | "jpeg"; + /** + * @description Compression level for JPEG or WebP (0-100) + * @example 100 + */ + output_compression?: number; + /** + * @description Content moderation setting + * @example auto + * @enum {string} + */ + moderation?: "low" | "auto"; + /** + * @description Background transparency + * @example opaque + * @enum {string} + */ + background?: "transparent" | "opaque"; + /** + * @description Response format of image data + * @example b64_json + * @enum {string} + */ + response_format?: "url" | "b64_json"; + /** + * @description Style of the image (only for dall-e-3) + * @example vivid + * @enum {string} + */ + style?: "vivid" | "natural"; + /** + * @description A unique identifier for end-user monitoring + * @example user-1234 + */ + user?: string; + }; + OpenAIImageEditRequest: { + /** + * @description The model to use for image editing + * @example gpt-image-1 + */ + model: string; + /** + * @description A text description of the desired edit + * @example Give the rocketship rainbow coloring + */ + prompt: string; + /** + * @description The number of images to generate + * @example 1 + */ + n?: number; + /** + * @description The quality of the edited image + * @example low + */ + quality?: string; + /** + * @description Size of the output image + * @example 1024x1024 + */ + size?: string; + /** + * @description Format of the output image + * @example png + * @enum {string} + */ + output_format?: "png" | "webp" | "jpeg"; + /** + * @description Compression level for JPEG or WebP (0-100) + * @example 100 + */ + output_compression?: number; + /** + * @description Content moderation setting + * @example auto + * @enum {string} + */ + moderation?: "low" | "auto"; + /** + * @description Background transparency + * @example opaque + */ + background?: string; + /** + * @description A unique identifier for end-user monitoring + * @example user-1234 + */ + user?: string; + }; + OpenAIVideoCreateRequest: { + /** + * @description Text prompt that describes the video to generate + * @example A calico cat playing a piano on stage + */ + prompt: string; + /** + * Format: binary + * @description Optional image or video reference that guides generation + */ + input_reference?: string; + /** + * @description The video generation model to use + * @default sora-2 + * @enum {string} + */ + model: "sora-2" | "sora-2-pro"; + /** + * @description Clip duration in seconds + * @default 4 + * @enum {string} + */ + seconds: "4" | "8" | "12"; + /** + * @description Output resolution formatted as width x height + * @default 720x1280 + * @enum {string} + */ + size: "720x1280" | "1280x720" | "1024x1792" | "1792x1024"; + }; + OpenAIVideoJob: { + /** + * @description Unique identifier for the video job + * @example video_123 + */ + id?: string; + /** + * @description The object type, which is always video + * @example video + * @enum {string} + */ + object?: "video"; + /** + * @description The video generation model that produced the job + * @example sora-2 + */ + model?: string; + /** + * @description Current lifecycle status of the video job + * @example queued + * @enum {string} + */ + status?: "queued" | "in_progress" | "completed" | "failed"; + /** + * @description Approximate completion percentage for the generation task + * @example 0 + */ + progress?: number; + /** + * @description Unix timestamp (seconds) for when the job was created + * @example 1712697600 + */ + created_at?: number; + /** + * @description Unix timestamp (seconds) for when the job completed, if finished + * @example 1712698600 + */ + completed_at?: number; + /** + * @description Unix timestamp (seconds) for when the downloadable assets expire, if set + * @example 1712784000 + */ + expires_at?: number; + /** + * @description The resolution of the generated video + * @example 1024x1808 + */ + size?: string; + /** + * @description Duration of the generated clip in seconds + * @example 8 + */ + seconds?: string; + /** + * @description Quality of the generated video + * @example standard + */ + quality?: string; + /** + * @description Identifier of the source video if this video is a remix + * @example video_456 + */ + remixed_from_video_id?: string; + /** @description Error payload that explains why generation failed, if applicable */ + error?: { + /** @description Error code */ + code?: string; + /** @description Human-readable error message */ + message?: string; + }; + }; + CustomerStorageResourceResponse: { + /** @description The signed URL to use for downloading the file from the specified path */ + download_url?: string; + /** @description The signed URL to use for uploading the file to the specified path */ + upload_url?: string; + /** + * Format: date-time + * @description When the signed URL will expire + */ + expires_at?: string; + /** @description Whether an existing file with the same hash was found */ + existing_file?: boolean; + }; + /** @enum {string} */ + Pikaffect: "Cake-ify" | "Crumble" | "Crush" | "Decapitate" | "Deflate" | "Dissolve" | "Explode" | "Eye-pop" | "Inflate" | "Levitate" | "Melt" | "Peel" | "Poke" | "Squish" | "Ta-da" | "Tear"; + /** Body_generate_pikaffects_generate_pikaffects_post */ + PikaBody_generate_pikaffects_generate_pikaffects_post: { + /** + * Image + * Format: binary + */ + image?: string; + /** Pikaffect */ + pikaffect?: components["schemas"]["Pikaffect"]; + /** Prompttext */ + promptText?: string; + /** Negativeprompt */ + negativePrompt?: string; + /** Seed */ + seed?: number; + }; + /** GenerateResponse */ + PikaGenerateResponse: { + /** Video Id */ + video_id: string; + }; + /** HTTPValidationError */ + PikaHTTPValidationError: { + /** Detail */ + detail?: components["schemas"]["PikaValidationError"][]; + }; + /** Body_generate_pikadditions_generate_pikadditions_post */ + PikaBody_generate_pikadditions_generate_pikadditions_post: { + /** + * Video + * Format: binary + */ + video?: string; + /** + * Image + * Format: binary + */ + image?: string; + /** Prompttext */ + promptText?: string; + /** Negativeprompt */ + negativePrompt?: string; + /** Seed */ + seed?: number; + }; + /** Body_generate_pikaswaps_generate_pikaswaps_post */ + PikaBody_generate_pikaswaps_generate_pikaswaps_post: { + /** + * Video + * Format: binary + */ + video?: string; + /** Image */ + image?: string; + /** Prompttext */ + promptText?: string; + /** + * Modifyregionmask + * @description A mask image that specifies the region to modify, where the mask is white and the background is black + */ + modifyRegionMask?: string; + /** + * Modifyregionroi + * @description Plaintext description of the object / region to modify + */ + modifyRegionRoi?: string; + /** Negativeprompt */ + negativePrompt?: string; + /** Seed */ + seed?: number; + }; + /** Body_generate_2_2_t2v_generate_2_2_t2v_post */ + PikaBody_generate_2_2_t2v_generate_2_2_t2v_post: { + /** Prompttext */ + promptText: string; + /** Negativeprompt */ + negativePrompt?: string | null; + /** Seed */ + seed?: number | null; + /** Resolution */ + resolution?: components["schemas"]["PikaResolutionEnum"]; + /** Duration */ + duration?: components["schemas"]["PikaDurationEnum"]; + /** + * Aspectratio + * Format: float + * @description Aspect ratio (width / height) + * @default 1.7777777777777777 + */ + aspectRatio: number; + }; + /** Body_generate_2_2_i2v_generate_2_2_i2v_post */ + PikaBody_generate_2_2_i2v_generate_2_2_i2v_post: { + /** + * Image + * Format: binary + */ + image?: string | null; + /** Prompttext */ + promptText?: string | null; + /** Negativeprompt */ + negativePrompt?: string | null; + /** Seed */ + seed?: number | null; + /** Resolution */ + resolution?: components["schemas"]["PikaResolutionEnum"]; + /** Duration */ + duration?: components["schemas"]["PikaDurationEnum"]; + }; + /** Body_generate_2_2_c2v_generate_2_2_pikascenes_post */ + PikaBody_generate_2_2_c2v_generate_2_2_pikascenes_post: { + /** Images */ + images?: string[]; + /** + * Ingredientsmode + * @enum {string} + */ + ingredientsMode: "creative" | "precise"; + /** Prompttext */ + promptText?: string; + /** Negativeprompt */ + negativePrompt?: string; + /** Seed */ + seed?: number; + /** + * Resolution + * @default 1080p + */ + resolution: string; + /** + * Duration + * @default 5 + */ + duration: number; + /** + * Aspectratio + * @description Aspect ratio (width / height) + */ + aspectRatio?: number; + }; + /** Body_generate_2_2_keyframe_generate_2_2_pikaframes_post */ + PikaBody_generate_2_2_keyframe_generate_2_2_pikaframes_post: { + /** + * Keyframes + * @description Array of keyframe images + */ + keyFrames?: string[]; + /** Prompttext */ + promptText: string; + /** Negativeprompt */ + negativePrompt?: string; + /** Seed */ + seed?: number; + /** Resolution */ + resolution?: components["schemas"]["PikaResolutionEnum"]; + /** Duration */ + duration?: number; + }; + /** VideoResponse */ + PikaVideoResponse: { + /** Id */ + id: string; + /** + * Status + * @description The status of the video + */ + status: components["schemas"]["PikaStatusEnum"]; + /** + * Url + * @default null + */ + url: string | null; + /** + * Progress + * @default null + */ + progress: number | null; + }; + /** @enum {string} */ + PikaStatusEnum: "queued" | "started" | "finished"; + /** ValidationError */ + PikaValidationError: { + /** Location */ + loc: (string | number)[]; + /** Message */ + msg: string; + /** Error Type */ + type: string; + }; + /** + * @default 1080p + * @enum {string} + */ + PikaResolutionEnum: "1080p" | "720p"; + /** + * @default 5 + * @enum {integer} + */ + PikaDurationEnum: 5 | 10; + /** + * @description RGB color values + * @example { + * "rgb": [ + * 255, + * 0, + * 0 + * ] + * } + */ + RGBColor: { + rgb: number[]; + }; + /** + * @example { + * "id": "2a1b2d4eafe2bc6ab4cd4d5c6133f513", + * "name": "internal_error", + * "errors": [ + * "An unexpected server error has occurred, please try again later." + * ] + * } + */ + StabilityError: { + /** + * @description A unique identifier associated with this error. Please include this in any [support tickets](https://kb.stability.ai/knowledge-base/kb-tickets/new) you file, as it will greatly assist us in diagnosing the root cause of the problem. + * @example a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4 + */ + id: string; + /** + * @description Short-hand name for an error, useful for discriminating between errors with the same status code. + * @example bad_request + */ + name: string; + /** + * @description One or more error messages indicating what went wrong. + * @example [ + * { + * "some-field": "is required" + * } + * ] + */ + errors: string[]; + }; + /** + * @description The name of your application, used to help us communicate app-specific debugging or moderation issues to you. + * @example my-awesome-app + */ + StabilityStabilityClientID: string; + /** + * @description A unique identifier for your end user. Used to help us communicate user-specific debugging or moderation issues to you. Feel free to obfuscate this value to protect user privacy. + * @example DiscordUser#9999 + */ + StabilityStabilityClientUserID: string; + /** + * @description The version of your application, used to help us communicate version-specific debugging or moderation issues to you. + * @example 1.2.1 + */ + StabilityStabilityClientVersion: string; + /** + * @description Your request was flagged by our content moderation system. + * @example { + * "id": "ed14db44362126aab3cbd25cca51ffe3", + * "name": "content_moderation", + * "errors": [ + * "Your request was flagged by our content moderation system, as a result your request was denied and you were not charged." + * ] + * } + */ + StabilityContentModerationResponse: { + /** + * @description A unique identifier associated with this error. Please include this in any [support tickets](https://kb.stability.ai/knowledge-base/kb-tickets/new) you file, as it will greatly assist us in diagnosing the root cause of the problem. + * @example a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4 + */ + id: string; + /** + * @description Our content moderation system has flagged some part of your request and subsequently denied it. You were not charged for this request. While this may at times be frustrating, it is necessary to maintain the integrity of our platform and ensure a safe experience for all users. If you would like to provide feedback, please use the [Support Form](https://kb.stability.ai/knowledge-base/kb-tickets/new). + * @enum {string} + */ + name: "content_moderation"; + /** + * @description One or more error messages indicating what went wrong. + * @example [ + * "some-field: is required" + * ] + */ + errors: string[]; + }; + ImagenGenerateImageRequest: { + instances: components["schemas"]["ImagenImageGenerationInstance"][]; + parameters: components["schemas"]["ImagenImageGenerationParameters"]; + }; + ImagenGenerateImageResponse: { + predictions?: components["schemas"]["ImagenImagePrediction"][]; + }; + ImagenImageGenerationInstance: { + /** @description Text prompt for image generation */ + prompt: string; + }; + ImagenImageGenerationParameters: { + sampleCount?: number; + /** Format: uint32 */ + seed?: number; + addWatermark?: boolean; + /** @enum {string} */ + aspectRatio?: "1:1" | "9:16" | "16:9" | "3:4" | "4:3"; + enhancePrompt?: boolean; + includeRaiReason?: boolean; + includeSafetyAttributes?: boolean; + outputOptions?: components["schemas"]["ImagenOutputOptions"]; + /** @enum {string} */ + personGeneration?: "dont_allow" | "allow_adult" | "allow_all"; + /** @enum {string} */ + safetySetting?: "block_most" | "block_some" | "block_few" | "block_fewest"; + /** Format: uri */ + storageUri?: string; + }; + ImagenImagePrediction: { + /** @description MIME type of the generated image */ + mimeType?: string; + /** @description Enhanced or rewritten prompt used to generate this image */ + prompt?: string; + /** + * Format: byte + * @description Base64-encoded image content + */ + bytesBase64Encoded?: string; + }; + ImagenOutputOptions: { + /** @enum {string} */ + mimeType?: "image/png" | "image/jpeg"; + compressionQuality?: number; + }; + /** + * @description The rendering speed setting that controls the trade-off between generation speed and quality + * @default DEFAULT + * @enum {string} + */ + RenderingSpeed: "DEFAULT" | "TURBO" | "QUALITY"; + /** + * @default GENERAL + * @enum {string} + */ + IdeogramStyleType: "AUTO" | "GENERAL" | "REALISTIC" | "DESIGN" | "FICTION"; + /** + * @description Controls the likelihood of creating additional details not heavily conditioned by the init image. + * @default 0.35 + */ + StabilityCreativity: number; + /** + * @description The `id` of a generation, typically used for async generations, that can be used to check the status of the generation or retrieve the result. + * @example a6dc6c6e20acda010fe14d71f180658f2896ed9b4ec25aa99a6ff06c796987c4 + */ + StabilityGenerationID: string; + StabilityImageGenerationSD3_Request: { + /** + * @description What you wish to see in the output image. A strong, descriptive prompt that clearly defines + * elements, colors, and subjects will lead to better results. + */ + prompt: string; + /** + * GenerationMode + * @description Controls whether this is a text-to-image or image-to-image generation, which affects which parameters are required: + * - **text-to-image** requires only the `prompt` parameter + * - **image-to-image** requires the `prompt`, `image`, and `strength` parameters + * @default text-to-image + * @enum {string} + */ + mode: "text-to-image" | "image-to-image"; + /** + * Format: binary + * @description The image to use as the starting point for the generation. + * + * Supported formats: + * + * + * + * - jpeg + * - png + * - webp + * + * Supported dimensions: + * + * + * + * - Every side must be at least 64 pixels + * + * > **Important:** This parameter is only valid for **image-to-image** requests. + */ + image?: string; + /** + * @description Sometimes referred to as _denoising_, this parameter controls how much influence the + * `image` parameter has on the generated image. A value of 0 would yield an image that + * is identical to the input. A value of 1 would be as if you passed in no image at all. + * + * > **Important:** This parameter is only valid for **image-to-image** requests. + */ + strength?: number; + /** + * @description Controls the aspect ratio of the generated image. Defaults to 1:1. + * + * > **Important:** This parameter is only valid for **text-to-image** requests. + * @default 1:1 + * @enum {string} + */ + aspect_ratio: "21:9" | "16:9" | "3:2" | "5:4" | "1:1" | "4:5" | "2:3" | "9:16" | "9:21"; + /** + * @description The model to use for generation. + * + * - `sd3.5-large` requires 6.5 credits per generation + * - `sd3.5-large-turbo` requires 4 credits per generation + * - `sd3.5-medium` requires 3.5 credits per generation + * - As of the April 17, 2025, `sd3-large`, `sd3-large-turbo` and `sd3-medium` + * + * + * + * are re-routed to their `sd3.5-[model version]` equivalent, at the same price. + * @default sd3.5-large + * @enum {string} + */ + model: "sd3.5-large" | "sd3.5-large-turbo" | "sd3.5-medium"; + /** + * @description A specific value that is used to guide the 'randomness' of the generation. (Omit this parameter or pass `0` to use a random seed.) + * @default 0 + */ + seed: number; + /** + * @description Dictates the `content-type` of the generated image. + * @default png + * @enum {string} + */ + output_format: "png" | "jpeg"; + /** + * @description Guides the image model towards a particular style. + * @enum {string} + */ + style_preset?: "enhance" | "anime" | "photographic" | "digital-art" | "comic-book" | "fantasy-art" | "line-art" | "analog-film" | "neon-punk" | "isometric" | "low-poly" | "origami" | "modeling-compound" | "cinematic" | "3d-model" | "pixel-art" | "tile-texture"; + /** + * @description Keywords of what you **do not** wish to see in the output image. + * This is an advanced feature. + */ + negative_prompt?: string; + /** @description How strictly the diffusion process adheres to the prompt text (higher values keep your image closer to your prompt). The _Large_ and _Medium_ models use a default of `4`. The _Turbo_ model uses a default of `1`. */ + cfg_scale?: number; + }; + StabilityImageGenrationSD3_Response_200: { + /** + * @description The generated image, encoded to base64. + * @example AAAAIGZ0eXBpc29tAAACAGlzb21pc28yYXZjMW1... + */ + image: string; + /** + * @description The seed used as random noise for this generation. + * @default 0 + * @example 343940597 + */ + seed: number; + /** + * @description The reason the generation finished. + * + * - `SUCCESS` = successful generation. + * - `CONTENT_FILTERED` = successful generation, however the output violated our content moderation + * policy and has been blurred as a result. + * @example SUCCESS + * @enum {string} + */ + finish_reason: "SUCCESS" | "CONTENT_FILTERED"; + }; + StabilityImageGenrationSD3_Response_400: { + /** + * @description A unique identifier associated with this error. Please include this in any [support tickets](https://kb.stability.ai/knowledge-base/kb-tickets/new) + * you file, as it will greatly assist us in diagnosing the root cause of the problem. + * @example a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4 + */ + id: string; + /** + * @description Short-hand name for an error, useful for discriminating between errors with the same status code. + * @example bad_request + */ + name: string; + /** + * @description One or more error messages indicating what went wrong. + * @example [ + * "some-field: is required" + * ] + */ + errors: string[]; + }; + /** + * @example { + * "id": "4212a4b66fbe1cedca4bf2133d35dca5", + * "name": "payload_too_large", + * "errors": [ + * "body: payloads cannot be larger than 10MiB in size" + * ] + * } + */ + StabilityImageGenrationSD3_Response_413: { + /** + * @description A unique identifier associated with this error. Please include this in any [support tickets](https://kb.stability.ai/knowledge-base/kb-tickets/new) + * you file, as it will greatly assist us in diagnosing the root cause of the problem. + * @example a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4 + */ + id: string; + /** + * @description Short-hand name for an error, useful for discriminating between errors with the same status code. + * @example bad_request + */ + name: string; + /** + * @description One or more error messages indicating what went wrong. + * @example [ + * "some-field: is required" + * ] + */ + errors: string[]; + }; + StabilityImageGenrationSD3_Response_422: { + /** + * @description A unique identifier associated with this error. Please include this in any [support tickets](https://kb.stability.ai/knowledge-base/kb-tickets/new) + * you file, as it will greatly assist us in diagnosing the root cause of the problem. + * @example a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4 + */ + id: string; + /** + * @description Short-hand name for an error, useful for discriminating between errors with the same status code. + * @example bad_request + */ + name: string; + /** + * @description One or more error messages indicating what went wrong. + * @example [ + * "some-field: is required" + * ] + */ + errors: string[]; + }; + /** + * @example { + * "id": "rate_limit_exceeded", + * "name": "rate_limit_exceeded", + * "errors": [ + * "You have exceeded the rate limit of 150 requests within a 10 second period, and have been timed out for 60 seconds." + * ] + * } + */ + StabilityImageGenrationSD3_Response_429: { + /** + * @description A unique identifier associated with this error. Please include this in any [support tickets](https://kb.stability.ai/knowledge-base/kb-tickets/new) + * you file, as it will greatly assist us in diagnosing the root cause of the problem. + * @example a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4 + */ + id: string; + /** + * @description Short-hand name for an error, useful for discriminating between errors with the same status code. + * @example bad_request + */ + name: string; + /** + * @description One or more error messages indicating what went wrong. + * @example [ + * "some-field: is required" + * ] + */ + errors: string[]; + }; + /** + * @example { + * "id": "2a1b2d4eafe2bc6ab4cd4d5c6133f513", + * "name": "internal_error", + * "errors": [ + * "An unexpected server error has occurred, please try again later." + * ] + * } + */ + StabilityImageGenrationSD3_Response_500: { + /** + * @description A unique identifier associated with this error. Please include this in any [support tickets](https://kb.stability.ai/knowledge-base/kb-tickets/new) + * you file, as it will greatly assist us in diagnosing the root cause of the problem. + * @example a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4 + */ + id: string; + /** + * @description Short-hand name for an error, useful for discriminating between errors with the same status code. + * @example bad_request + */ + name: string; + /** + * @description One or more error messages indicating what went wrong. + * @example [ + * "some-field: is required" + * ] + */ + errors: string[]; + }; + StabilityImageGenrationUpscaleConservative_Request: { + /** + * Format: binary + * @description The image you wish to upscale. + * + * Supported Formats: + * - jpeg + * - png + * - webp + * + * Validation Rules: + * - Every side must be at least 64 pixels + * - Total pixel count must be between 4,096 and 9,437,184 pixels + * - The aspect ratio must be between 1:2.5 and 2.5:1 + * @example ./some/image.png + */ + image: string; + /** + * @description What you wish to see in the output image. A strong, descriptive prompt that clearly defines + * elements, colors, and subjects will lead to better results. + * + * To control the weight of a given word use the format `(word:weight)`, + * where `word` is the word you'd like to control the weight of and `weight` + * is a value between 0 and 1. For example: `The sky was a crisp (blue:0.3) and (green:0.8)` + * would convey a sky that was blue and green, but more green than blue. + */ + prompt: string; + /** + * @description A blurb of text describing what you **do not** wish to see in the output image. + * This is an advanced feature. + */ + negative_prompt?: string; + /** + * @description A specific value that is used to guide the 'randomness' of the generation. (Omit this parameter or pass `0` to use a random seed.) + * @default 0 + */ + seed: number; + /** + * @description Dictates the `content-type` of the generated image. + * @default png + * @enum {string} + */ + output_format: "jpeg" | "png" | "webp"; + creativity?: components["schemas"]["StabilityCreativity"]; + }; + StabilityImageGenrationUpscaleConservative_Response_200: { + /** + * @description The generated image, encoded to base64. + * @example AAAAIGZ0eXBpc29tAAACAGlzb21pc28yYXZjMW1... + */ + image: string; + /** + * @description The seed used as random noise for this generation. + * @default 0 + * @example 343940597 + */ + seed: number; + /** + * @description The reason the generation finished. + * + * - `SUCCESS` = successful generation. + * - `CONTENT_FILTERED` = successful generation, however the output violated our content moderation + * policy and has been blurred as a result. + * @example SUCCESS + * @enum {string} + */ + finish_reason: "SUCCESS" | "CONTENT_FILTERED"; + }; + StabilityImageGenrationUpscaleConservative_Response_400: { + /** + * @description A unique identifier associated with this error. Please include this in any [support tickets](https://kb.stability.ai/knowledge-base/kb-tickets/new) + * you file, as it will greatly assist us in diagnosing the root cause of the problem. + * @example a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4 + */ + id: string; + /** + * @description Short-hand name for an error, useful for discriminating between errors with the same status code. + * @example bad_request + */ + name: string; + /** + * @description One or more error messages indicating what went wrong. + * @example [ + * "some-field: is required" + * ] + */ + errors: string[]; + }; + /** + * @example { + * "id": "4212a4b66fbe1cedca4bf2133d35dca5", + * "name": "payload_too_large", + * "errors": [ + * "body: payloads cannot be larger than 10MiB in size" + * ] + * } + */ + StabilityImageGenrationUpscaleConservative_Response_413: { + /** + * @description A unique identifier associated with this error. Please include this in any [support tickets](https://kb.stability.ai/knowledge-base/kb-tickets/new) + * you file, as it will greatly assist us in diagnosing the root cause of the problem. + * @example a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4 + */ + id: string; + /** + * @description Short-hand name for an error, useful for discriminating between errors with the same status code. + * @example bad_request + */ + name: string; + /** + * @description One or more error messages indicating what went wrong. + * @example [ + * "some-field: is required" + * ] + */ + errors: string[]; + }; + StabilityImageGenrationUpscaleConservative_Response_422: { + /** + * @description A unique identifier associated with this error. Please include this in any [support tickets](https://kb.stability.ai/knowledge-base/kb-tickets/new) + * you file, as it will greatly assist us in diagnosing the root cause of the problem. + * @example a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4 + */ + id: string; + /** + * @description Short-hand name for an error, useful for discriminating between errors with the same status code. + * @example bad_request + */ + name: string; + /** + * @description One or more error messages indicating what went wrong. + * @example [ + * "some-field: is required" + * ] + */ + errors: string[]; + }; + /** + * @example { + * "id": "rate_limit_exceeded", + * "name": "rate_limit_exceeded", + * "errors": [ + * "You have exceeded the rate limit of 150 requests within a 10 second period, and have been timed out for 60 seconds." + * ] + * } + */ + StabilityImageGenrationUpscaleConservative_Response_429: { + /** + * @description A unique identifier associated with this error. Please include this in any [support tickets](https://kb.stability.ai/knowledge-base/kb-tickets/new) + * you file, as it will greatly assist us in diagnosing the root cause of the problem. + * @example a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4 + */ + id: string; + /** + * @description Short-hand name for an error, useful for discriminating between errors with the same status code. + * @example bad_request + */ + name: string; + /** + * @description One or more error messages indicating what went wrong. + * @example [ + * "some-field: is required" + * ] + */ + errors: string[]; + }; + /** + * @example { + * "id": "2a1b2d4eafe2bc6ab4cd4d5c6133f513", + * "name": "internal_error", + * "errors": [ + * "An unexpected server error has occurred, please try again later." + * ] + * } + */ + StabilityImageGenrationUpscaleConservative_Response_500: { + /** + * @description A unique identifier associated with this error. Please include this in any [support tickets](https://kb.stability.ai/knowledge-base/kb-tickets/new) + * you file, as it will greatly assist us in diagnosing the root cause of the problem. + * @example a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4 + */ + id: string; + /** + * @description Short-hand name for an error, useful for discriminating between errors with the same status code. + * @example bad_request + */ + name: string; + /** + * @description One or more error messages indicating what went wrong. + * @example [ + * "some-field: is required" + * ] + */ + errors: string[]; + }; + StabilityImageGenrationUpscaleCreative_Request: { + /** + * Format: binary + * @description The image you wish to upscale. + * + * Supported Formats: + * - jpeg + * - png + * - webp + * + * Validation Rules: + * - Every side must be at least 64 pixels + * - Total pixel count must be between 4,096 and 1,048,576 pixels + * @example ./some/image.png + */ + image: string; + /** + * @description What you wish to see in the output image. A strong, descriptive prompt that clearly defines + * elements, colors, and subjects will lead to better results. + * + * To control the weight of a given word use the format `(word:weight)`, + * where `word` is the word you'd like to control the weight of and `weight` + * is a value between 0 and 1. For example: `The sky was a crisp (blue:0.3) and (green:0.8)` + * would convey a sky that was blue and green, but more green than blue. + */ + prompt: string; + /** + * @description A blurb of text describing what you **do not** wish to see in the output image. + * This is an advanced feature. + */ + negative_prompt?: string; + /** + * @description Dictates the `content-type` of the generated image. + * @default png + * @enum {string} + */ + output_format: "jpeg" | "png" | "webp"; + /** + * @description A specific value that is used to guide the 'randomness' of the generation. (Omit this parameter or pass `0` to use a random seed.) + * @default 0 + */ + seed: number; + /** + * @description Indicates how creative the model should be when upscaling an image. + * Higher values will result in more details being added to the image during upscaling. + * @default 0.3 + */ + creativity: number; + /** + * @description Guides the image model towards a particular style. + * @enum {string} + */ + style_preset?: "enhance" | "anime" | "photographic" | "digital-art" | "comic-book" | "fantasy-art" | "line-art" | "analog-film" | "neon-punk" | "isometric" | "low-poly" | "origami" | "modeling-compound" | "cinematic" | "3d-model" | "pixel-art" | "tile-texture"; + }; + StabilityImageGenrationUpscaleCreative_Response_200: { + id: components["schemas"]["StabilityGenerationID"]; + }; + StabilityImageGenrationUpscaleCreative_Response_400: { + /** + * @description A unique identifier associated with this error. Please include this in any [support tickets](https://kb.stability.ai/knowledge-base/kb-tickets/new) + * you file, as it will greatly assist us in diagnosing the root cause of the problem. + * @example a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4 + */ + id: string; + /** + * @description Short-hand name for an error, useful for discriminating between errors with the same status code. + * @example bad_request + */ + name: string; + /** + * @description One or more error messages indicating what went wrong. + * @example [ + * "some-field: is required" + * ] + */ + errors: string[]; + }; + /** + * @example { + * "id": "4212a4b66fbe1cedca4bf2133d35dca5", + * "name": "payload_too_large", + * "errors": [ + * "body: payloads cannot be larger than 10MiB in size" + * ] + * } + */ + StabilityImageGenrationUpscaleCreative_Response_413: { + /** + * @description A unique identifier associated with this error. Please include this in any [support tickets](https://kb.stability.ai/knowledge-base/kb-tickets/new) + * you file, as it will greatly assist us in diagnosing the root cause of the problem. + * @example a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4 + */ + id: string; + /** + * @description Short-hand name for an error, useful for discriminating between errors with the same status code. + * @example bad_request + */ + name: string; + /** + * @description One or more error messages indicating what went wrong. + * @example [ + * "some-field: is required" + * ] + */ + errors: string[]; + }; + StabilityImageGenrationUpscaleCreative_Response_422: { + /** + * @description A unique identifier associated with this error. Please include this in any [support tickets](https://kb.stability.ai/knowledge-base/kb-tickets/new) + * you file, as it will greatly assist us in diagnosing the root cause of the problem. + * @example a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4 + */ + id: string; + /** + * @description Short-hand name for an error, useful for discriminating between errors with the same status code. + * @example bad_request + */ + name: string; + /** + * @description One or more error messages indicating what went wrong. + * @example [ + * "some-field: is required" + * ] + */ + errors: string[]; + }; + /** + * @example { + * "id": "rate_limit_exceeded", + * "name": "rate_limit_exceeded", + * "errors": [ + * "You have exceeded the rate limit of 150 requests within a 10 second period, and have been timed out for 60 seconds." + * ] + * } + */ + StabilityImageGenrationUpscaleCreative_Response_429: { + /** + * @description A unique identifier associated with this error. Please include this in any [support tickets](https://kb.stability.ai/knowledge-base/kb-tickets/new) + * you file, as it will greatly assist us in diagnosing the root cause of the problem. + * @example a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4 + */ + id: string; + /** + * @description Short-hand name for an error, useful for discriminating between errors with the same status code. + * @example bad_request + */ + name: string; + /** + * @description One or more error messages indicating what went wrong. + * @example [ + * "some-field: is required" + * ] + */ + errors: string[]; + }; + /** + * @example { + * "id": "2a1b2d4eafe2bc6ab4cd4d5c6133f513", + * "name": "internal_error", + * "errors": [ + * "An unexpected server error has occurred, please try again later." + * ] + * } + */ + StabilityImageGenrationUpscaleCreative_Response_500: { + /** + * @description A unique identifier associated with this error. Please include this in any [support tickets](https://kb.stability.ai/knowledge-base/kb-tickets/new) + * you file, as it will greatly assist us in diagnosing the root cause of the problem. + * @example a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4 + */ + id: string; + /** + * @description Short-hand name for an error, useful for discriminating between errors with the same status code. + * @example bad_request + */ + name: string; + /** + * @description One or more error messages indicating what went wrong. + * @example [ + * "some-field: is required" + * ] + */ + errors: string[]; + }; + StabilityImageGenrationUpscaleFast_Request: { + /** + * Format: binary + * @description The image you wish to upscale. + * + * Supported Formats: + * - jpeg + * - png + * - webp + * + * Validation Rules: + * - Width must be between 32 and 1,536 pixels + * - Height must be between 32 and 1,536 pixels + * - Total pixel count must be between 1,024 and 1,048,576 pixels + * @example ./some/image.png + */ + image: string; + /** + * @description Dictates the `content-type` of the generated image. + * @default png + * @enum {string} + */ + output_format: "jpeg" | "png" | "webp"; + }; + StabilityImageGenrationUpscaleFast_Response_200: { + /** + * @description The generated image, encoded to base64. + * @example AAAAIGZ0eXBpc29tAAACAGlzb21pc28yYXZjMW1... + */ + image: string; + /** + * @description The seed used as random noise for this generation. + * @default 0 + * @example 343940597 + */ + seed: number; + /** + * @description The reason the generation finished. + * + * - `SUCCESS` = successful generation. + * - `CONTENT_FILTERED` = successful generation, however the output violated our content moderation + * policy and has been blurred as a result. + * @example SUCCESS + * @enum {string} + */ + finish_reason: "SUCCESS" | "CONTENT_FILTERED"; + }; + StabilityImageGenrationUpscaleFast_Response_400: { + /** + * @description A unique identifier associated with this error. Please include this in any [support tickets](https://kb.stability.ai/knowledge-base/kb-tickets/new) + * you file, as it will greatly assist us in diagnosing the root cause of the problem. + * @example a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4 + */ + id: string; + /** + * @description Short-hand name for an error, useful for discriminating between errors with the same status code. + * @example bad_request + */ + name: string; + /** + * @description One or more error messages indicating what went wrong. + * @example [ + * "some-field: is required" + * ] + */ + errors: string[]; + }; + /** + * @example { + * "id": "4212a4b66fbe1cedca4bf2133d35dca5", + * "name": "payload_too_large", + * "errors": [ + * "body: payloads cannot be larger than 10MiB in size" + * ] + * } + */ + StabilityImageGenrationUpscaleFast_Response_413: { + /** + * @description A unique identifier associated with this error. Please include this in any [support tickets](https://kb.stability.ai/knowledge-base/kb-tickets/new) + * you file, as it will greatly assist us in diagnosing the root cause of the problem. + * @example a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4 + */ + id: string; + /** + * @description Short-hand name for an error, useful for discriminating between errors with the same status code. + * @example bad_request + */ + name: string; + /** + * @description One or more error messages indicating what went wrong. + * @example [ + * "some-field: is required" + * ] + */ + errors: string[]; + }; + StabilityImageGenrationUpscaleFast_Response_422: { + /** + * @description A unique identifier associated with this error. Please include this in any [support tickets](https://kb.stability.ai/knowledge-base/kb-tickets/new) + * you file, as it will greatly assist us in diagnosing the root cause of the problem. + * @example a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4 + */ + id: string; + /** + * @description Short-hand name for an error, useful for discriminating between errors with the same status code. + * @example bad_request + */ + name: string; + /** + * @description One or more error messages indicating what went wrong. + * @example [ + * "some-field: is required" + * ] + */ + errors: string[]; + }; + /** + * @example { + * "id": "rate_limit_exceeded", + * "name": "rate_limit_exceeded", + * "errors": [ + * "You have exceeded the rate limit of 150 requests within a 10 second period, and have been timed out for 60 seconds." + * ] + * } + */ + StabilityImageGenrationUpscaleFast_Response_429: { + /** + * @description A unique identifier associated with this error. Please include this in any [support tickets](https://kb.stability.ai/knowledge-base/kb-tickets/new) + * you file, as it will greatly assist us in diagnosing the root cause of the problem. + * @example a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4 + */ + id: string; + /** + * @description Short-hand name for an error, useful for discriminating between errors with the same status code. + * @example bad_request + */ + name: string; + /** + * @description One or more error messages indicating what went wrong. + * @example [ + * "some-field: is required" + * ] + */ + errors: string[]; + }; + StabilityGetResultResponse_202: { + /** @enum {string} */ + status?: "in-progress"; + /** + * @description The ID of the generation result. + * @example 1234567890 + */ + id?: string; + }; + APIKey: { + id?: string; + name?: string; + description?: string; + key_prefix?: string; + /** Format: date-time */ + created_at?: string; + }; + APIKeyWithPlaintext: components["schemas"]["APIKey"] & { + /** @description The full API key (only returned at creation) */ + plaintext_key?: string; + }; + GeminiGenerateContentRequest: { + contents: components["schemas"]["GeminiContent"][]; + tools?: components["schemas"]["GeminiTool"][]; + safetySettings?: components["schemas"]["GeminiSafetySetting"][]; + generationConfig?: components["schemas"]["GeminiGenerationConfig"]; + systemInstruction?: components["schemas"]["GeminiSystemInstructionContent"]; + videoMetadata?: components["schemas"]["GeminiVideoMetadata"]; + }; + GeminiGenerateContentResponse: { + candidates?: components["schemas"]["GeminiCandidate"][]; + promptFeedback?: components["schemas"]["GeminiPromptFeedback"]; + usageMetadata?: components["schemas"]["GeminiUsageMetadata"]; + }; + GeminiUsageMetadata: { + /** @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. */ + promptTokenCount?: number; + /** @description Number of tokens in the response(s). */ + candidatesTokenCount?: number; + /** @description Number of tokens present in tool-use prompt(s). */ + toolUsePromptTokenCount?: number; + /** @description Number of tokens present in thoughts output. */ + thoughtsTokenCount?: number; + /** @description Output only. Number of tokens in the cached part in the input (the cached content). */ + cachedContentTokenCount?: number; + /** @description Breakdown of prompt tokens by modality. */ + promptTokensDetails?: components["schemas"]["ModalityTokenCount"][]; + /** @description Breakdown of candidate tokens by modality. */ + candidatesTokensDetails?: components["schemas"]["ModalityTokenCount"][]; + }; + ModalityTokenCount: { + modality?: components["schemas"]["Modality"]; + /** @description Number of tokens for the given modality. */ + tokenCount?: number; + }; + /** + * @description Type of input or output content modality. + * @enum {string} + */ + Modality: "MODALITY_UNSPECIFIED" | "TEXT" | "IMAGE" | "VIDEO" | "AUDIO" | "DOCUMENT"; + /** @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. */ + GeminiSystemInstructionContent: { + /** + * @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. + * @example user + * @enum {string} + */ + role: "user" | "model"; + /** @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. */ + parts: components["schemas"]["GeminiTextPart"][]; + }; + /** @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. */ + GeminiContent: { + /** + * @example user + * @enum {string} + */ + role: "user" | "model"; + parts: components["schemas"]["GeminiPart"][]; + }; + /** @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. */ + GeminiTool: { + functionDeclarations?: components["schemas"]["GeminiFunctionDeclaration"][]; + }; + /** @description Per request settings for blocking unsafe content. Enforced on GenerateContentResponse.candidates. */ + GeminiSafetySetting: { + category: components["schemas"]["GeminiSafetyCategory"]; + threshold: components["schemas"]["GeminiSafetyThreshold"]; + }; + /** @enum {string} */ + GeminiSafetyCategory: "HARM_CATEGORY_SEXUALLY_EXPLICIT" | "HARM_CATEGORY_HATE_SPEECH" | "HARM_CATEGORY_HARASSMENT" | "HARM_CATEGORY_DANGEROUS_CONTENT"; + /** @enum {string} */ + GeminiSafetyThreshold: "OFF" | "BLOCK_NONE" | "BLOCK_LOW_AND_ABOVE" | "BLOCK_MEDIUM_AND_ABOVE" | "BLOCK_ONLY_HIGH"; + GeminiGenerationConfig: { + /** + * Format: float + * @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 + * @default 1 + */ + temperature: number; + /** + * Format: float + * @description If specified, nucleus sampling is used. + * Top-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. + * Specify a lower value for less random responses and a higher value for more random responses. + * @default 0.95 + */ + topP: number; + /** + * @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. + * @default 40 + * @example 40 + */ + topK: number; + /** + * @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. + * @example 2048 + */ + maxOutputTokens?: number; + /** + * @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 + * @example 343940597 + */ + seed?: number; + stopSequences?: string[]; + responseModalities?: ("TEXT" | "IMAGE")[]; + /** @description Configuration for image generation */ + imageConfig?: { + /** @description Aspect ratio for generated images */ + aspectRatio?: string; + }; + }; + /** @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. */ + GeminiVideoMetadata: { + startOffset?: components["schemas"]["GeminiOffset"]; + endOffset?: components["schemas"]["GeminiOffset"]; + }; + /** @description Represents a duration offset for video timeline positions. */ + GeminiOffset: { + /** + * @description Signed seconds of the span of time. Must be from -315,576,000,000 to +315,576,000,000 inclusive. + * @example 60 + */ + seconds?: number; + /** + * @description Signed fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values. + * @example 0 + */ + nanos?: number; + }; + GeminiCandidate: { + content?: components["schemas"]["GeminiContent"]; + finishReason?: string; + safetyRatings?: components["schemas"]["GeminiSafetyRating"][]; + citationMetadata?: components["schemas"]["GeminiCitationMetadata"]; + }; + /** + * @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 {string} + */ + GeminiMimeType: "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"; + GeminiPromptFeedback: { + safetyRatings?: components["schemas"]["GeminiSafetyRating"][]; + blockReason?: string; + blockReasonMessage?: string; + }; + GeminiTextPart: { + /** + * @description A text prompt or code snippet. + * @example Answer as concisely as possible + */ + text?: string; + }; + GeminiPart: { + /** + * @description A text prompt or code snippet. + * @example Write a story about a robot learning to paint + */ + text?: string; + inlineData?: components["schemas"]["GeminiInlineData"]; + }; + GeminiFunctionDeclaration: { + name: string; + description?: string; + /** @description JSON schema for the function parameters */ + parameters: Record; + }; + GeminiSafetyRating: { + category?: components["schemas"]["GeminiSafetyCategory"]; + /** + * @description The probability that the content violates the specified safety category + * @enum {string} + */ + probability?: "NEGLIGIBLE" | "LOW" | "MEDIUM" | "HIGH" | "UNKNOWN"; + }; + GeminiCitationMetadata: { + citations?: components["schemas"]["GeminiCitation"][]; + }; + /** @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. */ + GeminiInlineData: { + mimeType?: components["schemas"]["GeminiMimeType"]; + /** + * Format: byte + * @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 + */ + data?: string; + }; + GeminiCitation: { + startIndex?: number; + endIndex?: number; + uri?: string; + title?: string; + license?: string; + /** Format: date */ + publicationDate?: string; + authors?: string[]; + }; + Rodin3DGenerateRequest: { + /** @description The reference images to generate 3D Assets. */ + images: string; + /** @description Seed. */ + seed?: number; + tier?: components["schemas"]["RodinTierType"]; + material?: components["schemas"]["RodinMaterialType"]; + quality?: components["schemas"]["RodinQualityType"]; + mesh_mode?: components["schemas"]["RodinMeshModeType"]; + }; + /** + * @description Rodin Tier para options + * @enum {string} + */ + RodinTierType: "Regular" | "Sketch" | "Detail" | "Smooth"; + /** + * @description Rodin Material para options + * @enum {string} + */ + RodinMaterialType: "PBR" | "Shaded"; + /** + * @description Rodin Quality para options + * @enum {string} + */ + RodinQualityType: "extra-low" | "low" | "medium" | "high"; + /** + * @description Rodin Mesh_Mode para options + * @enum {string} + */ + RodinMeshModeType: "Quad" | "Raw"; + Rodin3DCheckStatusRequest: { + /** @description subscription from generate endpoint */ + subscription_key: string; + }; + Rodin3DDownloadRequest: { + /** @description Task UUID */ + task_uuid: string; + }; + Rodin3DGenerateResponse: { + /** @description message */ + message?: string; + /** @description prompt */ + prompt?: string; + /** @description Time */ + submit_time?: string; + /** @description Task UUID */ + uuid?: string; + jobs?: components["schemas"]["RodinGenerateJobsData"]; + }; + RodinGenerateJobsData: { + /** @description subjobs uuid. */ + uuids?: string[]; + /** @description Subscription Key. */ + subscription_key?: string; + }; + Rodin3DCheckStatusResponse: { + /** @description Details for the generation status. */ + jobs?: components["schemas"]["RodinCheckStatusJobItem"][]; + }; + RodinCheckStatusJobItem: { + /** @description sub uuid */ + uuid?: string; + status?: components["schemas"]["RodinStatusOptions"]; + }; + /** @enum {string} */ + RodinStatusOptions: "Done" | "Failed" | "Generating" | "Waiting"; + Rodin3DDownloadResponse: { + list?: components["schemas"]["RodinResourceItem"][]; + }; + RodinResourceItem: { + /** @description Download url */ + url?: string; + /** @description File name */ + name?: string; + }; + CreateAPIKeyRequest: { + name: string; + description?: string; + }; + /** + * @example { + * "id": "2a1b2d4eafe2bc6ab4cd4d5c6133f513", + * "name": "internal_error", + * "errors": [ + * "An unexpected server error has occurred, please try again later." + * ] + * } + */ + StabilityImageGenrationUpscaleFast_Response_500: { + /** + * @description A unique identifier associated with this error. Please include this in any [support tickets](https://kb.stability.ai/knowledge-base/kb-tickets/new) + * you file, as it will greatly assist us in diagnosing the root cause of the problem. + * @example a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4 + */ + id: string; + /** + * @description Short-hand name for an error, useful for discriminating between errors with the same status code. + * @example bad_request + */ + name: string; + /** + * @description One or more error messages indicating what went wrong. + * @example [ + * "some-field: is required" + * ] + */ + errors: string[]; + }; + /** @description Request parameters for Stable Audio 2.5 text-to-audio generation */ + StableAudio25TextToAudioRequest: { + /** @description What you wish the output audio to be. A strong, descriptive prompt that clearly defines instruments, moods, styles, and genre will lead to better results. */ + prompt: string; + /** + * @description Controls the duration in seconds of the generated audio. + * @default 190 + */ + duration: number; + /** + * @description A specific value that is used to guide the 'randomness' of the generation. (Omit this parameter or pass 0 to use a random seed.) + * @default 0 + */ + seed: number; + /** + * @description Controls the number of sampling steps. For stable-audio-2.5 accepts steps between 4 and 8 (defaults to 8). + * @default 8 + */ + steps: number; + /** + * @description How strictly the diffusion process adheres to the prompt text (higher values make your audio closer to your prompt). Defaults to 1 for stable-audio-2.5. + * @default 1 + */ + cfg_scale: number; + model: components["schemas"]["StableAudio25Model"]; + output_format?: components["schemas"]["StableAudio25OutputFormat"]; + }; + /** @description Request parameters for Stable Audio audio-to-audio transformation */ + StableAudio25AudioToAudioRequest: { + /** @description What you wish the output audio to be. A strong, descriptive prompt that clearly defines instruments, moods, styles, and genre will lead to better results. */ + prompt: string; + /** + * Format: binary + * @description The audio to be used as the starting point for the generation. Supported formats - mp3, wav. Audio must be between 6 and 190 seconds long. + */ + audio: string; + /** + * @description Controls the duration in seconds of the generated audio. + * @default 190 + */ + duration: number; + /** + * @description A specific value that is used to guide the 'randomness' of the generation. (Omit this parameter or pass 0 to use a random seed.) + * @default 0 + */ + seed: number; + /** + * @description Controls the number of sampling steps. For stable-audio-2.5 accepts steps between 4 and 8 (defaults to 8). + * @default 8 + */ + steps: number; + /** @description How strictly the diffusion process adheres to the prompt text (higher values make your audio closer to your prompt). Defaults to 7 for stable-audio-2 and 1 for stable-audio-2.5. */ + cfg_scale?: number; + model: components["schemas"]["StableAudio25Model"]; + output_format?: components["schemas"]["StableAudio25OutputFormat"]; + /** + * @description Controls how much influence the audio parameter has on the generated audio. A value of 0 would yield audio that is identical to the input. A value of 1 would be as if you passed in no audio at all. Minimum value for stable-audio-2.5 is 0.01. + * @default 1 + */ + strength: number; + }; + /** @description Request parameters for Stable Audio 2.5 audio inpainting */ + StableAudio25InpaintRequest: { + /** @description What you wish the output audio to be. A strong, descriptive prompt that clearly defines instruments, moods, styles, and genre will lead to better results. */ + prompt: string; + /** + * Format: binary + * @description The audio to be used as the starting point for the generation. Supported formats - mp3, wav. Audio must be between 6 and 190 seconds long. + */ + audio: string; + /** + * @description Controls the duration in seconds of the generated audio. + * @default 190 + */ + duration: number; + /** + * @description A specific value that is used to guide the 'randomness' of the generation. (Omit this parameter or pass 0 to use a random seed.) + * @default 0 + */ + seed: number; + /** + * @description Controls the number of sampling steps. + * @default 8 + */ + steps: number; + output_format?: components["schemas"]["StableAudio25OutputFormat"]; + /** + * @description Start time in seconds for the audio segment to be inpainted. + * @default 30 + */ + mask_start: number; + /** + * @description End time in seconds for the audio segment to be inpainted. + * @default 190 + */ + mask_end: number; + }; + /** @description Response from Stable Audio 2.5 audio generation */ + StableAudio25AudioResponse: { + /** @description Unique identifier for the generation request */ + id?: string; + /** + * Format: byte + * @description Base64-encoded audio data + */ + audio?: string; + /** + * @description Reason for completion + * @enum {string} + */ + finish_reason?: "SUCCESS" | "ERROR" | "CONTENT_FILTERED"; + }; + /** + * @description The model to use for generation + * @enum {string} + */ + StableAudio25Model: "stable-audio-2.5"; + /** + * @description Dictates the content-type of the generated audio + * @enum {string} + */ + StableAudio25OutputFormat: "mp3" | "wav"; + /** @description Common properties for model responses */ + ModelResponseProperties: { + /** @description The model used to generate the response */ + model?: string; + /** @description Instructions for the model on how to generate the response */ + instructions?: string; + /** @description Maximum number of tokens to generate */ + max_output_tokens?: number; + /** + * @description Controls randomness in the response + * @default 1 + */ + temperature: number; + /** + * @description Controls diversity of the response via nucleus sampling + * @default 1 + */ + top_p: number; + /** + * @description How to handle truncation of the response + * @default disabled + * @enum {string} + */ + truncation: "disabled" | "auto"; + }; + /** + * Input file + * @description A file input to the model. + */ + InputFileContent: { + /** + * @description The type of the input item. Always `input_file`. + * @default input_file + * @enum {string} + */ + type: "input_file"; + /** @description The ID of the file to be sent to the model. */ + file_id?: string; + /** @description The name of the file to be sent to the model. */ + filename?: string; + /** @description The content of the file to be sent to the model. */ + file_data?: string; + }; + ResponseProperties: { + /** + * @description The unique ID of the previous response to the model. Use this to + * create multi-turn conversations. Learn more about + * [conversation state](/docs/guides/conversation-state). + */ + previous_response_id?: string; + /** + * @description Model ID used to generate the response, like `gpt-4o` or `o3`. OpenAI + * offers a wide range of models with different capabilities, performance + * characteristics, and price points. Refer to the [model guide](/docs/models) + * to browse and compare available models. + */ + model?: components["schemas"]["OpenAIModels"]; + reasoning?: components["schemas"]["Reasoning"]; + /** @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). */ + max_output_tokens?: number; + /** + * @description Inserts a system (or developer) message as the first item in the model's context. + * + * When using along with `previous_response_id`, the instructions from a previous + * response will not be carried over to the next response. This makes it simple + * to swap out system (or developer) messages in new responses. + */ + instructions?: string; + text?: { + format?: components["schemas"]["TextResponseFormatConfiguration"]; + }; + tools?: components["schemas"]["Tool"][]; + /** + * @description How the model should select which tool (or tools) to use when generating + * a response. See the `tools` parameter to see how to specify which tools + * the model can call. + */ + tool_choice?: components["schemas"]["ToolChoiceOptions"] | components["schemas"]["ToolChoiceTypes"] | components["schemas"]["ToolChoiceFunction"]; + /** + * @description The truncation strategy to use for the model response. + * - `auto`: If the context of this response and previous ones exceeds + * the model's context window size, the model will truncate the + * response to fit the context window by dropping input items in the + * middle of the conversation. + * - `disabled` (default): If a model response will exceed the context window + * size for a model, the request will fail with a 400 error. + * @default disabled + * @enum {string} + */ + truncation: "auto" | "disabled"; + }; + /** + * @description An object specifying the format that the model must output. * - * Learn more: - * - [Text inputs and outputs](/docs/guides/text) - * - [Image inputs](/docs/guides/images) - * - [File inputs](/docs/guides/pdf-files) - * - [Conversation state](/docs/guides/conversation-state) - * - [Function calling](/docs/guides/function-calling) - * */ - input: string | components['schemas']['InputItem'][] - /** @description Specify additional output data to include in the model response. Currently + * Configuring `{ "type": "json_schema" }` enables Structured Outputs, + * which ensures the model will match your supplied JSON schema. Learn more in the + * [Structured Outputs guide](/docs/guides/structured-outputs). + * + * The default format is `{ "type": "text" }` with no additional options. + * + * **Not recommended for gpt-4o and newer models:** + * + * Setting to `{ "type": "json_object" }` enables the older JSON mode, which + * ensures the message the model generates is valid JSON. Using `json_schema` + * is preferred for models that support it. + */ + TextResponseFormatConfiguration: components["schemas"]["ResponseFormatText"] | components["schemas"]["TextResponseFormatJsonSchema"] | components["schemas"]["ResponseFormatJsonObject"]; + /** + * JSON object + * @description JSON object response format. An older method of generating JSON responses. + * Using `json_schema` is recommended for models that support it. Note that the + * model will not generate JSON without a system or user message instructing it + * to do so. + */ + ResponseFormatJsonObject: { + /** + * @description The type of response format being defined. Always `json_object`. + * @enum {string} + */ + type: "json_object"; + }; + /** + * JSON schema + * @description JSON Schema response format. Used to generate structured JSON responses. + * Learn more about [Structured Outputs](/docs/guides/structured-outputs). + */ + ResponseFormatJsonSchema: { + /** @default json_schema */ + type: string; + /** + * JSON schema + * @description Structured Outputs configuration options, including a JSON Schema. + */ + json_schema: { + /** + * @description A description of what the response format is for, used by the model to + * determine how to respond in the format. + */ + description?: string; + /** + * @description The name of the response format. Must be a-z, A-Z, 0-9, or contain + * underscores and dashes, with a maximum length of 64. + */ + name: string; + schema?: components["schemas"]["ResponseFormatJsonSchemaSchema"]; + /** + * @description Whether to enable strict schema adherence when generating the output. + * If set to true, the model will always follow the exact schema defined + * in the `schema` field. Only a subset of JSON Schema is supported when + * `strict` is `true`. To learn more, read the [Structured Outputs + * guide](/docs/guides/structured-outputs). + * @default false + */ + strict: boolean; + }; + }; + /** + * JSON schema + * @description The schema for the response format, described as a JSON Schema object. + * Learn how to build JSON schemas [here](https://json-schema.org/). + */ + ResponseFormatJsonSchemaSchema: { + [key: string]: unknown; + }; + /** + * Text + * @description Default response format. Used to generate text responses. + */ + ResponseFormatText: { + /** + * @description The type of response format being defined. Always `text`. + * @enum {string} + */ + type: "text"; + }; + /** + * JSON schema + * @description JSON Schema response format. Used to generate structured JSON responses. + * Learn more about [Structured Outputs](/docs/guides/structured-outputs). + */ + TextResponseFormatJsonSchema: { + /** + * @description The type of response format being defined. Always `json_schema`. + * @enum {string} + */ + type: "json_schema"; + /** + * @description A description of what the response format is for, used by the model to + * determine how to respond in the format. + */ + description?: string; + /** + * @description The name of the response format. Must be a-z, A-Z, 0-9, or contain + * underscores and dashes, with a maximum length of 64. + */ + name: string; + schema: components["schemas"]["ResponseFormatJsonSchemaSchema"]; + /** + * @description Whether to enable strict schema adherence when generating the output. + * If set to true, the model will always follow the exact schema defined + * in the `schema` field. Only a subset of JSON Schema is supported when + * `strict` is `true`. To learn more, read the [Structured Outputs + * guide](/docs/guides/structured-outputs). + * @default false + */ + strict: boolean; + }; + /** + * Reasoning + * @description **o-series models only** + * + * Configuration options for + * [reasoning models](https://platform.openai.com/docs/guides/reasoning). + */ + Reasoning: { + effort?: components["schemas"]["ReasoningEffort"]; + /** + * @description A summary of the reasoning performed by the model. This can be + * useful for debugging and understanding the model's reasoning process. + * One of `auto`, `concise`, or `detailed`. + * @enum {string} + */ + summary?: "auto" | "concise" | "detailed"; + /** + * @deprecated + * @description **Deprecated:** use `summary` instead. + * + * A summary of the reasoning performed by the model. This can be + * useful for debugging and understanding the model's reasoning process. + * One of `auto`, `concise`, or `detailed`. + * @enum {string} + */ + generate_summary?: "auto" | "concise" | "detailed"; + }; + /** + * @description **o-series models only** + * + * Constrains effort on reasoning for + * [reasoning models](https://platform.openai.com/docs/guides/reasoning). + * Currently supported values are `low`, `medium`, and `high`. Reducing + * reasoning effort can result in faster responses and fewer tokens used + * on reasoning in a response. + * @default medium + * @enum {string} + */ + ReasoningEffort: "low" | "medium" | "high"; + /** + * Web search preview + * @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). + */ + WebSearchPreviewTool: { + /** + * @description The type of the web search tool. One of `web_search_preview` or `web_search_preview_2025_03_11`. (enum property replaced by openapi-typescript) + * @enum {string} + */ + type: "WebSearchPreviewTool"; + /** + * @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 {string} + */ + search_context_size?: "low" | "medium" | "high"; + }; + /** + * Computer use preview + * @description A tool that controls a virtual computer. Learn more about the [computer tool](https://platform.openai.com/docs/guides/tools-computer-use). + */ + ComputerUsePreviewTool: { + /** + * @description The type of the computer use tool. Always `computer_use_preview`. (enum property replaced by openapi-typescript) + * @enum {string} + */ + type: "ComputerUsePreviewTool"; + /** + * @description The type of computer environment to control. + * @enum {string} + */ + environment: "windows" | "mac" | "linux" | "ubuntu" | "browser"; + /** @description The width of the computer display. */ + display_width: number; + /** @description The height of the computer display. */ + display_height: number; + }; + Tool: components["schemas"]["FileSearchTool"] | components["schemas"]["FunctionTool"] | components["schemas"]["WebSearchPreviewTool"] | components["schemas"]["ComputerUsePreviewTool"]; + /** @description Emitted when an error occurs. */ + ResponseErrorEvent: { + /** + * @description The type of the event. Always `error`. + * @enum {string} + */ + type: "error"; + /** @description The error code. */ + code: string; + /** @description The error message. */ + message: string; + /** @description The error parameter. */ + param: string; + }; + /** @description Emitted when a new output item is added. */ + ResponseOutputItemAddedEvent: { + /** + * @description The type of the event. Always `response.output_item.added`. + * @enum {string} + */ + type: "response.output_item.added"; + /** @description The index of the output item that was added. */ + output_index: number; + /** @description The output item that was added. */ + item: components["schemas"]["OutputItem"]; + }; + /** @description Emitted when an output item is marked done. */ + ResponseOutputItemDoneEvent: { + /** + * @description The type of the event. Always `response.output_item.done`. + * @enum {string} + */ + type: "response.output_item.done"; + /** @description The index of the output item that was marked done. */ + output_index: number; + /** @description The output item that was marked done. */ + item: components["schemas"]["OutputItem"]; + }; + /** + * Function tool + * @description Use this option to force the model to call a specific function. + */ + ToolChoiceFunction: { + /** + * @description For function calling, the type is always `function`. + * @enum {string} + */ + type: "function"; + /** @description The name of the function to call. */ + name: string; + }; + /** + * Tool choice mode + * @description Controls which (if any) tool is called by the model. + * + * `none` means the model will not call any tool and instead generates a message. + * + * `auto` means the model can pick between generating a message or calling one or + * more tools. + * + * `required` means the model must call one or more tools. + * @enum {string} + */ + ToolChoiceOptions: "none" | "auto" | "required"; + /** + * Hosted tool + * @description Indicates that the model should use a built-in tool to generate a response. + * [Learn more about built-in tools](/docs/guides/tools). + */ + ToolChoiceTypes: { + /** + * @description The type of hosted tool the model should to use. Learn more about + * [built-in tools](/docs/guides/tools). + * + * Allowed values are: + * - `file_search` + * - `web_search_preview` + * - `computer_use_preview` + * @enum {string} + */ + type: "file_search" | "web_search_preview" | "computer_use_preview" | "web_search_preview_2025_03_11"; + }; + /** @description An event that is emitted when a response fails. */ + ResponseFailedEvent: { + /** + * @description The type of the event. Always `response.failed`. + * @enum {string} + */ + type: "response.failed"; + /** @description The response that failed. */ + response: components["schemas"]["OpenAIResponse"]; + }; + /** @description Emitted when the response is in progress. */ + ResponseInProgressEvent: { + /** + * @description The type of the event. Always `response.in_progress`. + * @enum {string} + */ + type: "response.in_progress"; + /** @description The response that is in progress. */ + response: components["schemas"]["OpenAIResponse"]; + }; + /** @description An event that is emitted when a response finishes as incomplete. */ + ResponseIncompleteEvent: { + /** + * @description The type of the event. Always `response.incomplete`. + * @enum {string} + */ + type: "response.incomplete"; + /** @description The response that was incomplete. */ + response: components["schemas"]["OpenAIResponse"]; + }; + /** @description An event that is emitted when a response is created. */ + ResponseCreatedEvent: { + /** + * @description The type of the event. Always `response.created`. + * @enum {string} + */ + type: "response.created"; + /** @description The response that was created. */ + response: components["schemas"]["OpenAIResponse"]; + }; + /** @description Emitted when the model response is complete. */ + ResponseCompletedEvent: { + /** + * @description The type of the event. Always `response.completed`. + * @enum {string} + */ + type: "response.completed"; + /** @description Properties of the completed response. */ + response: components["schemas"]["OpenAIResponse"]; + }; + /** @description Emitted when a new content part is added. */ + ResponseContentPartAddedEvent: { + /** + * @description The type of the event. Always `response.content_part.added`. + * @enum {string} + */ + type: "response.content_part.added"; + /** @description The ID of the output item that the content part was added to. */ + item_id: string; + /** @description The index of the output item that the content part was added to. */ + output_index: number; + /** @description The index of the content part that was added. */ + content_index: number; + /** @description The content part that was added. */ + part: components["schemas"]["OutputContent"]; + }; + /** @description Emitted when a content part is done. */ + ResponseContentPartDoneEvent: { + /** + * @description The type of the event. Always `response.content_part.done`. + * @enum {string} + */ + type: "response.content_part.done"; + /** @description The ID of the output item that the content part was added to. */ + item_id: string; + /** @description The index of the output item that the content part was added to. */ + output_index: number; + /** @description The index of the content part that is done. */ + content_index: number; + /** @description The content part that is done. */ + part: components["schemas"]["OutputContent"]; + }; + ResponseTool: components["schemas"]["WebSearchTool"] | components["schemas"]["FileSearchTool"] | components["schemas"]["FunctionTool"]; + WebSearchTool: { + /** + * @description The type of tool + * @enum {string} + */ + type: "web_search"; + /** @description Optional list of domains to restrict search to */ + domains?: string[]; + }; + FileSearchTool: { + /** + * @description The type of tool (enum property replaced by openapi-typescript) + * @enum {string} + */ + type: "FileSearchTool"; + /** @description IDs of vector stores to search in */ + vector_store_ids: string[]; + }; + FunctionTool: { + /** + * @description The type of tool (enum property replaced by openapi-typescript) + * @enum {string} + */ + type: "FunctionTool"; + /** @description Name of the function */ + name: string; + /** @description Description of what the function does */ + description?: string; + /** @description JSON Schema object describing the function parameters */ + parameters: Record; + }; + OutputItem: components["schemas"]["OutputMessage"] | components["schemas"]["FileSearchToolCall"] | components["schemas"]["FunctionToolCall"] | components["schemas"]["WebSearchToolCall"] | components["schemas"]["ComputerToolCall"] | components["schemas"]["ReasoningItem"]; + /** + * Web search tool call + * @description The results of a web search tool call. See the + * [web search guide](/docs/guides/tools-web-search) for more information. + */ + WebSearchToolCall: { + /** @description The unique ID of the web search tool call. */ + id: string; + /** + * @description The type of the web search tool call. Always `web_search_call`. + * (enum property replaced by openapi-typescript) + * @enum {string} + */ + type: "WebSearchToolCall"; + /** + * @description The status of the web search tool call. + * @enum {string} + */ + status: "in_progress" | "searching" | "completed" | "failed"; + }; + /** + * File search tool call + * @description The results of a file search tool call. See the + * [file search guide](/docs/guides/tools-file-search) for more information. + */ + FileSearchToolCall: { + /** @description The unique ID of the file search tool call. */ + id: string; + /** + * @description The type of the file search tool call. Always `file_search_call`. + * (enum property replaced by openapi-typescript) + * @enum {string} + */ + type: "FileSearchToolCall"; + /** + * @description The status of the file search tool call. One of `in_progress`, + * `searching`, `incomplete` or `failed`, + * @enum {string} + */ + status: "in_progress" | "searching" | "completed" | "incomplete" | "failed"; + /** @description The queries used to search for files. */ + queries: string[]; + /** @description The results of the file search tool call. */ + results?: { + /** @description The unique ID of the file. */ + file_id?: string; + /** @description The text that was retrieved from the file. */ + text?: string; + /** @description The name of the file. */ + filename?: string; + /** + * Format: float + * @description The relevance score of the file - a value between 0 and 1. + */ + score?: number; + }[]; + }; + /** + * Function tool call + * @description A tool call to run a function. See the + * [function calling guide](/docs/guides/function-calling) for more information. + */ + FunctionToolCall: { + /** @description The unique ID of the function tool call. */ + id?: string; + /** + * @description The type of the function tool call. Always `function_call`. + * @enum {string} + */ + type: "function_call"; + /** @description The unique ID of the function tool call generated by the model. */ + call_id: string; + /** @description The name of the function to run. */ + name: string; + /** @description A JSON string of the arguments to pass to the function. */ + arguments: string; + /** + * @description The status of the item. One of `in_progress`, `completed`, or + * `incomplete`. Populated when items are returned via API. + * @enum {string} + */ + status?: "in_progress" | "completed" | "incomplete"; + }; + OutputMessage: { + /** + * @description The type of output item (enum property replaced by openapi-typescript) + * @enum {string} + */ + type: "OutputMessage"; + /** + * @description The role of the message + * @enum {string} + */ + role: "assistant"; + /** @description The content of the message */ + content: components["schemas"]["OutputContent"][]; + }; + OutputContent: components["schemas"]["OutputTextContent"] | components["schemas"]["OutputAudioContent"]; + OutputTextContent: { + /** + * @description The type of output content + * @enum {string} + */ + type: "output_text"; + /** @description The text content */ + text: string; + }; + OutputAudioContent: { + /** + * @description The type of output content + * @enum {string} + */ + type: "output_audio"; + /** @description Base64-encoded audio data */ + data: string; + /** @description Transcript of the audio */ + transcript: string; + }; + /** + * @description Represents token usage details including input tokens, output tokens, + * a breakdown of output tokens, and the total tokens used. + */ + ResponseUsage: { + /** @description The number of input tokens. */ + input_tokens: number; + /** @description A detailed breakdown of the input tokens. */ + input_tokens_details: { + /** + * @description The number of tokens that were retrieved from the cache. + * [More on prompt caching](/docs/guides/prompt-caching). + */ + cached_tokens: number; + }; + /** @description The number of output tokens. */ + output_tokens: number; + /** @description A detailed breakdown of the output tokens. */ + output_tokens_details: { + /** @description The number of reasoning tokens. */ + reasoning_tokens: number; + }; + /** @description The total number of tokens used. */ + total_tokens: number; + }; + /** @description A response from the model */ + OpenAIResponse: components["schemas"]["ModelResponseProperties"] & components["schemas"]["ResponseProperties"] & { + /** @description Unique identifier for this Response. */ + id?: string; + /** + * @description The object type of this resource - always set to `response`. + * @enum {string} + */ + object?: "response"; + /** + * @description The status of the response generation. One of `completed`, `failed`, `in_progress`, or `incomplete`. + * @enum {string} + */ + status?: "completed" | "failed" | "in_progress" | "incomplete"; + /** @description Unix timestamp (in seconds) of when this Response was created. */ + created_at?: number; + error?: components["schemas"]["ResponseError"]; + /** @description Details about why the response is incomplete. */ + incomplete_details?: { + /** + * @description The reason why the response is incomplete. + * @enum {string} + */ + reason?: "max_output_tokens" | "content_filter"; + } | null; + /** + * @description An array of content items generated by the model. + * + * - The length and order of items in the `output` array is dependent + * on the model's response. + * - Rather than accessing the first item in the `output` array and + * assuming it's an `assistant` message with the content generated by + * the model, you might consider using the `output_text` property where + * supported in SDKs. + */ + output?: components["schemas"]["OutputItem"][]; + /** + * @description SDK-only convenience property that contains the aggregated text output + * from all `output_text` items in the `output` array, if any are present. + * Supported in the Python and JavaScript SDKs. + */ + output_text?: string | null; + usage?: components["schemas"]["ResponseUsage"]; + /** + * @description Whether to allow the model to run tool calls in parallel. + * @default true + */ + parallel_tool_calls: boolean; + }; + /** @description An error object returned when the model fails to generate a Response. */ + ResponseError: { + code: components["schemas"]["ResponseErrorCode"]; + /** @description A human-readable description of the error. */ + message: string; + }; + /** + * @description The error code for the response. + * @enum {string} + */ + ResponseErrorCode: "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"; + /** @description Events that can be emitted during response streaming */ + OpenAIResponseStreamEvent: components["schemas"]["ResponseCreatedEvent"] | components["schemas"]["ResponseInProgressEvent"] | components["schemas"]["ResponseCompletedEvent"] | components["schemas"]["ResponseFailedEvent"] | components["schemas"]["ResponseIncompleteEvent"] | components["schemas"]["ResponseOutputItemAddedEvent"] | components["schemas"]["ResponseOutputItemDoneEvent"] | components["schemas"]["ResponseContentPartAddedEvent"] | components["schemas"]["ResponseContentPartDoneEvent"] | components["schemas"]["ResponseErrorEvent"]; + InputMessage: { + /** @enum {string} */ + type?: "message"; + /** @enum {string} */ + role?: "user" | "system" | "developer"; + /** @enum {string} */ + status?: "in_progress" | "completed" | "incomplete"; + content?: components["schemas"]["InputMessageContentList"]; + }; + /** + * Input item content list + * @description A list of one or many input items to the model, containing different content + * types. + */ + InputMessageContentList: components["schemas"]["InputContent"][]; + InputContent: components["schemas"]["InputTextContent"] | components["schemas"]["InputImageContent"] | components["schemas"]["InputFileContent"]; + /** + * Input text + * @description A text input to the model. + */ + InputTextContent: { + /** + * @description The type of the input item. Always `input_text`. + * @default input_text + * @enum {string} + */ + type: "input_text"; + /** @description The text input to the model. */ + text: string; + }; + /** + * Input image + * @description An image input to the model. Learn about [image inputs](/docs/guides/vision). + */ + InputImageContent: { + /** + * @description The type of the input item. Always `input_image`. + * @default input_image + * @enum {string} + */ + type: "input_image"; + /** @description The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL. */ + image_url?: string; + /** @description The ID of the file to be sent to the model. */ + file_id?: string; + /** + * @description The detail level of the image to be sent to the model. One of `high`, `low`, or `auto`. Defaults to `auto`. + * @enum {string} + */ + detail: "low" | "high" | "auto"; + }; + InputMessageResource: components["schemas"]["InputMessage"] & { + /** @description The unique ID of the message input. */ + id: string; + } & { + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: "InputMessageResource"; + }; + /** @description Content item used to generate a response. */ + ItemResource: components["schemas"]["InputMessageResource"] | components["schemas"]["OutputMessage"] | components["schemas"]["FileSearchToolCall"] | components["schemas"]["ComputerToolCall"] | components["schemas"]["WebSearchToolCall"] | components["schemas"]["FunctionToolCallResource"]; + FunctionToolCallResource: components["schemas"]["FunctionToolCall"] & { + /** @description The unique ID of the function tool call. */ + id: string; + } & { + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: "FunctionToolCallResource"; + }; + /** + * Computer tool call + * @description A tool call to a computer use tool. See the + * [computer use guide](/docs/guides/tools-computer-use) for more information. + */ + ComputerToolCall: { + /** + * @description The type of the computer call. Always `computer_call`. (enum property replaced by openapi-typescript) + * @enum {string} + */ + type: "ComputerToolCall"; + /** @description The unique ID of the computer call. */ + id: string; + /** @description An identifier used when responding to the tool call with output. */ + call_id: string; + action: Record; + /** + * @description The status of the item. One of `in_progress`, `completed`, or + * `incomplete`. Populated when items are returned via API. + * @enum {string} + */ + status: "in_progress" | "completed" | "incomplete"; + }; + /** @description A list of Response items. */ + ResponseItemList: { + /** + * @description The type of object returned, must be `list`. + * @enum {string} + */ + object: "list"; + /** @description A list of items used to generate this response. */ + data: components["schemas"]["ItemResource"][]; + /** @description Whether there are more items available. */ + has_more: boolean; + /** @description The ID of the first item in the list. */ + first_id: string; + /** @description The ID of the last item in the list. */ + last_id: string; + }; + /** + * @description Specify additional output data to include in the model response. Currently * supported values are: * - `file_search_call.results`: Include the search results of * the file search tool call. * - `message.input_image.image_url`: Include image urls from the input message. * - `computer_call_output.output.image_url`: Include image urls from the computer call output. - * */ - include?: components['schemas']['Includable'][] | null - usage?: components['schemas']['ResponseUsage'] - /** - * @description Whether to allow the model to run tool calls in parallel. - * - * @default true + * @enum {string} */ - parallel_tool_calls: boolean | null + Includable: "file_search_call.results" | "message.input_image.image_url" | "computer_call_output.output.image_url"; + CreateModelResponseProperties: components["schemas"]["ModelResponseProperties"]; + InputItem: components["schemas"]["EasyInputMessage"] | components["schemas"]["Item"]; + /** @description Content item used to generate a response. */ + Item: components["schemas"]["InputMessage"] | components["schemas"]["OutputMessage"] | components["schemas"]["FileSearchToolCall"] | components["schemas"]["ComputerToolCall"] | components["schemas"]["WebSearchToolCall"] | components["schemas"]["FunctionToolCall"] | components["schemas"]["ReasoningItem"]; /** - * @description Whether to store the generated model response for later retrieval via - * API. - * - * @default true + * Reasoning + * @description A description of the chain of thought used by a reasoning model while generating + * a response. */ - store: boolean | null + ReasoningItem: { + /** + * @description The type of the object. Always `reasoning`. + * @enum {string} + */ + type: "reasoning"; + /** @description The unique identifier of the reasoning content. */ + id: string; + /** @description Reasoning text contents. */ + summary: { + /** + * @description The type of the object. Always `summary_text`. + * @enum {string} + */ + type: "summary_text"; + /** + * @description A short summary of the reasoning used by the model when generating + * the response. + */ + text: string; + }[]; + /** + * @description The status of the item. One of `in_progress`, `completed`, or + * `incomplete`. Populated when items are returned via API. + * @enum {string} + */ + status?: "in_progress" | "completed" | "incomplete"; + }; /** - * @description If set to true, the model response data will be streamed to the client - * as 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). - * See the [Streaming section below](/docs/api-reference/responses-streaming) - * for more information. - * - * @default false + * Input message + * @description A message input to the model with a role indicating instruction following + * hierarchy. Instructions given with the `developer` or `system` role take + * precedence over instructions given with the `user` role. Messages with the + * `assistant` role are presumed to have been generated by the model in previous + * interactions. */ - stream: boolean | null - } - /** @enum {string} */ - OpenAIModels: - | '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' - | 'chatgpt-4o-latest' - MoonvalleyTextToVideoInferenceParams: { - /** - * @description Height of the generated video in pixels - * @default 1080 - */ - height: number - /** - * @description Width of the generated video in pixels - * @default 1920 - */ - width: number - /** - * @description Number of frames to generate - * @default 64 - */ - num_frames: number - /** - * @description Frames per second of the generated video - * @default 24 - */ - fps: number - /** - * Format: float - * @description Guidance scale for generation control - * @default 10 - */ - guidance_scale: number - /** @description Random seed for generation (default: random) */ - seed?: number - /** - * @description Number of denoising steps - * @default 80 - */ - steps: number - /** - * @description Whether to use timestep transformation - * @default true - */ - use_timestep_transform: boolean - /** - * Format: float - * @description Shift value for generation control - * @default 3 - */ - shift_value: number - /** - * @description Whether to use guidance scheduling - * @default true - */ - use_guidance_schedule: boolean - /** - * @description Whether to add quality guidance - * @default true - */ - add_quality_guidance: boolean - /** - * Format: float - * @description CLIP value for generation control - * @default 3 - */ - clip_value: number - /** - * @description Whether to use negative prompts - * @default false - */ - use_negative_prompts: boolean - /** @description Negative prompt text */ - negative_prompt?: string - /** - * @description Number of warmup steps (calculated based on num_frames) - * @default 0 - */ - warmup_steps: number - /** - * @description Number of cooldown steps (calculated based on num_frames) - * @default 75 - */ - cooldown_steps: number - /** - * Format: float - * @description Caching coefficient for optimization - * @default 0.3 - */ - caching_coefficient: number - /** - * @description Number of caching warmup steps - * @default 3 - */ - caching_warmup: number - /** - * @description Number of caching cooldown steps - * @default 3 - */ - caching_cooldown: number - /** - * @description Index of the conditioning frame - * @default 0 - */ - conditioning_frame_index: number - } - MoonvalleyVideoToVideoInferenceParams: { - /** - * Format: float - * @description Guidance scale for generation control - * @default 15 - */ - guidance_scale: number - /** @description Random seed for generation (default: random) */ - seed?: number - /** - * @description Number of denoising steps - * @default 80 - */ - steps: number - /** - * @description Whether to use timestep transformation - * @default true - */ - use_timestep_transform: boolean - /** - * Format: float - * @description Shift value for generation control - * @default 3 - */ - shift_value: number - /** - * @description Whether to use guidance scheduling - * @default true - */ - use_guidance_schedule: boolean - /** - * @description Whether to add quality guidance - * @default true - */ - add_quality_guidance: boolean - /** - * Format: float - * @description CLIP value for generation control - * @default 3 - */ - clip_value: number - /** - * @description Whether to use negative prompts - * @default false - */ - use_negative_prompts: boolean - /** @description Negative prompt text */ - negative_prompt?: string - /** - * @description Number of warmup steps (calculated based on num_frames) - * @default 24 - */ - warmup_steps: number - /** - * @description Number of cooldown steps (calculated based on num_frames) - * @default 36 - */ - cooldown_steps: number - /** - * Format: float - * @description Caching coefficient for optimization - * @default 0.3 - */ - caching_coefficient: number - /** - * @description Number of caching warmup steps - * @default 3 - */ - caching_warmup: number - /** - * @description Number of caching cooldown steps - * @default 3 - */ - caching_cooldown: number - /** - * @description Index of the conditioning frame - * @default 0 - */ - conditioning_frame_index: number - } - MoonvalleyTextToImageRequest: { - prompt_text?: string - image_url?: string - inference_params?: components['schemas']['MoonvalleyTextToVideoInferenceParams'] - webhook_url?: string - } - MoonvalleyTextToVideoRequest: { - prompt_text?: string - image_url?: string - inference_params?: components['schemas']['MoonvalleyTextToVideoInferenceParams'] - webhook_url?: string - } - MoonvalleyVideoToVideoRequest: { - /** @description Describes the video to generate */ - prompt_text: string - /** @description Url to control video */ - video_url: string - /** - * @description Supported types for video control - * @enum {string} - */ - control_type: 'motion_control' | 'pose_control' - /** @description Parameters for video-to-video generation inference */ - inference_params?: components['schemas']['MoonvalleyVideoToVideoInferenceParams'] - /** @description Optional webhook URL for notifications */ - webhook_url?: string - } - MoonvalleyPromptResponse: { - id?: string - status?: string - prompt_text?: string - output_url?: string - inference_params?: Record - model_params?: Record - meta?: Record - frame_conditioning?: Record - error?: Record - } - MoonvalleyImageToVideoRequest: components['schemas']['MoonvalleyTextToVideoRequest'] & { - keyframes?: { - [key: string]: { - image_url?: string - } - } - } - MoonvalleyResizeVideoRequest: components['schemas']['MoonvalleyVideoToVideoRequest'] & { - frame_position?: number[] - frame_resolution?: number[] - scale?: number[] - } - MoonvalleyUploadFileRequest: { - /** Format: binary */ - file?: string - } - MoonvalleyUploadFileResponse: { - access_url?: string - } - /** @description GitHub release webhook payload based on official webhook documentation */ - GithubReleaseWebhook: { - /** - * @description The action performed on the release - * @enum {string} - */ - action: - | 'published' - | 'unpublished' - | 'created' - | 'edited' - | 'deleted' - | 'prereleased' - | 'released' - /** @description The release object */ - release: { - /** @description The ID of the release */ - id: number - /** @description The node ID of the release */ - node_id: string - /** @description The API URL of the release */ - url: string - /** @description The HTML URL of the release */ - html_url: string - /** @description The URL to the release assets */ - assets_url?: string - /** @description The URL to upload release assets */ - upload_url?: string - /** @description The tag name of the release */ - tag_name: string - /** @description The branch or commit the release was created from */ - target_commitish: string - /** @description The name of the release */ - name?: string | null - /** @description The release notes/body */ - body?: string | null - /** @description Whether the release is a draft */ - draft: boolean - /** @description Whether the release is a prerelease */ - prerelease: boolean - /** - * Format: date-time - * @description When the release was created - */ - created_at: string - /** - * Format: date-time - * @description When the release was published - */ - published_at?: string | null - author: components['schemas']['GithubUser'] - /** @description URL to the tarball */ - tarball_url: string - /** @description URL to the zipball */ - zipball_url: string - /** @description Array of release assets */ - assets: components['schemas']['GithubReleaseAsset'][] - } - repository: components['schemas']['GithubRepository'] - sender: components['schemas']['GithubUser'] - organization?: components['schemas']['GithubOrganization'] - installation?: components['schemas']['GithubInstallation'] - enterprise?: components['schemas']['GithubEnterprise'] - } - /** @description A GitHub user */ - GithubUser: { - /** @description The user's login name */ - login: string - /** @description The user's ID */ - id: number - /** @description The user's node ID */ - node_id: string - /** @description URL to the user's avatar */ - avatar_url: string - /** @description The user's gravatar ID */ - gravatar_id?: string | null - /** @description The API URL of the user */ - url: string - /** @description The HTML URL of the user */ - html_url: string - /** - * @description The type of user - * @enum {string} - */ - type: 'Bot' | 'User' | 'Organization' - /** @description Whether the user is a site admin */ - site_admin: boolean - } - /** @description A GitHub repository */ - GithubRepository: { - /** @description The repository ID */ - id: number - /** @description The repository node ID */ - node_id: string - /** @description The name of the repository */ - name: string - /** @description The full name of the repository (owner/repo) */ - full_name: string - /** @description Whether the repository is private */ - private: boolean - owner: components['schemas']['GithubUser'] - /** @description The HTML URL of the repository */ - html_url: string - /** @description The repository description */ - description?: string | null - /** @description Whether the repository is a fork */ - fork: boolean - /** @description The API URL of the repository */ - url: string - /** @description The clone URL of the repository */ - clone_url: string - /** @description The git URL of the repository */ - git_url: string - /** @description The SSH URL of the repository */ - ssh_url: string - /** @description The default branch of the repository */ - default_branch: string - /** - * Format: date-time - * @description When the repository was created - */ - created_at: string - /** - * Format: date-time - * @description When the repository was last updated - */ - updated_at: string - /** - * Format: date-time - * @description When the repository was last pushed to - */ - pushed_at: string - } - /** @description A GitHub release asset */ - GithubReleaseAsset: { - /** @description The asset ID */ - id: number - /** @description The asset node ID */ - node_id: string - /** @description The name of the asset */ - name: string - /** @description The label of the asset */ - label?: string | null - /** @description The content type of the asset */ - content_type: string - /** - * @description The state of the asset - * @enum {string} - */ - state: 'uploaded' | 'open' - /** @description The size of the asset in bytes */ - size: number - /** @description The number of downloads */ - download_count: number - /** - * Format: date-time - * @description When the asset was created - */ - created_at: string - /** - * Format: date-time - * @description When the asset was last updated - */ - updated_at: string - /** @description The browser download URL */ - browser_download_url: string - uploader: components['schemas']['GithubUser'] - } - /** @description A GitHub organization */ - GithubOrganization: { - /** @description The organization's login name */ - login: string - /** @description The organization ID */ - id: number - /** @description The organization node ID */ - node_id: string - /** @description The API URL of the organization */ - url: string - /** @description The API URL of the organization's repositories */ - repos_url: string - /** @description The API URL of the organization's events */ - events_url: string - /** @description The API URL of the organization's hooks */ - hooks_url: string - /** @description The API URL of the organization's issues */ - issues_url: string - /** @description The API URL of the organization's members */ - members_url: string - /** @description The API URL of the organization's public members */ - public_members_url: string - /** @description URL to the organization's avatar */ - avatar_url: string - /** @description The organization description */ - description?: string | null - } - /** @description A GitHub App installation */ - GithubInstallation: { - /** @description The installation ID */ - id: number - account: components['schemas']['GithubUser'] - /** - * @description Repository selection for the installation - * @enum {string} - */ - repository_selection: 'selected' | 'all' - /** @description The API URL for access tokens */ - access_tokens_url: string - /** @description The API URL for repositories */ - repositories_url: string - /** @description The HTML URL of the installation */ - html_url: string - /** @description The GitHub App ID */ - app_id: number - /** @description The target ID */ - target_id: number - /** @description The target type */ - target_type: string - /** @description The installation permissions */ - permissions: Record - /** @description The events the installation subscribes to */ - events: string[] - /** - * Format: date-time - * @description When the installation was created - */ - created_at: string - /** - * Format: date-time - * @description When the installation was last updated - */ - updated_at: string - /** @description The single file name if applicable */ - single_file_name?: string | null - } - /** @description A GitHub enterprise */ - GithubEnterprise: { - /** @description The enterprise ID */ - id: number - /** @description The enterprise slug */ - slug: string - /** @description The enterprise name */ - name: string - /** @description The enterprise node ID */ - node_id: string - /** @description URL to the enterprise avatar */ - avatar_url: string - /** @description The enterprise description */ - description?: string | null - /** @description The enterprise website URL */ - website_url?: string | null - /** @description The HTML URL of the enterprise */ - html_url: string - /** - * Format: date-time - * @description When the enterprise was created - */ - created_at: string - /** - * Format: date-time - * @description When the enterprise was last updated - */ - updated_at: string - } - ReleaseNote: { - /** @description Unique identifier for the release note */ - id: number - /** - * @description The project this release note belongs to - * @enum {string} - */ - project: 'comfyui' | 'comfyui_frontend' | 'desktop' - /** @description The version of the release */ - version: string - /** - * @description The attention level for this release - * @enum {string} - */ - attention: 'low' | 'medium' | 'high' - /** @description The content of the release note in markdown format */ - content: string - /** - * Format: date-time - * @description When the release note was published - */ - published_at: string - } - } - responses: never - parameters: { - /** @description Unique UUID for each request. */ - PixverseAiTraceId: string - } - requestBodies: never - headers: never - pathItems: never + EasyInputMessage: { + /** + * @description The role of the message input. One of `user`, `assistant`, `system`, or + * `developer`. + * @enum {string} + */ + role: "user" | "assistant" | "system" | "developer"; + /** + * @description Text, image, or audio input to the model, used to generate a response. + * Can also contain previous assistant responses. + */ + content: string | components["schemas"]["InputMessageContentList"]; + /** + * @description The type of the message input. Always `message`. + * @enum {string} + */ + type?: "message"; + }; + OpenAICreateResponse: components["schemas"]["CreateModelResponseProperties"] & components["schemas"]["ResponseProperties"] & { + /** + * @description Text, image, or file inputs to the model, used to generate a response. + * + * Learn more: + * - [Text inputs and outputs](/docs/guides/text) + * - [Image inputs](/docs/guides/images) + * - [File inputs](/docs/guides/pdf-files) + * - [Conversation state](/docs/guides/conversation-state) + * - [Function calling](/docs/guides/function-calling) + */ + input: string | components["schemas"]["InputItem"][]; + /** + * @description Specify additional output data to include in the model response. Currently + * supported values are: + * - `file_search_call.results`: Include the search results of + * the file search tool call. + * - `message.input_image.image_url`: Include image urls from the input message. + * - `computer_call_output.output.image_url`: Include image urls from the computer call output. + */ + include?: components["schemas"]["Includable"][] | null; + usage?: components["schemas"]["ResponseUsage"]; + /** + * @description Whether to allow the model to run tool calls in parallel. + * @default true + */ + parallel_tool_calls: boolean | null; + /** + * @description Whether to store the generated model response for later retrieval via + * API. + * @default true + */ + store: boolean | null; + /** + * @description If set to true, the model response data will be streamed to the client + * as 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). + * See the [Streaming section below](/docs/api-reference/responses-streaming) + * for more information. + * @default false + */ + stream: boolean | null; + }; + /** @enum {string} */ + OpenAIModels: "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" | "chatgpt-4o-latest"; + MoonvalleyTextToVideoInferenceParams: { + /** + * @description Height of the generated video in pixels + * @default 1080 + */ + height: number; + /** + * @description Width of the generated video in pixels + * @default 1920 + */ + width: number; + /** + * Format: float + * @description Guidance scale for generation control + * @default 10 + */ + guidance_scale: number; + /** + * @description Random seed for generation (default: random) + * @default 9 + */ + seed: number; + /** + * @description Number of denoising steps + * @default 80 + */ + steps: number; + /** + * @description Whether to use negative prompts + * @default true + */ + use_negative_prompts: boolean; + /** @description Negative prompt text */ + negative_prompt?: string; + }; + MoonvalleyVideoToVideoInferenceParams: { + /** + * Format: float + * @description Guidance scale for generation control + * @default 10 + */ + guidance_scale: number; + /** + * @description Random seed for generation (default: random) + * @default 9 + */ + seed: number; + /** + * @description Number of denoising steps + * @default 80 + */ + steps: number; + /** + * @description Whether to use negative prompts + * @default true + */ + use_negative_prompts: boolean; + /** @description Negative prompt text */ + negative_prompt?: string; + control_params?: { + /** + * Format: int32 + * @description Intensity of motion control + * @default 6 + */ + motion_intensity: number; + }; + }; + MoonvalleyTextToImageRequest: { + prompt_text?: string; + image_url?: string; + inference_params?: components["schemas"]["MoonvalleyTextToVideoInferenceParams"]; + webhook_url?: string; + }; + MoonvalleyTextToVideoRequest: { + prompt_text?: string; + image_url?: string; + inference_params?: components["schemas"]["MoonvalleyTextToVideoInferenceParams"]; + webhook_url?: string; + }; + MoonvalleyVideoToVideoRequest: { + /** @description Describes the video to generate */ + prompt_text: string; + /** @description Url to control video */ + video_url: string; + /** + * @description Supported types for video control + * @enum {string} + */ + control_type: "motion_control" | "pose_control"; + /** @description Url to control image */ + image_url?: string; + /** @description Parameters for video-to-video generation inference */ + inference_params?: components["schemas"]["MoonvalleyVideoToVideoInferenceParams"]; + /** @description Optional webhook URL for notifications */ + webhook_url?: string; + }; + MoonvalleyPromptResponse: { + id?: string; + status?: string; + prompt_text?: string; + output_url?: string; + inference_params?: Record; + model_params?: Record; + meta?: Record; + frame_conditioning?: Record; + error?: Record; + }; + MoonvalleyImageToVideoRequest: components["schemas"]["MoonvalleyTextToVideoRequest"] & { + keyframes?: { + [key: string]: { + image_url?: string; + }; + }; + }; + MoonvalleyResizeVideoRequest: components["schemas"]["MoonvalleyVideoToVideoRequest"] & { + frame_position?: number[]; + frame_resolution?: number[]; + scale?: number[]; + }; + MoonvalleyUploadFileRequest: { + /** Format: binary */ + file?: string; + }; + MoonvalleyUploadFileResponse: { + access_url?: string; + }; + /** @description GitHub release webhook payload based on official webhook documentation */ + GithubReleaseWebhook: { + /** + * @description The action performed on the release + * @enum {string} + */ + action: "published" | "unpublished" | "created" | "edited" | "deleted" | "prereleased" | "released"; + /** @description The release object */ + release: { + /** @description The ID of the release */ + id: number; + /** @description The node ID of the release */ + node_id: string; + /** @description The API URL of the release */ + url: string; + /** @description The HTML URL of the release */ + html_url: string; + /** @description The URL to the release assets */ + assets_url?: string; + /** @description The URL to upload release assets */ + upload_url?: string; + /** @description The tag name of the release */ + tag_name: string; + /** @description The branch or commit the release was created from */ + target_commitish: string; + /** @description The name of the release */ + name?: string | null; + /** @description The release notes/body */ + body?: string | null; + /** @description Whether the release is a draft */ + draft: boolean; + /** @description Whether the release is a prerelease */ + prerelease: boolean; + /** + * Format: date-time + * @description When the release was created + */ + created_at: string; + /** + * Format: date-time + * @description When the release was published + */ + published_at?: string | null; + author: components["schemas"]["GithubUser"]; + /** @description URL to the tarball */ + tarball_url: string; + /** @description URL to the zipball */ + zipball_url: string; + /** @description Array of release assets */ + assets: components["schemas"]["GithubReleaseAsset"][]; + }; + repository: components["schemas"]["GithubRepository"]; + sender: components["schemas"]["GithubUser"]; + organization?: components["schemas"]["GithubOrganization"]; + installation?: components["schemas"]["GithubInstallation"]; + enterprise?: components["schemas"]["GithubEnterprise"]; + }; + /** @description A GitHub user */ + GithubUser: { + /** @description The user's login name */ + login: string; + /** @description The user's ID */ + id: number; + /** @description The user's node ID */ + node_id: string; + /** @description URL to the user's avatar */ + avatar_url: string; + /** @description The user's gravatar ID */ + gravatar_id?: string | null; + /** @description The API URL of the user */ + url: string; + /** @description The HTML URL of the user */ + html_url: string; + /** + * @description The type of user + * @enum {string} + */ + type: "Bot" | "User" | "Organization"; + /** @description Whether the user is a site admin */ + site_admin: boolean; + }; + /** @description A GitHub repository */ + GithubRepository: { + /** @description The repository ID */ + id: number; + /** @description The repository node ID */ + node_id: string; + /** @description The name of the repository */ + name: string; + /** @description The full name of the repository (owner/repo) */ + full_name: string; + /** @description Whether the repository is private */ + private: boolean; + owner: components["schemas"]["GithubUser"]; + /** @description The HTML URL of the repository */ + html_url: string; + /** @description The repository description */ + description?: string | null; + /** @description Whether the repository is a fork */ + fork: boolean; + /** @description The API URL of the repository */ + url: string; + /** @description The clone URL of the repository */ + clone_url: string; + /** @description The git URL of the repository */ + git_url: string; + /** @description The SSH URL of the repository */ + ssh_url: string; + /** @description The default branch of the repository */ + default_branch: string; + /** + * Format: date-time + * @description When the repository was created + */ + created_at: string; + /** + * Format: date-time + * @description When the repository was last updated + */ + updated_at: string; + /** + * Format: date-time + * @description When the repository was last pushed to + */ + pushed_at: string; + }; + /** @description A GitHub release asset */ + GithubReleaseAsset: { + /** @description The asset ID */ + id: number; + /** @description The asset node ID */ + node_id: string; + /** @description The name of the asset */ + name: string; + /** @description The label of the asset */ + label?: string | null; + /** @description The content type of the asset */ + content_type: string; + /** + * @description The state of the asset + * @enum {string} + */ + state: "uploaded" | "open"; + /** @description The size of the asset in bytes */ + size: number; + /** @description The number of downloads */ + download_count: number; + /** + * Format: date-time + * @description When the asset was created + */ + created_at: string; + /** + * Format: date-time + * @description When the asset was last updated + */ + updated_at: string; + /** @description The browser download URL */ + browser_download_url: string; + uploader: components["schemas"]["GithubUser"]; + }; + /** @description A GitHub organization */ + GithubOrganization: { + /** @description The organization's login name */ + login: string; + /** @description The organization ID */ + id: number; + /** @description The organization node ID */ + node_id: string; + /** @description The API URL of the organization */ + url: string; + /** @description The API URL of the organization's repositories */ + repos_url: string; + /** @description The API URL of the organization's events */ + events_url: string; + /** @description The API URL of the organization's hooks */ + hooks_url: string; + /** @description The API URL of the organization's issues */ + issues_url: string; + /** @description The API URL of the organization's members */ + members_url: string; + /** @description The API URL of the organization's public members */ + public_members_url: string; + /** @description URL to the organization's avatar */ + avatar_url: string; + /** @description The organization description */ + description?: string | null; + }; + /** @description A GitHub App installation */ + GithubInstallation: { + /** @description The installation ID */ + id: number; + account: components["schemas"]["GithubUser"]; + /** + * @description Repository selection for the installation + * @enum {string} + */ + repository_selection: "selected" | "all"; + /** @description The API URL for access tokens */ + access_tokens_url: string; + /** @description The API URL for repositories */ + repositories_url: string; + /** @description The HTML URL of the installation */ + html_url: string; + /** @description The GitHub App ID */ + app_id: number; + /** @description The target ID */ + target_id: number; + /** @description The target type */ + target_type: string; + /** @description The installation permissions */ + permissions: Record; + /** @description The events the installation subscribes to */ + events: string[]; + /** + * Format: date-time + * @description When the installation was created + */ + created_at: string; + /** + * Format: date-time + * @description When the installation was last updated + */ + updated_at: string; + /** @description The single file name if applicable */ + single_file_name?: string | null; + }; + /** @description A GitHub enterprise */ + GithubEnterprise: { + /** @description The enterprise ID */ + id: number; + /** @description The enterprise slug */ + slug: string; + /** @description The enterprise name */ + name: string; + /** @description The enterprise node ID */ + node_id: string; + /** @description URL to the enterprise avatar */ + avatar_url: string; + /** @description The enterprise description */ + description?: string | null; + /** @description The enterprise website URL */ + website_url?: string | null; + /** @description The HTML URL of the enterprise */ + html_url: string; + /** + * Format: date-time + * @description When the enterprise was created + */ + created_at: string; + /** + * Format: date-time + * @description When the enterprise was last updated + */ + updated_at: string; + }; + ReleaseNote: { + /** @description Unique identifier for the release note */ + id: number; + /** + * @description The project this release note belongs to + * @enum {string} + */ + project: "comfyui" | "comfyui_frontend" | "desktop"; + /** @description The version of the release */ + version: string; + /** + * @description The attention level for this release + * @enum {string} + */ + attention: "low" | "medium" | "high"; + /** @description The content of the release note in markdown format */ + content: string; + /** + * Format: date-time + * @description When the release note was published + */ + published_at: string; + }; + ViduCreation: { + id?: string; + url?: string; + cover_url?: string; + watermarked_url?: string; + moderation_url?: string[]; + }; + /** @enum {string} */ + ViduState: "created" | "processing" | "queueing" | "success" | "failed"; + ViduGetCreationsReply: { + state?: components["schemas"]["ViduState"]; + err_code?: string; + creations?: components["schemas"]["ViduCreation"][]; + id?: string; + }; + ViduTaskReply: { + task_id: string; + state: components["schemas"]["ViduState"]; + model?: string; + /** @enum {string} */ + style?: "general" | "anime"; + prompt?: string; + images?: string[]; + /** Format: int32 */ + duration?: number; + /** Format: int32 */ + seed?: number; + aspect_ratio?: string; + resolution?: string; + /** @enum {string} */ + movement_amplitude?: "auto" | "small" | "medium" | "large"; + /** Format: date-time */ + created_at?: string; + /** Format: int32 */ + credits: number; + }; + ViduTaskRequest: { + model?: string; + /** @enum {string} */ + style?: "general" | "anime"; + prompt?: string; + images?: string[]; + /** Format: int32 */ + duration?: number; + /** Format: int32 */ + seed?: number; + aspect_ratio?: string; + resolution?: string; + /** @enum {string} */ + movement_amplitude?: "auto" | "small" | "medium" | "large"; + enhance?: boolean; + callback_url?: string; + /** Format: int32 */ + priority?: number; + }; + BytePlusImageGenerationRequest: { + /** @enum {string} */ + model: "seedream-3-0-t2i-250415" | "seededit-3-0-i2i-250628" | "seedream-4-0-250828"; + /** @description Text description for image generation or transformation */ + prompt: string; + /** + * @description Only seedream-4.0 and seededit-3.0-i2i support this parameter. + * + * Enter the Base64 encoding or an accessible URL of the image to edit. Among the models, bytedance-seedream-4.0 supports inputting a single image or multiple images (see the multi-image blending example), while bytedance-seededit-3.0-i2 only supports single-image input. + * + * • Image URL: Make sure that the image URL is accessible. + * • Base64 encoding: The format must be data:image/;base64,. Note: must be in lowercase, e.g., data:image/png;base64,. + * + * An input image must meet the following requirements: + * • Image format: jpeg, png + * • Aspect ratio (width/height): In the range [1/3, 3] + * • Width and height (px): > 14 + * • Size: No more than 10 MB + */ + image?: string | string[]; + /** + * @description "seedream-3-0-t2i-250415": Specifies the dimensions (width x height in pixels) of the generated image. Must be between [512x512, 2048x2048] + * "seededit-3-0-i2i-250628": The width and height pixels of the generated image. Currently only supports adaptive. + * "seedream-4-0-250828": Set the specification for the generated image. Two methods are available but cannot be used together. + * Method 1 | Example: Specify the resolution of the generated image, and describe its aspect ratio, shape, or purpose in the prompt using natural language, let the model ultimately determine the final image width and height. + * Optional values: 1K, 2K, 4K + * Method 2 | Example: Specify the width and height of the generated image in pixels: + * Default value: 2048x2048 + * The value range of total pixels: [1024x1024, 4096x4096] + * The aspect ratio value range: [1/16, 16] + */ + size?: string; + /** + * @description Specifies the format of the generated image returned in the response + * @default url + * @enum {string} + */ + response_format: "url" | "b64_json"; + /** + * @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. + * @default -1 + */ + seed: number; + /** + * @description Controls whether to disable the batch generation feature. This parameter is only supported on seedream-4.0. Valid values: + * auto: 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. + * disabled: Disables batch generation feature. The model will only generate one image. + */ + sequential_image_generation?: string; + /** + * @description Only seedream-4.0 supports this parameter. + * Configuration for the batch image generation feature. This parameter is only effective when sequential_image_generation is set to auto. + */ + sequential_image_generation_options?: { + /** + * @description Specifies the maximum number of images to generate in this request. Number of input reference images + Number of generated images ≤ 15. + * @default 15 + */ + max_images: number; + }; + /** + * Format: float + * @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 + */ + guidance_scale?: number; + /** + * @description Specifies whether to add a watermark to the generated image. false = No watermark, true = Adds watermark with 'AI generated' label + * @default true + */ + watermark: boolean; + }; + BytePlusImageGenerationResponse: { + /** + * @description The model ID used for the request + * @example seedream-3-0-t2i-250415 + */ + model?: string; + /** @description Unix timestamp (in seconds) indicating the time when the request was created */ + created?: number; + /** @description Contains information about the generated image(s) */ + data?: { + /** + * Format: uri + * @description URL for image download (if response_format is "url") + */ + url?: string; + /** @description Base64-encoded image data (if response_format is "b64_json") */ + b64_json?: string; + }[]; + usage?: { + /** @description Number of images generated by the model */ + generated_images?: number; + /** @description The number of tokens used for the picture generated by the model. */ + output_tokens?: number; + /** @description The total number of tokens consumed by this request. */ + total_tokens?: number; + }; + /** @description Error information (if any) */ + error?: { + /** @description Error code */ + code?: string; + /** @description Error message */ + message?: string; + }; + }; + BytePlusVideoGenerationRequest: { + /** + * @description The ID of the model to call. Available models include seedance-1-0-pro-250528, seedance-1-0-lite-t2v-250428, seedance-1-0-lite-i2v-250428 + * @enum {string} + */ + model: "seedance-1-0-pro-250528" | "seedance-1-0-lite-t2v-250428" | "seedance-1-0-lite-i2v-250428"; + /** @description The input content for the model to generate a video */ + content: components["schemas"]["BytePlusVideoGenerationContent"][]; + /** + * Format: uri + * @description Callback notification address for the result of this generation task + */ + callback_url?: string; + }; + BytePlusVideoGenerationContent: { + /** + * @description The type of the input content + * @enum {string} + */ + type: "text" | "image_url"; + /** + * @description The input text information for the model. Includes text prompt and optional parameters. + * + * Text prompt (required): Description of the video to be generated using Chinese and English characters. + * + * Parameters (optional): Add --[parameters] after the text prompt to control video specifications: + * - --resolution (--rs): 480p, 720p, 1080p (default: 720p) + * - --ratio (--rt): 21:9, 16:9, 4:3, 1:1, 3:4, 9:16, 9:21, adaptive (default: 16:9 or adaptive) + * - --duration (--dur): 3-12 seconds (default: 5) + * - --framepersecond (--fps): 24 (default: 24) + * - --watermark (--wm): true/false (default: false) + * - --seed (--seed): -1 to 2^32-1 (default: -1) + * - --camerafixed (--cf): true/false (default: false) + * + * Example: "A beautiful landscape --ratio 16:9 --resolution 720p --duration 5" + */ + text?: string; + image_url?: { + /** + * @description Image content for image-to-video generation (when type is "image") + * Image URL: Make sure that the image URL is accessible. + * Base64-encoded content: Format must be data:image/;base64, + */ + url?: string; + }; + }; + BytePlusVideoGenerationResponse: { + /** @description The ID of the video generation task */ + id: string; + }; + BytePlusVideoGenerationQueryResponse: { + /** @description The ID of the video generation task */ + id?: string; + /** @description The name and version of the model used by the task */ + model?: string; + /** + * @description The state of the task + * @enum {string} + */ + status?: "queued" | "running" | "cancelled" | "succeeded" | "failed"; + /** @description The error information. If the task succeeds, null is returned. If the task fails, the error information is returned. */ + error?: { + /** @description The error code */ + code?: string; + /** @description The error message */ + message?: string; + } | null; + /** @description The time when the task was created. The value is a UNIX timestamp in seconds. */ + created_at?: number; + /** @description The time when the task was last updated. The value is a UNIX timestamp in seconds. */ + updated_at?: number; + /** @description The output after the video generation task is completed, which contains the download URL of the output video. */ + content?: { + /** @description The URL of the output video. For security purposes, the output video is cleared after 24 hours. */ + video_url?: string; + }; + /** @description The token usage for the request */ + usage?: { + /** @description The number of tokens generated by the model */ + completion_tokens?: number; + /** @description For the video generation model, the number of input tokens is not calculated and defaults to 0. Therefore, total_tokens = completion_tokens. */ + total_tokens?: number; + }; + }; + WanVideoGenerationRequest: { + /** + * @description The ID of the model to call + * @enum {string} + */ + model: "wan2.5-t2v-preview" | "wan2.5-i2v-preview"; + /** @description Enter basic information, such as prompt words, etc. */ + input: { + /** @description Text prompt words. Support Chinese and English, length not exceeding 800 characters */ + prompt: string; + /** @description Reverse prompt words are used to describe content that you do not want to see in the video screen */ + negative_prompt?: string; + /** @description Audio file download URL. Supported formats: mp3 and wav. */ + audio_url?: string; + /** @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. */ + img_url?: string; + /** @description Video effect template name. Optional. Currently supported: squish, flying, carousel. When used, prompt parameter is ignored. */ + template?: string; + }; + /** @description Video processing parameters */ + parameters?: { + /** @description Used to specify the video resolution in the format of 宽*高. Supported resolutions vary by model (for T2V models) */ + size?: string; + /** + * @description Resolution level for I2V models. Supported values vary by model: 480P, 720P, 1080P + * @enum {string} + */ + resolution?: "480P" | "720P" | "1080P"; + /** + * @description The duration of the video generated, in seconds + * @default 5 + * @enum {integer} + */ + duration?: 5 | 10; + /** + * @description Is it enabled prompt intelligent rewriting. Default is true + * @default true + */ + prompt_extend?: boolean; + /** @description Random number seed, used to control the randomness of the model generated content */ + seed?: number; + /** + * @description Whether to add a watermark logo, the watermark is located in the lower right corner + * @default false + */ + watermark?: boolean; + /** + * @description Whether to add audio to the video + * @default true + */ + audio?: boolean; + }; + }; + WanVideoGenerationResponse: { + output: { + /** @description Task ID */ + task_id: string; + /** + * @description Task status + * @enum {string} + */ + task_status: "PENDING" | "RUNNING" | "SUCCEEDED" | "FAILED" | "CANCELED" | "UNKNOWN"; + }; + /** @description Unique request identifier */ + request_id: string; + /** @description The error code for the failed request (not returned if request is successful) */ + code?: string; + /** @description Detailed information about the failed request (not returned if request is successful) */ + message?: string; + }; + WanTaskQueryResponse: { + /** @description Unique request identifier */ + request_id: string; + output: { + /** @description Task ID */ + task_id: string; + /** + * @description Task status + * @enum {string} + */ + task_status: "PENDING" | "RUNNING" | "SUCCEEDED" | "FAILED" | "CANCELED" | "UNKNOWN"; + /** @description Task submission time */ + submit_time?: string; + /** @description Task execution time */ + scheduled_time?: string; + /** @description Task completion time */ + end_time?: string; + /** @description Video URL for completed video generation tasks. Link validity period 24 hours */ + video_url?: string; + /** @description Audio URL for I2V tasks with audio generation */ + check_audio?: string; + /** @description Original input prompt (for video tasks) */ + orig_prompt?: string; + /** @description Actual prompt after intelligent rewriting (for video tasks) */ + actual_prompt?: string; + /** @description List of task results for image generation tasks */ + results?: { + /** @description Original input prompt */ + orig_prompt?: string; + /** @description Actual prompt after intelligent rewriting (if enabled) */ + actual_prompt?: string; + /** @description Generated image URL address */ + url?: string; + /** @description Image error code (returned when some tasks fail) */ + code?: string; + /** @description Image error information (returned when some tasks fail) */ + message?: string; + }[]; + /** @description Task result statistics for image generation tasks */ + task_metrics?: { + /** @description Total number of tasks */ + TOTAL?: number; + /** @description Number of successful tasks */ + SUCCEEDED?: number; + /** @description Number of failed tasks */ + FAILED?: number; + }; + /** @description The error code for the failed request (not returned if request is successful) */ + code?: string; + /** @description Detailed information about the failed request (not returned if request is successful) */ + message?: string; + }; + /** @description Output information statistics. Only successful results are counted */ + usage?: { + /** @description Duration of generated video in seconds (T2V tasks) */ + video_duration?: number; + /** @description Video resolution ratio (T2V tasks) */ + video_ratio?: string; + /** @description Number of generated videos (T2V tasks) */ + video_count?: number; + /** @description Duration of generated video in seconds (I2V tasks) */ + duration?: number; + /** @description Video resolution level (I2V tasks) */ + SR?: number; + /** @description Image resolution (T2I tasks) */ + size?: string; + /** @description Number of generated images (T2I tasks) */ + image_count?: number; + }; + }; + WanImageGenerationRequest: { + /** + * @description The ID of the model to call for text-to-image generation + * @enum {string} + */ + model: "wan2.5-t2i-preview"; + /** @description Enter basic information, such as prompt words, etc. */ + input: { + /** @description Positive prompt words to describe expected image elements and visual features. Support Chinese and English, length not exceeding 800 characters */ + prompt: string; + /** @description Reverse prompt words to describe content that you do not want to see in the image */ + negative_prompt?: string; + }; + /** @description Image processing parameters */ + parameters?: { + /** + * @description Output image resolution. Default is 1024*1024. Pixel range [512, 1440], up to 200 megapixels + * @default 1024*1024 + */ + size?: string; + /** + * @description Number of generated images. Range 1-4, default is 4 + * @default 4 + */ + n?: number; + /** @description Random number seed to control randomness. Range [0, 2147483647] */ + seed?: number; + /** + * @description Enable prompt intelligent rewriting. Default is true + * @default true + */ + prompt_extend?: boolean; + /** + * @description Whether to add watermark logo in lower right corner + * @default false + */ + watermark?: boolean; + }; + }; + WanImageGenerationResponse: { + output: { + /** @description Task ID */ + task_id: string; + /** + * @description Task status + * @enum {string} + */ + task_status: "PENDING" | "RUNNING" | "SUCCEEDED" | "FAILED" | "CANCELED" | "UNKNOWN"; + }; + /** @description Unique request identifier */ + request_id: string; + /** @description The error code for the failed request (not returned if request is successful) */ + code?: string; + /** @description Detailed information about the failed request (not returned if request is successful) */ + message?: string; + }; + WanImage2ImageGenerationRequest: { + /** + * @description The ID of the model to call for image-to-image generation + * @enum {string} + */ + model: "wan2.5-i2i-preview"; + /** @description Enter basic information, such as prompt words, images, etc. */ + input: { + /** @description Positive prompt words to describe expected image elements and visual features. Support Chinese and English, length not exceeding 2000 characters */ + prompt: string; + /** @description Array of image URLs for image-to-image generation */ + images: string[]; + /** @description Reverse prompt words to describe content that you do not want to see in the image */ + negative_prompt?: string; + }; + /** @description Image processing parameters */ + parameters?: { + /** + * @description Output image resolution. Default is 1280*1280. Width and height must be between 384 and 5000 pixels. + * @default 1280*1280 + */ + size?: string; + /** + * @description Number of generated images. Range 1-4, default is 1 + * @default 1 + */ + n?: number; + /** @description Random number seed to control randomness. Range [0, 2147483647] */ + seed?: number; + /** + * @description Whether to add watermark logo in lower right corner + * @default false + */ + watermark?: boolean; + }; + }; + WanImage2ImageGenerationResponse: { + output: { + /** @description Task ID */ + task_id: string; + /** + * @description Task status + * @enum {string} + */ + task_status: "PENDING" | "RUNNING" | "SUCCEEDED" | "FAILED" | "CANCELED" | "UNKNOWN"; + }; + /** @description Unique request identifier */ + request_id: string; + /** @description The error code for the failed request (not returned if request is successful) */ + code?: string; + /** @description Detailed information about the failed request (not returned if request is successful) */ + message?: string; + }; + }; + responses: never; + parameters: { + /** @description Unique UUID for each request. */ + PixverseAiTraceId: string; + }; + requestBodies: never; + headers: never; + pathItems: never; } -export type $defs = Record +export type $defs = Record; export interface operations { - getUser: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody?: never - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['User'] - } - } - /** @description Unauthorized */ - 401: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Not Found */ - 404: { - headers: { - [name: string]: unknown - } - content?: never - } - } - } - searchCustomers: { - parameters: { - query?: { - /** @description Email address to search for */ - email?: string - /** @description Customer name to search for */ - name?: string - /** @description Stripe customer ID to search for */ - stripe_id?: string - /** @description Metronome customer ID to search for\ */ - metronome_id?: string - /** @description Page number to retrieve */ - page?: number - /** @description Number of customers to return per page */ - limit?: number - } - header?: never - path?: never - cookie?: never - } - requestBody?: never - responses: { - /** @description Customers matching the search criteria */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': { - /** @description Current page number */ - page?: number - /** @description Number of customers per page */ - limit?: number - /** @description Total number of pages available */ - totalPages?: number - customers?: components['schemas']['Customer'][] - /** @description Total number of matching customers */ - total?: number - } - } - } - /** @description Invalid request parameters */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Unauthorized */ - 401: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Forbidden - insufficient permissions */ - 403: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - createCustomer: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody?: never - responses: { - /** @description Customer already exists */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['Customer'] - } - } - /** @description Customer created successfully */ - 201: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['Customer'] - } - } - /** @description Invalid request */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Unauthorized */ - 401: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - getAuthenticatedCustomer: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody?: never - responses: { - /** @description Customer details retrieved successfully */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['Customer'] - } - } - /** @description Unauthorized or invalid token */ - 401: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Customer not found */ - 404: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - getCustomerById: { - parameters: { - query?: never - header?: never - path: { - customer_id: string - } - cookie?: never - } - requestBody?: never - responses: { - /** @description Customer details retrieved successfully */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': { - customer?: components['schemas']['Customer'] - } - } - } - /** @description Unauthorized or invalid token */ - 401: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Customer not found */ - 404: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - listCustomerAPIKeys: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody?: never - responses: { - /** @description List of API keys */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': { - api_keys?: components['schemas']['APIKey'][] - } - } - } - /** @description Unauthorized */ - 401: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Customer not found */ - 404: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - createCustomerAPIKey: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody: { - content: { - 'application/json': components['schemas']['CreateAPIKeyRequest'] - } - } - responses: { - /** @description API key created */ - 201: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': { - api_key?: components['schemas']['APIKeyWithPlaintext'] - } - } - } - /** @description Bad request */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Unauthorized */ - 401: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Customer or API key not found */ - 404: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - deleteCustomerAPIKey: { - parameters: { - query?: never - header?: never - path: { - api_key_id: string - } - cookie?: never - } - requestBody?: never - responses: { - /** @description API key deleted */ - 204: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Unauthorized */ - 401: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Customer or API key not found */ - 404: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - InitiateCreditPurchase: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody: { - content: { - 'application/json': { - /** - * Format: int64 - * @description the amount of the checkout transaction in micro value - */ - amount_micros: number - /** @description the currency used in the checkout transaction */ - currency: string - } - } - } - responses: { - /** @description Customer Checkout created successfully */ - 201: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': { - /** @description the url to redirect the customer */ - checkout_url?: string - } - } - } - /** @description Bad request, invalid token or user already exists */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Unauthorized or invalid token */ - 401: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - AccessBillingPortal: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody?: { - content: { - 'application/json': { - /** @description Optional URL to redirect the customer after they're done with the billing portal */ - return_url?: string - } - } - } - responses: { - /** @description Billing portal session created successfully */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': { - /** @description The URL to redirect the customer to the billing portal */ - billing_portal_url?: string - } - } - } - /** @description Bad request, invalid input */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Unauthorized or invalid token */ - 401: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - GetCustomerUsage: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody?: never - responses: { - /** @description Successful response */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': { - /** @description The dashboard URL for the customer's usage */ - url?: string - } - } - } - /** @description Unauthorized or invalid token */ - 401: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Customer not found */ - 404: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - GetCustomerBalance: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody?: never - responses: { - /** @description Customer balance retrieved successfully */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': { + getUser: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["User"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + searchCustomers: { + parameters: { + query?: { + /** @description Email address to search for */ + email?: string; + /** @description Customer name to search for */ + name?: string; + /** @description Stripe customer ID to search for */ + stripe_id?: string; + /** @description Metronome customer ID to search for\ */ + metronome_id?: string; + /** @description Page number to retrieve */ + page?: number; + /** @description Number of customers to return per page */ + limit?: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Customers matching the search criteria */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description Current page number */ + page?: number; + /** @description Number of customers per page */ + limit?: number; + /** @description Total number of pages available */ + totalPages?: number; + customers?: components["schemas"]["Customer"][]; + /** @description Total number of matching customers */ + total?: number; + }; + }; + }; + /** @description Invalid request parameters */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden - insufficient permissions */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + createCustomer: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Customer already exists */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Customer"]; + }; + }; + /** @description Customer created successfully */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Customer"]; + }; + }; + /** @description Invalid request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + getAuthenticatedCustomer: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Customer details retrieved successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Customer"]; + }; + }; + /** @description Unauthorized or invalid token */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Customer not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + getCustomerById: { + parameters: { + query?: never; + header?: never; + path: { + customer_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Customer details retrieved successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + customer?: components["schemas"]["CustomerAdmin"]; + }; + }; + }; + /** @description Unauthorized or invalid token */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Customer not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + listCustomerAPIKeys: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description List of API keys */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + api_keys?: components["schemas"]["APIKey"][]; + }; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Customer not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + createCustomerAPIKey: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["CreateAPIKeyRequest"]; + }; + }; + responses: { + /** @description API key created */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + api_key?: components["schemas"]["APIKeyWithPlaintext"]; + }; + }; + }; + /** @description Bad request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Customer or API key not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + deleteCustomerAPIKey: { + parameters: { + query?: never; + header?: never; + path: { + api_key_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description API key deleted */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Customer or API key not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + InitiateCreditPurchase: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * Format: int64 + * @description the amount of the checkout transaction in micro value + */ + amount_micros: number; + /** @description the currency used in the checkout transaction */ + currency: string; + }; + }; + }; + responses: { + /** @description Customer Checkout created successfully */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description the url to redirect the customer */ + checkout_url?: string; + }; + }; + }; + /** @description Bad request, invalid token or user already exists */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Unauthorized or invalid token */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + AccessBillingPortal: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description Optional URL to redirect the customer after they're done with the billing portal */ + return_url?: string; + }; + }; + }; + responses: { + /** @description Billing portal session created successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description The URL to redirect the customer to the billing portal */ + billing_portal_url?: string; + }; + }; + }; + /** @description Bad request, invalid input */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Unauthorized or invalid token */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + createCloudSubscriptionCheckout: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Subscription checkout session created successfully */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description The URL to redirect the customer to complete subscription */ + checkout_url?: string; + }; + }; + }; + /** @description Bad request, invalid input */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Unauthorized or invalid token */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + GetCloudSubscriptionStatus: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Cloud subscription status retrieved successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description Whether the customer has an active cloud subscription */ + is_active?: boolean; + /** @description The active subscription ID if one exists */ + subscription_id?: string | null; + /** + * Format: date-time + * @description The next renewal date for the subscription (ISO 8601 format) + */ + renewal_date?: string | null; + /** + * Format: date-time + * @description The date when the subscription is set to end (ISO 8601 format) + */ + end_date?: string | null; + }; + }; + }; + /** @description Unauthorized or invalid token */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + GetCustomerUsage: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description The dashboard URL for the customer's usage */ + url?: string; + }; + }; + }; + /** @description Unauthorized or invalid token */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Customer not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + GetCustomerBalance: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Customer balance retrieved successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** + * Format: double + * @description The total remaining balance in microamount (1/1,000,000 of the currency unit) + */ + amount_micros: number; + /** + * Format: double + * @description The remaining balance from prepaid commits in microamount + */ + prepaid_balance_micros?: number; + /** + * Format: double + * @description The remaining balance from cloud credits in microamount + */ + cloud_credit_balance_micros?: number; + /** @description The currency code (e.g., "usd") */ + currency: string; + }; + }; + }; + /** @description Unauthorized or invalid token */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Customer not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + GetCustomerBalanceById: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The ID of the customer whose balance to retrieve */ + customer_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Customer balance retrieved successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** + * Format: double + * @description The total remaining balance in microamount (1/1,000,000 of the currency unit) + */ + amount_micros: number; + /** + * Format: double + * @description The remaining balance from prepaid commits in microamount + */ + prepaid_balance_micros?: number; + /** + * Format: double + * @description The remaining balance from cloud credits in microamount + */ + cloud_credit_balance_micros?: number; + /** @description The currency code (e.g., "usd") */ + currency: string; + }; + }; + }; + /** @description Bad request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Unauthorized or invalid token */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Customer not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + createCustomerStorageResource: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The desired name of the file (e.g., 'profile.jpg') */ + file_name: string; + /** @description The content type of the file (e.g., 'image/png') */ + content_type?: string; + /** @description The hash of the file. If provided, an existing file with the same hash may be returned. */ + file_hash?: string; + }; + }; + }; + responses: { + /** @description Signed URL generated successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["CustomerStorageResourceResponse"]; + }; + }; + /** @description Bad request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + GetCustomerEventsById: { + parameters: { + query?: { + /** @description Page number of the nodes list */ + page?: number; + /** @description Number of nodes to return per page */ + limit?: number; + /** @description Event type to filter */ + filter?: string; + }; + header?: never; + path: { + customer_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description A paginated list of nodes */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description Total number of events available */ + total?: number; + events?: components["schemas"]["AuditLog"][]; + /** @description Current page number */ + page?: number; + /** @description Maximum number of nodes per page */ + limit?: number; + /** @description Total number of pages available */ + totalPages?: number; + }; + }; + }; + /** @description Invalid input, object invalid */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + GetCustomerEvents: { + parameters: { + query?: { + /** @description Page number of the nodes list */ + page?: number; + /** @description Number of nodes to return per page */ + limit?: number; + /** @description Event type to filter */ + filter?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description A paginated list of nodes */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description Total number of events available */ + total?: number; + events?: components["schemas"]["AuditLog"][]; + /** @description Current page number */ + page?: number; + /** @description Maximum number of nodes per page */ + limit?: number; + /** @description Total number of pages available */ + totalPages?: number; + }; + }; + }; + /** @description Invalid input, object invalid */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + getWorkflowResult: { + parameters: { + query?: never; + header?: never; + path: { + workflowResultId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Commit details */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ActionJobResult"]; + }; + }; + /** @description Commit not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + listPublishersForUser: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description A list of publishers */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Publisher"][]; + }; + }; + /** @description Bad request, invalid input data */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + getPermissionOnPublisher: { + parameters: { + query?: never; + header?: never; + path: { + publisherId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description A list of permissions */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + canEdit?: boolean; + }; + }; + }; + /** @description Bad request, invalid input data */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + validatePublisher: { + parameters: { + query: { + /** @description The publisher username to validate. */ + username: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Username validation result */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description True if the username is available, false otherwise. */ + isAvailable?: boolean; + }; + }; + }; + /** @description Invalid input, such as missing username in the query. */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + listPublishers: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description A list of publishers */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Publisher"][]; + }; + }; + /** @description Bad request, invalid input data */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + createPublisher: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["Publisher"]; + }; + }; + responses: { + /** @description Publisher created successfully */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Publisher"]; + }; + }; + /** @description Bad request, invalid input data */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + getPublisher: { + parameters: { + query?: never; + header?: never; + path: { + publisherId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Publisher retrieved successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Publisher"]; + }; + }; + /** @description Publisher not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + updatePublisher: { + parameters: { + query?: never; + header?: never; + path: { + publisherId: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["Publisher"]; + }; + }; + responses: { + /** @description Publisher updated successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Publisher"]; + }; + }; + /** @description Bad request, invalid input data */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Publisher not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + deletePublisher: { + parameters: { + query?: never; + header?: never; + path: { + publisherId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Publisher deleted successfully */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Publisher not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + BanPublisher: { + parameters: { + query?: never; + header?: never; + path: { + publisherId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Publisher Banned Successfully */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Publisher not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + claimMyNode: { + parameters: { + query?: never; + header?: never; + path: { + publisherId: string; + nodeId: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["ClaimMyNodeRequest"]; + }; + }; + responses: { + /** @description Node claimed successfully */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Bad request, invalid input data */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; /** - * Format: double - * @description The remaining balance in microamount (1/1,000,000 of the currency unit) + * @description Forbidden - various authorization and permission issues + * Includes: + * - The authenticated user does not have permission to claim the node + * - The node is already claimed by another publisher + * - The GH_TOKEN is invalid + * - The repository is not owned by the authenticated GitHub user */ - amount_micros: number - /** @description The currency code (e.g., "usd") */ - currency: string - } - } - } - /** @description Unauthorized or invalid token */ - 401: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Customer not found */ - 404: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - GetCustomerBalanceById: { - parameters: { - query?: never - header?: never - path: { - /** @description The ID of the customer whose balance to retrieve */ - customer_id: string - } - cookie?: never - } - requestBody?: never - responses: { - /** @description Customer balance retrieved successfully */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': { - /** - * Format: double - * @description The remaining balance in microamount (1/1,000,000 of the currency unit) - */ - amount_micros: number - /** @description The currency code (e.g., "usd") */ - currency: string - } - } - } - /** @description Bad request */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Unauthorized or invalid token */ - 401: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Customer not found */ - 404: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - createCustomerStorageResource: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody: { - content: { - 'application/json': { - /** @description The desired name of the file (e.g., 'profile.jpg') */ - file_name: string - /** @description The content type of the file (e.g., 'image/png') */ - content_type?: string - /** @description The hash of the file. If provided, an existing file with the same hash may be returned. */ - file_hash?: string - } - } - } - responses: { - /** @description Signed URL generated successfully */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['CustomerStorageResourceResponse'] - } - } - /** @description Bad request */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Unauthorized */ - 401: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - GetCustomerEventsById: { - parameters: { - query?: { - /** @description Page number of the nodes list */ - page?: number - /** @description Number of nodes to return per page */ - limit?: number - /** @description Event type to filter */ - filter?: string - } - header?: never - path: { - customer_id: string - } - cookie?: never - } - requestBody?: never - responses: { - /** @description A paginated list of nodes */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': { - /** @description Total number of events available */ - total?: number - events?: components['schemas']['AuditLog'][] - /** @description Current page number */ - page?: number - /** @description Maximum number of nodes per page */ - limit?: number - /** @description Total number of pages available */ - totalPages?: number - } - } - } - /** @description Invalid input, object invalid */ - 400: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Not found */ - 404: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - GetCustomerEvents: { - parameters: { - query?: { - /** @description Page number of the nodes list */ - page?: number - /** @description Number of nodes to return per page */ - limit?: number - /** @description Event type to filter */ - filter?: string - } - header?: never - path?: never - cookie?: never - } - requestBody?: never - responses: { - /** @description A paginated list of nodes */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': { - /** @description Total number of events available */ - total?: number - events?: components['schemas']['AuditLog'][] - /** @description Current page number */ - page?: number - /** @description Maximum number of nodes per page */ - limit?: number - /** @description Total number of pages available */ - totalPages?: number - } - } - } - /** @description Invalid input, object invalid */ - 400: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Not found */ - 404: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - getWorkflowResult: { - parameters: { - query?: never - header?: never - path: { - workflowResultId: string - } - cookie?: never - } - requestBody?: never - responses: { - /** @description Commit details */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ActionJobResult'] - } - } - /** @description Commit not found */ - 404: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - listPublishersForUser: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody?: never - responses: { - /** @description A list of publishers */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['Publisher'][] - } - } - /** @description Bad request, invalid input data */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - getPermissionOnPublisher: { - parameters: { - query?: never - header?: never - path: { - publisherId: string - } - cookie?: never - } - requestBody?: never - responses: { - /** @description A list of permissions */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': { - canEdit?: boolean - } - } - } - /** @description Bad request, invalid input data */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - validatePublisher: { - parameters: { - query: { - /** @description The publisher username to validate. */ - username: string - } - header?: never - path?: never - cookie?: never - } - requestBody?: never - responses: { - /** @description Username validation result */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': { - /** @description True if the username is available, false otherwise. */ - isAvailable?: boolean - } - } - } - /** @description Invalid input, such as missing username in the query. */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - listPublishers: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody?: never - responses: { - /** @description A list of publishers */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['Publisher'][] - } - } - /** @description Bad request, invalid input data */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - createPublisher: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody: { - content: { - 'application/json': components['schemas']['Publisher'] - } - } - responses: { - /** @description Publisher created successfully */ - 201: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['Publisher'] - } - } - /** @description Bad request, invalid input data */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Unauthorized */ - 401: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Forbidden */ - 403: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - getPublisher: { - parameters: { - query?: never - header?: never - path: { - publisherId: string - } - cookie?: never - } - requestBody?: never - responses: { - /** @description Publisher retrieved successfully */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['Publisher'] - } - } - /** @description Publisher not found */ - 404: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - updatePublisher: { - parameters: { - query?: never - header?: never - path: { - publisherId: string - } - cookie?: never - } - requestBody: { - content: { - 'application/json': components['schemas']['Publisher'] - } - } - responses: { - /** @description Publisher updated successfully */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['Publisher'] - } - } - /** @description Bad request, invalid input data */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Unauthorized */ - 401: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Publisher not found */ - 404: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - deletePublisher: { - parameters: { - query?: never - header?: never - path: { - publisherId: string - } - cookie?: never - } - requestBody?: never - responses: { - /** @description Publisher deleted successfully */ - 204: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Publisher not found */ - 404: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - BanPublisher: { - parameters: { - query?: never - header?: never - path: { - publisherId: string - } - cookie?: never - } - requestBody?: never - responses: { - /** @description Publisher Banned Successfully */ - 204: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Unauthorized */ - 401: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Forbidden */ - 403: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Publisher not found */ - 404: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - claimMyNode: { - parameters: { - query?: never - header?: never - path: { - publisherId: string - nodeId: string - } - cookie?: never - } - requestBody: { - content: { - 'application/json': components['schemas']['ClaimMyNodeRequest'] - } - } - responses: { - /** @description Node claimed successfully */ - 204: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Bad request, invalid input data */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Unauthorized */ - 401: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Forbidden - various authorization and permission issues - * Includes: - * - The authenticated user does not have permission to claim the node - * - The node is already claimed by another publisher - * - The GH_TOKEN is invalid - * - The repository is not owned by the authenticated GitHub user - * */ - 403: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Too many requests - GitHub API rate limit exceeded */ - 429: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Service unavailable - GitHub API is currently unavailable */ - 503: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - listNodesForPublisherV2: { - parameters: { - query?: { - /** @description Number of nodes to return per page */ - include_banned?: boolean - /** @description Page number of the nodes list */ - page?: number - /** @description Number of nodes to return per page */ - limit?: number - } - header?: never - path: { - publisherId: string - } - cookie?: never - } - requestBody?: never - responses: { - /** @description List of all nodes */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': { - /** @description Total number of nodes available */ - total?: number - nodes?: components['schemas']['Node'][] - /** @description Current page number */ - page?: number - /** @description Maximum number of nodes per page */ - limit?: number - /** @description Total number of pages available */ - totalPages?: number - } - } - } - /** @description Bad request, invalid input data. */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - listNodesForPublisher: { - parameters: { - query?: { - /** @description Number of nodes to return per page */ - include_banned?: boolean - } - header?: never - path: { - publisherId: string - } - cookie?: never - } - requestBody?: never - responses: { - /** @description List of all nodes */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['Node'][] - } - } - /** @description Bad request, invalid input data. */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - createNode: { - parameters: { - query?: never - header?: never - path: { - publisherId: string - } - cookie?: never - } - requestBody: { - content: { - 'application/json': components['schemas']['Node'] - } - } - responses: { - /** @description Node created successfully */ - 201: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['Node'] - } - } - /** @description Bad request, invalid input data. */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Unauthorized */ - 401: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - updateNode: { - parameters: { - query?: never - header?: never - path: { - publisherId: string - nodeId: string - } - cookie?: never - } - requestBody: { - content: { - 'application/json': components['schemas']['Node'] - } - } - responses: { - /** @description Node updated successfully */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['Node'] - } - } - /** @description Bad request, invalid input data */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Unauthorized */ - 401: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Forbidden */ - 403: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Node not found */ - 404: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - deleteNode: { - parameters: { - query?: never - header?: never - path: { - publisherId: string - nodeId: string - } - cookie?: never - } - requestBody?: never - responses: { - /** @description Node deleted successfully */ - 204: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Forbidden */ - 403: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Node not found */ - 404: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - getPermissionOnPublisherNodes: { - parameters: { - query?: never - header?: never - path: { - publisherId: string - nodeId: string - } - cookie?: never - } - requestBody?: never - responses: { - /** @description A list of permissions */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': { - canEdit?: boolean - } - } - } - /** @description Bad request, invalid input data */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - publishNodeVersion: { - parameters: { - query?: never - header?: never - path: { - publisherId: string - nodeId: string - } - cookie?: never - } - requestBody: { - content: { - 'application/json': { - personal_access_token: string - node_version: components['schemas']['NodeVersion'] - node: components['schemas']['Node'] - } - } - } - responses: { - /** @description New version published successfully */ - 201: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': { - /** @description The signed URL to upload the node version token. */ - signedUrl?: string - node_version?: components['schemas']['NodeVersion'] - } - } - } - /** @description Bad request, invalid input data. */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Forbidden */ - 403: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - updateNodeVersion: { - parameters: { - query?: never - header?: never - path: { - publisherId: string - nodeId: string - versionId: string - } - cookie?: never - } - requestBody: { - content: { - 'application/json': components['schemas']['NodeVersionUpdateRequest'] - } - } - responses: { - /** @description Version updated successfully */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['NodeVersion'] - } - } - /** @description Bad request, invalid input data. */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Unauthorized */ - 401: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Forbidden */ - 403: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Version not found */ - 404: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - deleteNodeVersion: { - parameters: { - query?: never - header?: never - path: { - publisherId: string - nodeId: string - versionId: string - } - cookie?: never - } - requestBody?: never - responses: { - /** @description Version unpublished (deleted) successfully */ - 204: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Version does not belong to the publisher */ - 403: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Version not found */ - 404: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['Error'] - } - } - /** @description Version not found */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - BanPublisherNode: { - parameters: { - query?: never - header?: never - path: { - publisherId: string - nodeId: string - } - cookie?: never - } - requestBody?: never - responses: { - /** @description Node Banned Successfully */ - 204: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Unauthorized */ - 401: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Forbidden */ - 403: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Publisher or Node not found */ - 404: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - listPersonalAccessTokens: { - parameters: { - query?: never - header?: never - path: { - publisherId: string - } - cookie?: never - } - requestBody?: never - responses: { - /** @description List of all personal access tokens */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['PersonalAccessToken'][] - } - } - /** @description Forbidden */ - 403: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description No tokens found */ - 404: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - createPersonalAccessToken: { - parameters: { - query?: never - header?: never - path: { - publisherId: string - } - cookie?: never - } - requestBody: { - content: { - 'application/json': components['schemas']['PersonalAccessToken'] - } - } - responses: { - /** @description Token created successfully */ - 201: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': { - /** @description The newly created personal access token. */ - token?: string - } - } - } - /** @description Bad request, invalid input data. */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Forbidden */ - 403: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - deletePersonalAccessToken: { - parameters: { - query?: never - header?: never - path: { - publisherId: string - tokenId: string - } - cookie?: never - } - requestBody?: never - responses: { - /** @description Token deleted successfully */ - 204: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Forbidden */ - 403: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Token not found */ - 404: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - searchNodes: { - parameters: { - query?: { - /** @description Page number of the nodes list */ - page?: number - /** @description Number of nodes to return per page */ - limit?: number - /** @description Keyword to search the nodes */ - search?: string - /** @description Keyword to search the nodes by repository URL */ - repository_url_search?: string - /** @description Keyword to search the nodes by comfy node name */ - comfy_node_search?: string - /** @description Filter nodes by supported operating systems */ - supported_os?: string - /** @description Filter nodes by supported accelerator */ - supported_accelerator?: string - /** @description Number of nodes to return per page */ - include_banned?: boolean - } - header?: never - path?: never - cookie?: never - } - requestBody?: never - responses: { - /** @description A paginated list of nodes */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': { - /** @description Total number of nodes available */ - total?: number - nodes?: components['schemas']['Node'][] - /** @description Current page number */ - page?: number - /** @description Maximum number of nodes per page */ - limit?: number - /** @description Total number of pages available */ - totalPages?: number - } - } - } - /** @description Invalid input, object invalid */ - 400: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Not found */ - 404: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - reindexNodes: { - parameters: { - query?: { - /** @description Maximum number of nodes to send to algolia at a time */ - max_batch?: number - } - header?: never - path?: never - cookie?: never - } - requestBody?: never - responses: { - /** @description Reindex completed successfully. */ - 200: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Bad request. */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - updateGithubStars: { - parameters: { - query?: { - /** @description Maximum number of nodes to update in one batch */ - max_batch?: number - } - header?: never - path?: never - cookie?: never - } - requestBody?: never - responses: { - /** @description Update GithubStars request triggered successfully */ - 200: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Bad request. */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Unauthorized */ - 401: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - listAllNodes: { - parameters: { - query?: { - /** @description Page number of the nodes list */ - page?: number - /** @description Number of nodes to return per page */ - limit?: number - /** @description Filter nodes by supported operating systems */ - supported_os?: string - /** @description Filter nodes by supported accelerator */ - supported_accelerator?: string - /** @description Number of nodes to return per page */ - include_banned?: boolean - /** @description Retrieve nodes created or updated after this timestamp (ISO 8601 format) */ - timestamp?: string - /** @description Whether to fetch fresh result from database or use cached one if false */ - latest?: boolean - /** @description Database column to use as ascending ordering. Add `;desc` as suffix on each column for descending sort */ - sort?: string[] - /** @description node_id to use as filter */ - node_id?: string[] - /** @description Comfy UI version */ - comfyui_version?: string - /** @description The platform requesting the nodes */ - form_factor?: string - } - header?: never - path?: never - cookie?: never - } - requestBody?: never - responses: { - /** @description A paginated list of nodes */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': { - /** @description Total number of nodes available */ - total?: number - nodes?: components['schemas']['Node'][] - /** @description Current page number */ - page?: number - /** @description Maximum number of nodes per page */ - limit?: number - /** @description Total number of pages available */ - totalPages?: number - } - } - } - /** @description Invalid input, object invalid */ - 400: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Not found */ - 404: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - getNodeByComfyNodeName: { - parameters: { - query?: never - header?: never - path: { - /** @description The name of the ComfyUI node */ - comfyNodeName: string - } - cookie?: never - } - requestBody?: never - responses: { - /** @description Node details */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['Node'] - } - } - /** @description No node found containing the specified ComfyUI node name */ - 404: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - getNode: { - parameters: { - query?: { - /** @description Whether to include the translation or not */ - include_translations?: boolean - } - header?: never - path: { - nodeId: string - } - cookie?: never - } - requestBody?: never - responses: { - /** @description Node details */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['Node'] - } - } - /** @description Forbidden */ - 403: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Node not found */ - 404: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - postNodeReview: { - parameters: { - query: { - /** @description number of star given to the node version */ - star: number - } - header?: never - path: { - nodeId: string - } - cookie?: never - } - requestBody?: never - responses: { - /** @description Detailed information about a specific node */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['Node'] - } - } - /** @description Bad Request */ - 400: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Node version not found */ - 404: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['Error'] - } - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - installNode: { - parameters: { - query?: { - /** @description Specific version of the node to retrieve. If omitted, the latest version is returned. */ - version?: string - } - header?: never - path: { - /** @description The unique identifier of the node. */ - nodeId: string - } - cookie?: never - } - requestBody?: never - responses: { - /** @description Node data returned successfully. */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['NodeVersion'] - } - } - /** @description Invalid input, such as a bad version format. */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Forbidden */ - 403: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Node not found. */ - 404: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - CreateNodeTranslations: { - parameters: { - query?: never - header?: never - path: { - /** @description The unique identifier of the node. */ - nodeId: string - } - cookie?: never - } - requestBody: { - content: { - 'application/json': { - data?: { - [key: string]: { - [key: string]: unknown - } - } - } - } - } - responses: { - /** @description Detailed information about a specific node */ - 201: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Bad Request */ - 400: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Node version not found */ - 404: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['Error'] - } - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - listNodeVersions: { - parameters: { - query?: { - statuses?: components['schemas']['NodeVersionStatus'][] - include_status_reason?: boolean - } - header?: never - path: { - nodeId: string - } - cookie?: never - } - requestBody?: never - responses: { - /** @description List of all node versions */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['NodeVersion'][] - } - } - /** @description Node banned */ - 403: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Node not found */ - 404: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['Error'] - } - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - getNodeVersion: { - parameters: { - query?: never - header?: never - path: { - nodeId: string - /** @description The version of the node. (Not a UUID). */ - versionId: string - } - cookie?: never - } - requestBody?: never - responses: { - /** @description Detailed information about a specific node version */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['NodeVersion'] - } - } - /** @description Node version not found */ - 404: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['Error'] - } - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - getBulkNodeVersions: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody: { - content: { - 'application/json': components['schemas']['BulkNodeVersionsRequest'] - } - } - responses: { - /** @description Successfully retrieved node versions */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['BulkNodeVersionsResponse'] - } - } - /** @description Bad request, invalid input */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - listAllNodeVersions: { - parameters: { - query?: { - nodeId?: string - statuses?: components['schemas']['NodeVersionStatus'][] - include_status_reason?: boolean - /** @description The page number to retrieve. */ - page?: number - /** @description The number of items to include per page. */ - pageSize?: number - /** @description search for status_reason, case insensitive */ - status_reason?: string - } - header?: never - path?: never - cookie?: never - } - requestBody?: never - responses: { - /** @description List of all node versions */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': { - /** @description Total number of node versions available */ - total?: number - versions?: components['schemas']['NodeVersion'][] - /** @description Current page number */ - page?: number - /** @description Maximum number of node versions per page. Maximum is 100. */ - pageSize?: number - /** @description Total number of pages available */ - totalPages?: number - } - } - } - /** @description Invalid input, object invalid */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Node banned */ - 403: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - adminCreateNode: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody: { - content: { - 'application/json': components['schemas']['Node'] - } - } - responses: { - /** @description Node created successfully */ - 201: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['Node'] - } - } - /** @description Bad request, invalid input data. */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Unauthorized */ - 401: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Duplicate error. */ - 409: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - adminUpdateNode: { - parameters: { - query?: never - header?: never - path: { - nodeId: string - } - cookie?: never - } - requestBody: { - content: { - 'application/json': components['schemas']['Node'] - } - } - responses: { - /** @description Node updated successfully */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['Node'] - } - } - /** @description Bad request, invalid input data. */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Unauthorized */ - 401: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Forbidden */ - 403: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Node not found */ - 404: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - adminUpdateNodeVersion: { - parameters: { - query?: never - header?: never - path: { - nodeId: string - versionNumber: string - } - cookie?: never - } - requestBody: { - content: { - 'application/json': { - status?: components['schemas']['NodeVersionStatus'] - /** @description The reason for the status change. */ - status_reason?: string - /** @description Supported versions of ComfyUI frontend */ - supported_comfyui_frontend_version?: string - /** @description Supported versions of ComfyUI */ - supported_comfyui_version?: string - /** @description List of operating systems that this node supports */ - supported_os?: string[] - /** @description List of accelerators (e.g. CUDA, DirectML, ROCm) that this node supports */ - supported_accelerators?: string[] - } - } - } - responses: { - /** @description Version updated successfully */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['NodeVersion'] - } - } - /** @description Bad request, invalid input data. */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Unauthorized */ - 401: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Forbidden */ - 403: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Version not found */ - 404: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - getReleaseNotes: { - parameters: { - query: { - /** @description The project to get release notes for */ - project: 'comfyui' | 'comfyui_frontend' | 'desktop' - /** @description The current version to filter release notes */ - current_version?: string - /** @description The locale for the release notes */ - locale?: 'en' | 'es' | 'fr' | 'ja' | 'ko' | 'ru' | 'zh' - /** @description The platform requesting the release notes */ - form_factor?: string - } - header?: never - path?: never - cookie?: never - } - requestBody?: never - responses: { - /** @description Release notes retrieved successfully */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ReleaseNote'][] - } - } - /** @description Bad request */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - processReleaseWebhook: { - parameters: { - query?: never - header: { - /** @description The name of the event that triggered the delivery */ - 'X-GitHub-Event': 'release' - /** @description A globally unique identifier (GUID) to identify the event */ - 'X-GitHub-Delivery': string - /** @description The unique identifier of the webhook */ - 'X-GitHub-Hook-ID': string - /** @description HMAC hex digest of the request body using SHA-256 hash function */ - 'X-Hub-Signature-256'?: string - /** @description The type of resource where the webhook was created */ - 'X-GitHub-Hook-Installation-Target-Type'?: string - /** @description The unique identifier of the resource where the webhook was created */ - 'X-GitHub-Hook-Installation-Target-ID'?: string - } - path?: never - cookie?: never - } - requestBody: { - content: { - 'application/json': components['schemas']['GithubReleaseWebhook'] - } - } - responses: { - /** @description Webhook processed successfully */ - 200: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Bad request */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Validation failed or endpoint has been spammed */ - 422: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - securityScan: { - parameters: { - query?: { - minAge?: string - minSecurityScanAge?: string - maxNodes?: number - } - header?: never - path?: never - cookie?: never - } - requestBody?: never - responses: { - /** @description Scan completed successfully */ - 200: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Bad request, invalid input data. */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Unauthorized */ - 401: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Forbidden */ - 403: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - ListComfyNodes: { - parameters: { - query?: { - /** @description The page number to retrieve. */ - page?: number - /** @description The number of items to include per page. */ - limit?: number - } - header?: never - path: { - nodeId: string - version: string - } - cookie?: never - } - requestBody?: never - responses: { - /** @description Comy Nodes obtained successfully */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': { - comfy_nodes?: components['schemas']['ComfyNode'][] - totalNumberOfPages?: number - } - } - } - /** @description Unauthorized */ - 401: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Forbidden */ - 403: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Version not found */ - 404: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - CreateComfyNodes: { - parameters: { - query?: never - header?: never - path: { - nodeId: string - version: string - } - cookie?: never - } - requestBody: { - content: { - 'application/json': { - success?: boolean - status?: string - reason?: string - cloud_build_info?: components['schemas']['ComfyNodeCloudBuildInfo'] - nodes?: { - [key: string]: components['schemas']['ComfyNode'] - } - } - } - } - responses: { - /** @description Comy Nodes created successfully */ - 204: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Unauthorized */ - 401: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Forbidden */ - 403: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Version not found */ - 404: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Existing Comfy Nodes exists */ - 409: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - GetComfyNode: { - parameters: { - query?: never - header?: never - path: { - nodeId: string - version: string - comfyNodeName: string - } - cookie?: never - } - requestBody?: never - responses: { - /** @description Comy Nodes created successfully */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ComfyNode'] - } - } - /** @description Unauthorized */ - 401: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Forbidden */ - 403: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Version not found */ - 404: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - ComfyNodesBackfill: { - parameters: { - query?: { - max_node?: number - } - header?: never - path?: never - cookie?: never - } - requestBody?: never - responses: { - /** @description Backfill triggered */ - 204: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Bad request, invalid input data. */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Unauthorized */ - 401: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Forbidden */ - 403: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - dummyProxy: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody?: { - content: { - 'application/json': { - message?: string - } - } - } - responses: { - /** @description Reindex completed successfully. */ - 200: { - headers: { - [name: string]: unknown - } - content?: never - } - } - } - minimaxVideoGeneration: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody: { - content: { - 'application/json': components['schemas']['MinimaxVideoGenerationRequest'] - } - } - responses: { - /** @description Successful response from Minimax proxy */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['MinimaxVideoGenerationResponse'] - } - } - /** @description Bad Request (invalid input to proxy) */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Unauthorized */ - 401: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Payment Required */ - 402: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Rate limit exceeded (either from proxy or Minimax) */ - 429: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Internal Server Error (proxy or upstream issue) */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Bad Gateway (error communicating with Minimax) */ - 502: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Gateway Timeout (Minimax took too long to respond) */ - 504: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - getMinimaxVideoGeneration: { - parameters: { - query: { - /** @description The task ID to be queried */ - task_id: string - } - header?: never - path?: never - cookie?: never - } - requestBody?: never - responses: { - /** @description Successful response with task status */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['MinimaxTaskResultResponse'] - } - } - /** @description Bad Request (invalid input to proxy) */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Unauthorized */ - 401: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Payment Required */ - 402: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Rate limit exceeded (either from proxy or Minimax) */ - 429: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Internal Server Error (proxy or upstream issue) */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Bad Gateway (error communicating with Minimax) */ - 502: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Gateway Timeout (Minimax took too long to respond) */ - 504: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - retrieveMinimaxFile: { - parameters: { - query: { - /** @description Unique identifier for the file, obtained from the generation response */ - file_id: number - } - header?: never - path?: never - cookie?: never - } - requestBody?: never - responses: { - /** @description Successful response with file download URL */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['MinimaxFileRetrieveResponse'] - } - } - /** @description Bad Request (invalid input to proxy) */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Unauthorized */ - 401: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Payment Required */ - 402: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Rate limit exceeded (either from proxy or Minimax) */ - 429: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Internal Server Error (proxy or upstream issue) */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Bad Gateway (error communicating with Minimax) */ - 502: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Gateway Timeout (Minimax took too long to respond) */ - 504: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - ideogramGenerate: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody: { - content: { - 'application/json': components['schemas']['IdeogramGenerateRequest'] - } - } - responses: { - /** @description Successful response from Ideogram proxy */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['IdeogramGenerateResponse'] - } - } - /** @description Bad Request (invalid input to proxy) */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Unauthorized */ - 401: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Payment Required */ - 402: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Rate limit exceeded (either from proxy or Ideogram) */ - 429: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Internal Server Error (proxy or upstream issue) */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Bad Gateway (error communicating with Ideogram) */ - 502: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Gateway Timeout (Ideogram took too long to respond) */ - 504: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - ideogramV3Generate: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description Parameters for Ideogram V3 image generation */ - requestBody: { - content: { - 'application/json': components['schemas']['IdeogramV3Request'] - } - } - responses: { - /** @description Successful response from Ideogram proxy */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['IdeogramGenerateResponse'] - } - } - /** @description Internal Server Error (proxy or upstream issue) */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - ideogramV3Edit: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description Parameters for Ideogram V3 image editing */ - requestBody: { - content: { - 'multipart/form-data': components['schemas']['IdeogramV3EditRequest'] - } - } - responses: { - /** @description Successful response from Ideogram proxy */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['IdeogramGenerateResponse'] - } - } - /** @description Bad Request (invalid input to proxy) */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Unauthorized */ - 401: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Prompt or Initial Image failed the safety checks. */ - 422: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Rate limit exceeded (either from proxy or Ideogram) */ - 429: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Internal Server Error (proxy or upstream issue) */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - ideogramV3Remix: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody: { - content: { - 'multipart/form-data': components['schemas']['IdeogramV3RemixRequest'] - } - } - responses: { - /** @description Remix generated successfully */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['IdeogramV3IdeogramResponse'] - } - } - /** @description Bad Request */ - 400: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Forbidden */ - 403: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Unprocessable Entity */ - 422: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Too Many Requests */ - 429: { - headers: { - [name: string]: unknown - } - content?: never - } - } - } - ideogramV3Reframe: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody: { - content: { - 'multipart/form-data': components['schemas']['IdeogramV3ReframeRequest'] - } - } - responses: { - /** @description Reframed image successfully returned */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['IdeogramV3IdeogramResponse'] - } - } - /** @description Bad Request */ - 400: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Unauthorized */ - 401: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Unprocessable Entity */ - 422: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Too Many Requests */ - 429: { - headers: { - [name: string]: unknown - } - content?: never - } - } - } - ideogramV3ReplaceBackground: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody: { - content: { - 'multipart/form-data': components['schemas']['IdeogramV3ReplaceBackgroundRequest'] - } - } - responses: { - /** @description Background replaced successfully */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['IdeogramV3IdeogramResponse'] - } - } - /** @description Bad Request */ - 400: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Unauthorized */ - 401: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Unprocessable Entity */ - 422: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Too Many Requests */ - 429: { - headers: { - [name: string]: unknown - } - content?: never - } - } - } - klingQueryResourcePackages: { - parameters: { - query: { - start_time: number - end_time: number - resource_pack_name?: string - } - header?: never - path?: never - cookie?: never - } - requestBody?: never - responses: { - /** @description Successful response (Request successful) */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingResourcePackageResponse'] - } - } - /** @description Invalid request parameters */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Authentication failed */ - 401: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Unauthorized access to requested resource */ - 403: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Resource not found */ - 404: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Account exception or Rate limit exceeded */ - 429: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Service temporarily unavailable */ - 503: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Server timeout */ - 504: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - } - } - klingText2VideoQueryTaskList: { - parameters: { - query?: { - /** @description Page number */ - pageNum?: number - /** @description Data volume per page */ - pageSize?: number - } - header?: never - path?: never - cookie?: never - } - requestBody?: never - responses: { - /** @description Successful response (Request successful) */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingText2VideoResponse'] - } - } - /** @description Invalid request parameters */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Authentication failed */ - 401: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Unauthorized access to requested resource */ - 403: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Resource not found */ - 404: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Account exception or Rate limit exceeded */ - 429: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Service temporarily unavailable */ - 503: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Server timeout */ - 504: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - } - } - klingCreateVideoFromText: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description Create task for generating video from text */ - requestBody: { - content: { - 'application/json': components['schemas']['KlingText2VideoRequest'] - } - } - responses: { - /** @description Successful response (Request successful) */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingText2VideoResponse'] - } - } - /** @description Invalid request parameters */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Authentication failed */ - 401: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Unauthorized access to requested resource */ - 403: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Resource not found */ - 404: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Account exception or Rate limit exceeded */ - 429: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Service temporarily unavailable */ - 503: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Server timeout */ - 504: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - } - } - klingText2VideoQuerySingleTask: { - parameters: { - query?: never - header?: never - path: { - /** @description Task ID or external_task_id */ - id: string - } - cookie?: never - } - requestBody?: never - responses: { - /** @description Successful response (Request successful) */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingText2VideoResponse'] - } - } - /** @description Invalid request parameters */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Authentication failed */ - 401: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Unauthorized access to requested resource */ - 403: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Resource not found */ - 404: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Account exception or Rate limit exceeded */ - 429: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Service temporarily unavailable */ - 503: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Server timeout */ - 504: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - } - } - klingImage2VideoQueryTaskList: { - parameters: { - query?: { - /** @description Page number */ - pageNum?: number - /** @description Data volume per page */ - pageSize?: number - } - header?: never - path?: never - cookie?: never - } - requestBody?: never - responses: { - /** @description Successful response (Request successful) */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingImage2VideoResponse'] - } - } - /** @description Invalid request parameters */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Authentication failed */ - 401: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Unauthorized access to requested resource */ - 403: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Resource not found */ - 404: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Account exception or Rate limit exceeded */ - 429: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Service temporarily unavailable */ - 503: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Server timeout */ - 504: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - } - } - klingCreateVideoFromImage: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description Create task for generating video from image */ - requestBody: { - content: { - 'application/json': components['schemas']['KlingImage2VideoRequest'] - } - } - responses: { - /** @description Successful response (Request successful) */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingImage2VideoResponse'] - } - } - /** @description Invalid request parameters */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Authentication failed */ - 401: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Unauthorized access to requested resource */ - 403: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Resource not found */ - 404: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Account exception or Rate limit exceeded */ - 429: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Service temporarily unavailable */ - 503: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Server timeout */ - 504: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - } - } - klingImage2VideoQuerySingleTask: { - parameters: { - query?: never - header?: never - path: { - /** @description Task ID or external_task_id */ - id: string - } - cookie?: never - } - requestBody?: never - responses: { - /** @description Successful response (Request successful) */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingImage2VideoResponse'] - } - } - /** @description Invalid request parameters */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Authentication failed */ - 401: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Unauthorized access to requested resource */ - 403: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Resource not found */ - 404: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Account exception or Rate limit exceeded */ - 429: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Service temporarily unavailable */ - 503: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Server timeout */ - 504: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - } - } - klingVideoExtendQueryTaskList: { - parameters: { - query?: { - /** @description Page number */ - pageNum?: number - /** @description Data volume per page */ - pageSize?: number - } - header?: never - path?: never - cookie?: never - } - requestBody?: never - responses: { - /** @description Successful response (Request successful) */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingVideoExtendResponse'] - } - } - /** @description Invalid request parameters */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Authentication failed */ - 401: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Unauthorized access to requested resource */ - 403: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Resource not found */ - 404: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Account exception or Rate limit exceeded */ - 429: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Service temporarily unavailable */ - 503: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Server timeout */ - 504: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - } - } - klingExtendVideo: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description Create task for extending video duration */ - requestBody: { - content: { - 'application/json': components['schemas']['KlingVideoExtendRequest'] - } - } - responses: { - /** @description Successful response (Request successful) */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingVideoExtendResponse'] - } - } - /** @description Invalid request parameters */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Authentication failed */ - 401: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Unauthorized access to requested resource */ - 403: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Resource not found */ - 404: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Account exception or Rate limit exceeded */ - 429: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Service temporarily unavailable */ - 503: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Server timeout */ - 504: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - } - } - klingVideoExtendQuerySingleTask: { - parameters: { - query?: never - header?: never - path: { - /** @description Task ID */ - id: string - } - cookie?: never - } - requestBody?: never - responses: { - /** @description Successful response (Request successful) */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingVideoExtendResponse'] - } - } - /** @description Invalid request parameters */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Authentication failed */ - 401: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Unauthorized access to requested resource */ - 403: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Resource not found */ - 404: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Account exception or Rate limit exceeded */ - 429: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Service temporarily unavailable */ - 503: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Server timeout */ - 504: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - } - } - klingLipSyncQueryTaskList: { - parameters: { - query?: { - /** @description Page number */ - pageNum?: number - /** @description Data volume per page */ - pageSize?: number - } - header?: never - path?: never - cookie?: never - } - requestBody?: never - responses: { - /** @description Successful response (Request successful) */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingLipSyncResponse'] - } - } - /** @description Invalid request parameters */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Authentication failed */ - 401: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Unauthorized access to requested resource */ - 403: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Resource not found */ - 404: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Account exception or Rate limit exceeded */ - 429: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Service temporarily unavailable */ - 503: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Server timeout */ - 504: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - } - } - klingCreateLipSyncVideo: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description Create task for generating lip-sync video */ - requestBody: { - content: { - 'application/json': components['schemas']['KlingLipSyncRequest'] - } - } - responses: { - /** @description Successful response (Request successful) */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingLipSyncResponse'] - } - } - /** @description Invalid request parameters */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Authentication failed */ - 401: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Unauthorized access to requested resource */ - 403: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Resource not found */ - 404: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Account exception or Rate limit exceeded */ - 429: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Service temporarily unavailable */ - 503: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Server timeout */ - 504: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - } - } - klingLipSyncQuerySingleTask: { - parameters: { - query?: never - header?: never - path: { - /** @description Task ID or external_task_id */ - id: string - } - cookie?: never - } - requestBody?: never - responses: { - /** @description Successful response (Request successful) */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingLipSyncResponse'] - } - } - /** @description Invalid request parameters */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Authentication failed */ - 401: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Unauthorized access to requested resource */ - 403: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Resource not found */ - 404: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Account exception or Rate limit exceeded */ - 429: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Service temporarily unavailable */ - 503: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Server timeout */ - 504: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - } - } - klingVideoEffectsQueryTaskList: { - parameters: { - query?: { - /** @description Page number */ - pageNum?: number - /** @description Data volume per page */ - pageSize?: number - } - header?: never - path?: never - cookie?: never - } - requestBody?: never - responses: { - /** @description Successful response (Request successful) */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingVideoEffectsResponse'] - } - } - /** @description Invalid request parameters */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Authentication failed */ - 401: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Unauthorized access to requested resource */ - 403: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Resource not found */ - 404: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Account exception or Rate limit exceeded */ - 429: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Service temporarily unavailable */ - 503: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Server timeout */ - 504: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - } - } - klingCreateVideoEffects: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description Create task for generating video with effects */ - requestBody: { - content: { - 'application/json': components['schemas']['KlingVideoEffectsRequest'] - } - } - responses: { - /** @description Successful response (Request successful) */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingVideoEffectsResponse'] - } - } - /** @description Invalid request parameters */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Authentication failed */ - 401: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Unauthorized access to requested resource */ - 403: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Resource not found */ - 404: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Account exception or Rate limit exceeded */ - 429: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Service temporarily unavailable */ - 503: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Server timeout */ - 504: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - } - } - klingVideoEffectsQuerySingleTask: { - parameters: { - query?: never - header?: never - path: { - /** @description Task ID or external_task_id */ - id: string - } - cookie?: never - } - requestBody?: never - responses: { - /** @description Successful response (Request successful) */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingVideoEffectsResponse'] - } - } - /** @description Invalid request parameters */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Authentication failed */ - 401: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Unauthorized access to requested resource */ - 403: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Resource not found */ - 404: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Account exception or Rate limit exceeded */ - 429: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Service temporarily unavailable */ - 503: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Server timeout */ - 504: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - } - } - klingImageGenerationsQueryTaskList: { - parameters: { - query?: { - /** @description Page number */ - pageNum?: number - /** @description Data volume per page */ - pageSize?: number - } - header?: never - path?: never - cookie?: never - } - requestBody?: never - responses: { - /** @description Successful response (Request successful) */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingImageGenerationsResponse'] - } - } - /** @description Invalid request parameters */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Authentication failed */ - 401: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Unauthorized access to requested resource */ - 403: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Resource not found */ - 404: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Account exception or Rate limit exceeded */ - 429: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Service temporarily unavailable */ - 503: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Server timeout */ - 504: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - } - } - klingCreateImageGeneration: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description Create task for generating images */ - requestBody: { - content: { - 'application/json': components['schemas']['KlingImageGenerationsRequest'] - } - } - responses: { - /** @description Successful response (Request successful) */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingImageGenerationsResponse'] - } - } - /** @description Invalid request parameters */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Authentication failed */ - 401: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Unauthorized access to requested resource */ - 403: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Resource not found */ - 404: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Account exception or Rate limit exceeded */ - 429: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Service temporarily unavailable */ - 503: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Server timeout */ - 504: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - } - } - klingImageGenerationsQuerySingleTask: { - parameters: { - query?: never - header?: never - path: { - /** @description Task ID */ - id: string - } - cookie?: never - } - requestBody?: never - responses: { - /** @description Successful response (Request successful) */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingImageGenerationsResponse'] - } - } - /** @description Invalid request parameters */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Authentication failed */ - 401: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Unauthorized access to requested resource */ - 403: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Resource not found */ - 404: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Account exception or Rate limit exceeded */ - 429: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Service temporarily unavailable */ - 503: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Server timeout */ - 504: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - } - } - klingVirtualTryOnQueryTaskList: { - parameters: { - query?: { - /** @description Page number */ - pageNum?: number - /** @description Data volume per page */ - pageSize?: number - } - header?: never - path?: never - cookie?: never - } - requestBody?: never - responses: { - /** @description Successful response (Request successful) */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingVirtualTryOnResponse'] - } - } - /** @description Invalid request parameters */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Authentication failed */ - 401: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Unauthorized access to requested resource */ - 403: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Resource not found */ - 404: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Account exception or Rate limit exceeded */ - 429: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Service temporarily unavailable */ - 503: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Server timeout */ - 504: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - } - } - klingCreateVirtualTryOn: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description Create task for virtual try-on of clothing on human images */ - requestBody: { - content: { - 'application/json': components['schemas']['KlingVirtualTryOnRequest'] - } - } - responses: { - /** @description Successful response (Request successful) */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingVirtualTryOnResponse'] - } - } - /** @description Invalid request parameters */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Authentication failed */ - 401: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Unauthorized access to requested resource */ - 403: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Resource not found */ - 404: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Account exception or Rate limit exceeded */ - 429: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Service temporarily unavailable */ - 503: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Server timeout */ - 504: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - } - } - klingVirtualTryOnQuerySingleTask: { - parameters: { - query?: never - header?: never - path: { - /** @description Task ID */ - id: string - } - cookie?: never - } - requestBody?: never - responses: { - /** @description Successful response (Request successful) */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingVirtualTryOnResponse'] - } - } - /** @description Invalid request parameters */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Authentication failed */ - 401: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Unauthorized access to requested resource */ - 403: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Resource not found */ - 404: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Account exception or Rate limit exceeded */ - 429: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Service temporarily unavailable */ - 503: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - /** @description Server timeout */ - 504: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['KlingErrorResponse'] - } - } - } - } - bflFluxKontextProGenerate: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody: { - content: { - 'application/json': components['schemas']['BFLFluxKontextProGenerateRequest'] - } - } - responses: { - /** @description Successful response from BFL Flux Kontext Pro proxy */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['BFLFluxKontextProGenerateResponse'] - } - } - /** @description Bad Request (invalid input to proxy) */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Unauthorized */ - 401: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Payment Required */ - 402: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Rate limit exceeded (either from proxy or BFL) */ - 429: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Internal Server Error (proxy or upstream issue) */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Bad Gateway (error communicating with BFL) */ - 502: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Gateway Timeout (BFL took too long to respond) */ - 504: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - bflFluxKontextMaxGenerate: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody: { - content: { - 'application/json': components['schemas']['BFLFluxKontextMaxGenerateRequest'] - } - } - responses: { - /** @description Successful response from BFL Flux Kontext Max proxy */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['BFLFluxKontextMaxGenerateResponse'] - } - } - /** @description Bad Request (invalid input to proxy) */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Unauthorized */ - 401: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Payment Required */ - 402: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Rate limit exceeded (either from proxy or BFL) */ - 429: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Internal Server Error (proxy or upstream issue) */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Bad Gateway (error communicating with BFL) */ - 502: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Gateway Timeout (BFL took too long to respond) */ - 504: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - bflFluxPro1_1Generate: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody: { - content: { - 'application/json': components['schemas']['BFLFluxPro1_1GenerateRequest'] - } - } - responses: { - /** @description Successful response from BFL Flux Pro proxy */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['BFLFluxPro1_1GenerateResponse'] - } - } - /** @description Bad Request (invalid input to proxy) */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Unauthorized */ - 401: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Payment Required */ - 402: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Rate limit exceeded (either from proxy or BFL) */ - 429: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Internal Server Error (proxy or upstream issue) */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Bad Gateway (error communicating with BFL) */ - 502: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Gateway Timeout (BFL took too long to respond) */ - 504: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - bflFluxProGenerate: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody: { - content: { - 'application/json': components['schemas']['BFLFluxProGenerateRequest'] - } - } - responses: { - /** @description Successful response from BFL Flux Pro proxy */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['BFLFluxProGenerateResponse'] - } - } - /** @description Bad Request (invalid input to proxy) */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Unauthorized */ - 401: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Payment Required */ - 402: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Rate limit exceeded (either from proxy or BFL) */ - 429: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Internal Server Error (proxy or upstream issue) */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Bad Gateway (error communicating with BFL) */ - 502: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Gateway Timeout (BFL took too long to respond) */ - 504: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - BFLExpand_v1_flux_pro_1_0_expand_post: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody: { - content: { - 'application/json': components['schemas']['BFLFluxProExpandInputs'] - } - } - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': - | components['schemas']['BFLAsyncResponse'] - | components['schemas']['BFLAsyncWebhookResponse'] - } - } - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['BFLHTTPValidationError'] - } - } - } - } - BFLFill_v1_flux_pro_1_0_fill_post: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody: { - content: { - 'application/json': components['schemas']['BFLFluxProFillInputs'] - } - } - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': - | components['schemas']['BFLAsyncResponse'] - | components['schemas']['BFLAsyncWebhookResponse'] - } - } - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['BFLHTTPValidationError'] - } - } - } - } - BFLPro_canny_v1_flux_pro_1_0_canny_post: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody: { - content: { - 'application/json': components['schemas']['BFLCannyInputs'] - } - } - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': - | components['schemas']['BFLAsyncResponse'] - | components['schemas']['BFLAsyncWebhookResponse'] - } - } - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['BFLHTTPValidationError'] - } - } - } - } - BFLPro_depth_v1_flux_pro_1_0_depth_post: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody: { - content: { - 'application/json': components['schemas']['BFLDepthInputs'] - } - } - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': - | components['schemas']['BFLAsyncResponse'] - | components['schemas']['BFLAsyncWebhookResponse'] - } - } - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['BFLHTTPValidationError'] - } - } - } - } - lumaCreateGeneration: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description The generation request object */ - requestBody: { - content: { - 'application/json': components['schemas']['LumaGenerationRequest'] - } - } - responses: { - /** @description Generation created */ - 201: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['LumaGeneration'] - } - } - /** @description Error */ - default: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['LumaError'] - } - } - } - } - lumaGetGeneration: { - parameters: { - query?: never - header?: never - path: { - /** @description The ID of the generation */ - id: string - } - cookie?: never - } - requestBody?: never - responses: { - /** @description Generation found */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['LumaGeneration'] - } - } - /** @description Error */ - default: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['LumaError'] - } - } - } - } - lumaGenerateImage: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description The image generation request object */ - requestBody: { - content: { - 'application/json': components['schemas']['LumaImageGenerationRequest'] - } - } - responses: { - /** @description Image generated */ - 201: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['LumaGeneration'] - } - } - /** @description Error */ - default: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['LumaError'] - } - } - } - } - PixverseGenerateTextVideo: { - parameters: { - query?: never - header: { - /** @description Unique UUID for each request. */ - 'Ai-trace-id': components['parameters']['PixverseAiTraceId'] - } - path?: never - cookie?: never - } - requestBody: { - content: { - 'application/json': components['schemas']['PixverseTextVideoRequest'] - } - } - responses: { - /** @description Success */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['PixverseVideoResponse'] - } - } - /** @description Bad Request (invalid input to proxy) */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Unauthorized */ - 401: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Payment Required */ - 402: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Rate limit exceeded */ - 429: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Internal Server Error (proxy or upstream issue) */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - PixverseGenerateImageVideo: { - parameters: { - query?: never - header: { - /** @description Unique UUID for each request. */ - 'Ai-trace-id': components['parameters']['PixverseAiTraceId'] - } - path?: never - cookie?: never - } - requestBody: { - content: { - 'application/json': components['schemas']['PixverseImageVideoRequest'] - } - } - responses: { - /** @description Success */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['PixverseVideoResponse'] - } - } - /** @description Bad Request (invalid input to proxy) */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Unauthorized */ - 401: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Payment Required */ - 402: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Rate limit exceeded */ - 429: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Internal Server Error (proxy or upstream issue) */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - PixverseGenerateTransitionVideo: { - parameters: { - query?: never - header: { - /** @description Unique UUID for each request. */ - 'Ai-trace-id': components['parameters']['PixverseAiTraceId'] - } - path?: never - cookie?: never - } - requestBody: { - content: { - 'application/json': components['schemas']['PixverseTransitionVideoRequest'] - } - } - responses: { - /** @description Success */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['PixverseVideoResponse'] - } - } - /** @description Bad Request (invalid input to proxy) */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Unauthorized */ - 401: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Payment Required */ - 402: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Rate limit exceeded */ - 429: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Internal Server Error (proxy or upstream issue) */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - PixverseUploadImage: { - parameters: { - query?: never - header: { - /** @description Unique UUID for each request. */ - 'Ai-trace-id': components['parameters']['PixverseAiTraceId'] - } - path?: never - cookie?: never - } - requestBody: { - content: { - 'multipart/form-data': { - /** Format: binary */ - image?: string - } - } - } - responses: { - /** @description Image uploaded */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['PixverseImageUploadResponse'] - } - } - /** @description Bad Request (invalid input to proxy) */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Unauthorized */ - 401: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Payment Required */ - 402: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Rate limit exceeded */ - 429: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Internal Server Error (proxy or upstream issue) */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - PixverseGetVideoResult: { - parameters: { - query?: never - header: { - /** @description Unique UUID for each request. */ - 'Ai-trace-id': components['parameters']['PixverseAiTraceId'] - } - path: { - id: number - } - cookie?: never - } - requestBody?: never - responses: { - /** @description Result fetched */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['PixverseVideoResultResponse'] - } - } - } - } - metronomeZeroBalance: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody: { - content: { - 'application/json': { - /** @description the id of the webhook */ - id: string - /** @description the type of the webhook */ - type: string - properties: { - /** @description the metronome customer id */ - customer_id?: string - /** @description the customer remaining balance */ - remaining_balance?: number - } - } - } - } - responses: { - /** @description Webhook processed successfully */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['IdeogramGenerateResponse'] - } - } - /** @description Bad Request */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Unauthorized */ - 401: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Internal Server Error (proxy or upstream issue) */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - StripeInvoiceStatus: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody: { - content: { - 'application/json': components['schemas']['StripeEvent'] - } - } - responses: { - /** @description Webhook processed successfully */ - 200: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Bad Request */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Unauthorized */ - 401: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Internal Server Error (proxy or upstream issue) */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - recraftImageGeneration: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody: { - content: { - 'application/json': components['schemas']['RecraftImageGenerationRequest'] - } - } - responses: { - /** @description Successful response from Recraft proxy */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['RecraftImageGenerationResponse'] - } - } - /** @description Bad Request (invalid input to proxy) */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Unauthorized */ - 401: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Payment Required */ - 402: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Rate limit exceeded */ - 429: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Internal Server Error (proxy or upstream issue) */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Bad Gateway (error communicating with Recraft) */ - 502: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Gateway Timeout (Recraft took too long to respond) */ - 504: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - recraftVectorize: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody: { - content: { - 'multipart/form-data': { - /** - * Format: binary - * @description Image file to process - */ - file: string - } - } - } - responses: { - /** @description Background removed successfully */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['RecraftImageGenerationResponse'] - } - } - /** @description Bad request - Invalid parameters or file */ - 400: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Unauthorized - Invalid or missing API token */ - 401: { - headers: { - [name: string]: unknown - } - content?: never - } - } - } - recraftCrispUpscale: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody: { - content: { - 'multipart/form-data': { - /** - * Format: binary - * @description Image file to process - */ - file: string - } - } - } - responses: { - /** @description Background removed successfully */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['RecraftImageGenerationResponse'] - } - } - /** @description Bad request - Invalid parameters or file */ - 400: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Unauthorized - Invalid or missing API token */ - 401: { - headers: { - [name: string]: unknown - } - content?: never - } - } - } - recraftRemoveBackground: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody: { - content: { - 'multipart/form-data': { - /** - * Format: binary - * @description Image file to process - */ - file: string - } - } - } - responses: { - /** @description Background removed successfully */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': { - image?: { - /** - * Format: uri - * @description URL of the processed image - */ - url?: string - } - } - } - } - /** @description Bad request - Invalid parameters or file */ - 400: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Unauthorized - Invalid or missing API token */ - 401: { - headers: { - [name: string]: unknown - } - content?: never - } - } - } - RecraftImageToImage: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody?: { - content: { - 'multipart/form-data': components['schemas']['RecraftImageToImageRequest'] - } - } - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['RecraftGenerateImageResponse'] - } - } - } - } - RecraftInpaintImage: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody?: { - content: { - 'multipart/form-data': components['schemas']['RecraftTransformImageWithMaskRequest'] - } - } - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['RecraftGenerateImageResponse'] - } - } - } - } - RecraftReplaceBackground: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody?: { - content: { - 'multipart/form-data': components['schemas']['RecraftTransformImageWithMaskRequest'] - } - } - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['RecraftGenerateImageResponse'] - } - } - } - } - RecraftCreativeUpscale: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody?: { - content: { - 'multipart/form-data': components['schemas']['RecraftProcessImageRequest'] - } - } - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['RecraftProcessImageResponse'] - } - } - } - } - runwayImageToVideo: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody: { - content: { - 'application/json': components['schemas']['RunwayImageToVideoRequest'] - } - } - responses: { - /** @description Successful response */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['RunwayImageToVideoResponse'] - } - } - /** @description Bad request */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Unauthorized */ - 401: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Payment Required */ - 402: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - runwayGetTaskStatus: { - parameters: { - query?: never - header?: never - path: { - /** @description ID of the task to check */ - task_id: string - } - cookie?: never - } - requestBody?: never - responses: { - /** @description Successful response */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['RunwayTaskStatusResponse'] - } - } - /** @description Bad request */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Unauthorized */ - 401: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Payment Required */ - 402: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Task not found */ - 404: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - runwayTextToImage: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody: { - content: { - 'application/json': components['schemas']['RunwayTextToImageRequest'] - } - } - responses: { - /** @description Successful response */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['RunwayTextToImageResponse'] - } - } - /** @description Bad request */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Unauthorized */ - 401: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Payment Required */ - 402: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - veoGenerate: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody: { - content: { - 'application/json': components['schemas']['Veo2GenVidRequest'] - } - } - responses: { - /** @description Video generation successful */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['Veo2GenVidResponse'] - } - } - /** @description Bad request */ - 400: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Unauthorized */ - 401: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Forbidden */ - 403: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content?: never - } - } - } - veoPoll: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody: { - content: { - 'application/json': components['schemas']['Veo2GenVidPollRequest'] - } - } - responses: { - /** @description Operation status and result */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['Veo2GenVidPollResponse'] - } - } - /** @description Bad request */ - 400: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Unauthorized */ - 401: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Operation not found */ - 404: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Internal error */ - 500: { - headers: { - [name: string]: unknown - } - content?: never - } - } - } - veoGenerateNew: { - parameters: { - query?: never - header?: never - path: { - /** @description The ID of the model to use for generation */ - modelId: string - } - cookie?: never - } - requestBody: { - content: { - 'application/json': components['schemas']['VeoGenVidRequest'] - } - } - responses: { - /** @description Video generation successful */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['VeoGenVidResponse'] - } - } - /** @description Bad request */ - 400: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Unauthorized */ - 401: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Forbidden */ - 403: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content?: never - } - } - } - veoPollNew: { - parameters: { - query?: never - header?: never - path: { - /** @description The ID of the model to use for generation */ - modelId: string - } - cookie?: never - } - requestBody: { - content: { - 'application/json': components['schemas']['VeoGenVidPollRequest'] - } - } - responses: { - /** @description Operation status and result */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['VeoGenVidPollResponse'] - } - } - /** @description Bad request */ - 400: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Unauthorized */ - 401: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Operation not found */ - 404: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Internal error */ - 500: { - headers: { - [name: string]: unknown - } - content?: never - } - } - } - createOpenAIResponse: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody: { - content: { - 'application/json': components['schemas']['OpenAICreateResponse'] - } - } - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['OpenAIResponse'] - 'text/event-stream': components['schemas']['OpenAIResponseStreamEvent'] - } - } - } - } - getOpenAIResponse: { - parameters: { - query?: { - /** @description Additional fields to include in the response. See the `include` - * parameter for Response creation above for more information. - * */ - include?: components['schemas']['Includable'][] - } - header?: never - path: { - /** @description The ID of the response to retrieve. */ - id: string - } - cookie?: never - } - requestBody?: never - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['OpenAIResponse'] - } - } - } - } - openAIGenerateImage: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody: { - content: { - 'application/json': components['schemas']['OpenAIImageGenerationRequest'] - } - } - responses: { - /** @description Image generated successfully */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['OpenAIImageGenerationResponse'] - } - } - /** @description Bad request */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Unauthorized */ - 401: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Payment Required */ - 402: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - openAIEditImage: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody: { - content: { - 'multipart/form-data': components['schemas']['OpenAIImageEditRequest'] - } - } - responses: { - /** @description Image edited successfully */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['OpenAIImageGenerationResponse'] - } - } - /** @description Bad request */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - /** @description Unauthorized */ - 401: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Payment Required */ - 402: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponse'] - } - } - } - } - PikaGenerate_pikadditions_generate_pikadditions_post: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody: { - content: { - 'multipart/form-data': components['schemas']['PikaBody_generate_pikadditions_generate_pikadditions_post'] - } - } - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['PikaGenerateResponse'] - } - } - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['PikaHTTPValidationError'] - } - } - } - } - PikaGenerate_pikaswaps_generate_pikaswaps_post: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody: { - content: { - 'multipart/form-data': components['schemas']['PikaBody_generate_pikaswaps_generate_pikaswaps_post'] - } - } - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['PikaGenerateResponse'] - } - } - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['PikaHTTPValidationError'] - } - } - } - } - PikaGenerate_pikaffects_generate_pikaffects_post: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody: { - content: { - 'multipart/form-data': components['schemas']['PikaBody_generate_pikaffects_generate_pikaffects_post'] - } - } - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['PikaGenerateResponse'] - } - } - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['PikaHTTPValidationError'] - } - } - } - } - PikaGenerate_2_2_t2v_generate_2_2_t2v_post: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody: { - content: { - 'application/x-www-form-urlencoded': components['schemas']['PikaBody_generate_2_2_t2v_generate_2_2_t2v_post'] - } - } - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['PikaGenerateResponse'] - } - } - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['PikaHTTPValidationError'] - } - } - } - } - PikaGenerate_2_2_keyframe_generate_2_2_pikaframes_post: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody: { - content: { - 'multipart/form-data': components['schemas']['PikaBody_generate_2_2_keyframe_generate_2_2_pikaframes_post'] - } - } - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['PikaGenerateResponse'] - } - } - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['PikaHTTPValidationError'] - } - } - } - } - PikaGenerate_2_2_c2v_generate_2_2_pikascenes_post: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody: { - content: { - 'multipart/form-data': components['schemas']['PikaBody_generate_2_2_c2v_generate_2_2_pikascenes_post'] - } - } - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['PikaGenerateResponse'] - } - } - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['PikaHTTPValidationError'] - } - } - } - } - PikaGenerate_2_2_i2v_generate_2_2_i2v_post: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody: { - content: { - 'multipart/form-data': components['schemas']['PikaBody_generate_2_2_i2v_generate_2_2_i2v_post'] - } - } - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['PikaGenerateResponse'] - } - } - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['PikaHTTPValidationError'] - } - } - } - } - PikaGet_video_videos__video_id__get: { - parameters: { - query?: never - header?: never - path: { - video_id: string - } - cookie?: never - } - requestBody?: never - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['PikaVideoResponse'] - } - } - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['PikaHTTPValidationError'] - } - } - } - } - StabilityImageGenrationUltra: { - parameters: { - query?: never - header: { - authorization: string - 'content-type': string - accept?: 'image/*' | 'application/json' - 'stability-client-id'?: components['schemas']['StabilityStabilityClientID'] - 'stability-client-user-id'?: components['schemas']['StabilityStabilityClientUserID'] - 'stability-client-version'?: components['schemas']['StabilityStabilityClientVersion'] - } - path?: never - cookie?: never - } - requestBody?: { - content: { - 'multipart/form-data': { - /** @description What you wish to see in the output image. A strong, descriptive prompt that clearly defines elements, colors, and subjects will lead to better results. To control the weight of a given word use the format `(word:weight)`, where `word` is the word you'd like to control the weight of and `weight` is a value between 0 and 1. For example: `The sky was a crisp (blue:0.3) and (green:0.8)` would convey a sky that was blue and green, but more green than blue. */ - prompt: string - /** @description A blurb of text describing what you **do not** wish to see in the output image. This is an advanced feature. */ - negative_prompt?: string - /** - * @description Controls the aspect ratio of the generated image. - * @default 1:1 - * @enum {string} - */ - aspect_ratio?: - | '21:9' - | '16:9' - | '3:2' - | '5:4' - | '1:1' - | '4:5' - | '2:3' - | '9:16' - | '9:21' - /** - * @description A specific value that is used to guide the 'randomness' of the generation. (Omit this parameter or pass `0` to use a random seed.) - * @default 0 - */ - seed?: number - /** - * @description Dictates the `content-type` of the generated image. - * @default png - * @enum {string} - */ - output_format?: 'jpeg' | 'png' | 'webp' - /** - * Format: binary - * @description The image to use as the starting point for the generation. > **Important:** The `strength` parameter is required when `image` is provided. Supported Formats: - jpeg - png - webp Validation Rules: - Width must be between 64 and 16,384 pixels - Height must be between 64 and 16,384 pixels - Total pixel count must be at least 4,096 pixels - * @example ./some/image.png - */ - image?: string - /** - * @description Guides the image model towards a particular style. - * @enum {string} - */ - style_preset?: - | 'enhance' - | 'anime' - | 'photographic' - | 'digital-art' - | 'comic-book' - | 'fantasy-art' - | 'line-art' - | 'analog-film' - | 'neon-punk' - | 'isometric' - | 'low-poly' - | 'origami' - | 'modeling-compound' - | 'cinematic' - | '3d-model' - | 'pixel-art' - | 'tile-texture' - /** @description Sometimes referred to as _denoising_, this parameter controls how much influence the - * `image` parameter has on the generated image. A value of 0 would yield an image that - * is identical to the input. A value of 1 would be as if you passed in no image at all. - * - * > **Important:** This parameter is required when `image` is provided. */ - strength?: number - } - } - } - responses: { - /** @description Generation was successful. */ - 200: { - headers: { - /** @description A unique identifier for this request. */ - 'x-request-id'?: string - /** @description The format of the generated image. - * To receive the bytes of the image directly, specify `image/*` in the accept header. To receive the bytes base64 encoded inside of a JSON payload, specify `application/json`. */ - 'content-type'?: string - /** @description Indicates the reason the generation finished. - `SUCCESS` = successful generation. - `CONTENT_FILTERED` = successful generation, however the output violated our content moderation policy and has been blurred as a result. > **NOTE:** This header is absent on JSON encoded responses because it is present in the body as `finish_reason`. */ - 'finish-reason'?: 'SUCCESS' | 'CONTENT_FILTERED' - /** - * @description The seed used as random noise for this generation. > **NOTE:** This header is absent on JSON encoded responses because it is present in the body as `seed`. - * @example 343940597 - */ - seed?: string - [name: string]: unknown - } - content: { - /** @example The bytes of the generated jpeg */ - 'image/jpeg': string - 'application/json; type=image/jpeg': { - /** - * @description The generated image, encoded to base64. - * @example AAAAIGZ0eXBpc29tAAACAGlzb21pc28yYXZjMW1... - */ - image: string - /** - * @description The seed used as random noise for this generation. - * @default 0 - * @example 343940597 - */ - seed: number - /** - * @description The reason the generation finished. - `SUCCESS` = successful generation. - `CONTENT_FILTERED` = successful generation, however the output violated our content moderation policy and has been blurred as a result. - * @example SUCCESS - * @enum {string} - */ - finish_reason: 'SUCCESS' | 'CONTENT_FILTERED' - } - /** @example The bytes of the generated png */ - 'image/png': string - 'application/json; type=image/png': { - /** - * @description The generated image, encoded to base64. - * @example AAAAIGZ0eXBpc29tAAACAGlzb21pc28yYXZjMW1... - */ - image: string - /** - * @description The seed used as random noise for this generation. - * @default 0 - * @example 343940597 - */ - seed: number - /** - * @description The reason the generation finished. - `SUCCESS` = successful generation. - `CONTENT_FILTERED` = successful generation, however the output violated our content moderation policy and has been blurred as a result. - * @example SUCCESS - * @enum {string} - */ - finish_reason: 'SUCCESS' | 'CONTENT_FILTERED' - } - /** @example The bytes of the generated webp */ - 'image/webp': string - 'application/json; type=image/webp': { - /** - * @description The generated image, encoded to base64. - * @example AAAAIGZ0eXBpc29tAAACAGlzb21pc28yYXZjMW1... - */ - image: string - /** - * @description The seed used as random noise for this generation. - * @default 0 - * @example 343940597 - */ - seed: number - /** - * @description The reason the generation finished. - `SUCCESS` = successful generation. - `CONTENT_FILTERED` = successful generation, however the output violated our content moderation policy and has been blurred as a result. - * @example SUCCESS - * @enum {string} - */ - finish_reason: 'SUCCESS' | 'CONTENT_FILTERED' - } - } - } - /** @description Invalid parameter(s), see the `errors` field for details. */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': { - /** - * @description A unique identifier associated with this error. Please include this in any [support tickets](https://kb.stability.ai/knowledge-base/kb-tickets/new) you file, as it will greatly assist us in diagnosing the root cause of the problem. - * @example a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4 - */ - id: string - /** - * @description Short-hand name for an error, useful for discriminating between errors with the same status code. - * @example bad_request - */ - name: string - /** - * @description One or more error messages indicating what went wrong. - * @example [ - * "some-field: is required" - * ] - */ - errors: string[] - } - } - } - /** @description Your request was flagged by our content moderation system. */ - 403: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['StabilityContentModerationResponse'] - } - } - /** @description Your request was larger than 10MiB. */ - 413: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': { - /** - * @description A unique identifier associated with this error. Please include this in any [support tickets](https://kb.stability.ai/knowledge-base/kb-tickets/new) you file, as it will greatly assist us in diagnosing the root cause of the problem. - * @example a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4 - */ - id: string - /** - * @description Short-hand name for an error, useful for discriminating between errors with the same status code. - * @example bad_request - */ - name: string - /** - * @description One or more error messages indicating what went wrong. - * @example [ - * "some-field: is required" - * ] - */ - errors: string[] - } - } - } - /** @description Your request was well-formed, but rejected. See the `errors` field for details. */ - 422: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': { - /** - * @description A unique identifier associated with this error. Please include this in any [support tickets](https://kb.stability.ai/knowledge-base/kb-tickets/new) you file, as it will greatly assist us in diagnosing the root cause of the problem. - * @example a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4 - */ - id: string - /** - * @description Short-hand name for an error, useful for discriminating between errors with the same status code. - * @example bad_request - */ - name: string - /** - * @description One or more error messages indicating what went wrong. - * @example [ - * "some-field: is required" - * ] - */ - errors: string[] - } - } - } - /** @description You have made more than 150 requests in 10 seconds. */ - 429: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': { - /** - * @description A unique identifier associated with this error. Please include this in any [support tickets](https://kb.stability.ai/knowledge-base/kb-tickets/new) you file, as it will greatly assist us in diagnosing the root cause of the problem. - * @example a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4 - */ - id: string - /** - * @description Short-hand name for an error, useful for discriminating between errors with the same status code. - * @example bad_request - */ - name: string - /** - * @description One or more error messages indicating what went wrong. - * @example [ - * "some-field: is required" - * ] - */ - errors: string[] - } - } - } - /** @description An internal error occurred. If the problem persists [contact support](https://kb.stability.ai/knowledge-base/kb-tickets/new). */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': { - /** - * @description A unique identifier associated with this error. Please include this in any [support tickets](https://kb.stability.ai/knowledge-base/kb-tickets/new) you file, as it will greatly assist us in diagnosing the root cause of the problem. - * @example a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4 - */ - id: string - /** - * @description Short-hand name for an error, useful for discriminating between errors with the same status code. - * @example bad_request - */ - name: string - /** - * @description One or more error messages indicating what went wrong. - * @example [ - * "some-field: is required" - * ] - */ - errors: string[] - } - } - } - } - } - StabilityImageGenrationSD3: { - parameters: { - query?: never - header: { - authorization: string - 'content-type': string - accept?: 'image/*' | 'application/json' - 'stability-client-id'?: components['schemas']['StabilityStabilityClientID'] - 'stability-client-user-id'?: components['schemas']['StabilityStabilityClientUserID'] - 'stability-client-version'?: components['schemas']['StabilityStabilityClientVersion'] - } - path?: never - cookie?: never - } - requestBody?: { - content: { - 'multipart/form-data': components['schemas']['StabilityImageGenerationSD3_Request'] - } - } - responses: { - /** @description Generation was successful. */ - 200: { - headers: { - /** @description A unique identifier for this request. */ - 'x-request-id'?: string - /** @description The format of the generated image. - * - * To receive the bytes of the image directly, specify `image/*` in the accept header. To receive the bytes base64 encoded inside of a JSON payload, specify `application/json`. */ - 'content-type'?: string - /** @description Indicates the reason the generation finished. - * - * - `SUCCESS` = successful generation. - * - `CONTENT_FILTERED` = successful generation, however the output violated our content moderation - * policy and has been blurred as a result. - * - * > **NOTE:** This header is absent on JSON encoded responses because it is present in the body as `finish_reason`. */ - 'finish-reason'?: 'SUCCESS' | 'CONTENT_FILTERED' - /** - * @description The seed used as random noise for this generation. - * - * > **NOTE:** This header is absent on JSON encoded responses because it is present in the body as `seed`. - * @example 343940597 - */ - seed?: string - [name: string]: unknown - } - content: { - /** @example The bytes of the generated png */ - 'image/png': string - 'application/json; type=image/png': components['schemas']['StabilityImageGenrationSD3_Response_200'] - /** @example The bytes of the generated jpeg */ - 'image/jpeg': string - 'application/json; type=image/jpeg': components['schemas']['StabilityImageGenrationSD3_Response_200'] - } - } - /** @description Invalid parameter(s), see the `errors` field for details. */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['StabilityImageGenrationSD3_Response_400'] - } - } - /** @description Your request was flagged by our content moderation system. */ - 403: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['StabilityContentModerationResponse'] - } - } - /** @description Your request was larger than 10MiB. */ - 413: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['StabilityImageGenrationSD3_Response_413'] - } - } - /** @description Your request was well-formed, but rejected. See the `errors` field for details. */ - 422: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['StabilityImageGenrationSD3_Response_422'] - } - } - /** @description You have made more than 150 requests in 10 seconds. */ - 429: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['StabilityImageGenrationSD3_Response_429'] - } - } - /** @description An internal error occurred. If the problem persists [contact support](https://kb.stability.ai/knowledge-base/kb-tickets/new). */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['StabilityImageGenrationSD3_Response_500'] - } - } - } - } - StabilityImageGenrationUpscaleConservative: { - parameters: { - query?: never - header: { - authorization: string - 'content-type': string - accept?: 'image/*' | 'application/json' - 'stability-client-id'?: components['schemas']['StabilityStabilityClientID'] - 'stability-client-user-id'?: components['schemas']['StabilityStabilityClientUserID'] - 'stability-client-version'?: components['schemas']['StabilityStabilityClientVersion'] - } - path?: never - cookie?: never - } - requestBody?: { - content: { - 'multipart/form-data': components['schemas']['StabilityImageGenrationUpscaleConservative_Request'] - } - } - responses: { - /** @description Upscale was successful. */ - 200: { - headers: { - /** @description A unique identifier for this request. */ - 'x-request-id'?: string - /** @description The format of the generated image. - * - * To receive the bytes of the image directly, specify `image/*` in the accept header. To receive the bytes base64 encoded inside of a JSON payload, specify `application/json`. */ - 'content-type'?: string - /** @description Indicates the reason the generation finished. - * - * - `SUCCESS` = successful generation. - * - `CONTENT_FILTERED` = successful generation, however the output violated our content moderation - * policy and has been blurred as a result. - * - * > **NOTE:** This header is absent on JSON encoded responses because it is present in the body as `finish_reason`. */ - 'finish-reason'?: 'SUCCESS' | 'CONTENT_FILTERED' - /** - * @description The seed used as random noise for this generation. - * - * > **NOTE:** This header is absent on JSON encoded responses because it is present in the body as `seed`. - * @example 343940597 - */ - seed?: string - [name: string]: unknown - } - content: { - /** @example The bytes of the generated jpeg */ - 'image/jpeg': string - 'application/json; type=image/jpeg': components['schemas']['StabilityImageGenrationUpscaleConservative_Response_200'] - /** @example The bytes of the generated png */ - 'image/png': string - 'application/json; type=image/png': components['schemas']['StabilityImageGenrationUpscaleConservative_Response_200'] - /** @example The bytes of the generated webp */ - 'image/webp': string - 'application/json; type=image/webp': components['schemas']['StabilityImageGenrationUpscaleConservative_Response_200'] - } - } - /** @description Invalid parameter(s), see the `errors` field for details. */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['StabilityImageGenrationUpscaleConservative_Response_400'] - } - } - /** @description Your request was flagged by our content moderation system. */ - 403: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['StabilityContentModerationResponse'] - } - } - /** @description Your request was larger than 10MiB. */ - 413: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['StabilityImageGenrationUpscaleConservative_Response_413'] - } - } - /** @description Your request was well-formed, but rejected. See the `errors` field for details. */ - 422: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['StabilityImageGenrationUpscaleConservative_Response_422'] - } - } - /** @description You have made more than 150 requests in 10 seconds. */ - 429: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['StabilityImageGenrationUpscaleConservative_Response_429'] - } - } - /** @description An internal error occurred. If the problem persists [contact support](https://kb.stability.ai/knowledge-base/kb-tickets/new). */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['StabilityImageGenrationUpscaleConservative_Response_500'] - } - } - } - } - StabilityImageGenrationUpscaleCreative: { - parameters: { - query?: never - header: { - authorization: string - 'content-type': string - 'stability-client-id'?: components['schemas']['StabilityStabilityClientID'] - 'stability-client-user-id'?: components['schemas']['StabilityStabilityClientUserID'] - 'stability-client-version'?: components['schemas']['StabilityStabilityClientVersion'] - } - path?: never - cookie?: never - } - requestBody?: { - content: { - 'multipart/form-data': components['schemas']['StabilityImageGenrationUpscaleCreative_Request'] - } - } - responses: { - /** @description Upscale was started. */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['StabilityImageGenrationUpscaleCreative_Response_200'] - } - } - /** @description Invalid parameter(s), see the `errors` field for details. */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['StabilityImageGenrationUpscaleCreative_Response_400'] - } - } - /** @description Your request was flagged by our content moderation system. */ - 403: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['StabilityContentModerationResponse'] - } - } - /** @description Your request was larger than 10MiB. */ - 413: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['StabilityImageGenrationUpscaleCreative_Response_413'] - } - } - /** @description Your request was well-formed, but rejected. See the `errors` field for details. */ - 422: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['StabilityImageGenrationUpscaleCreative_Response_422'] - } - } - /** @description You have made more than 150 requests in 10 seconds. */ - 429: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['StabilityImageGenrationUpscaleCreative_Response_429'] - } - } - /** @description An internal error occurred. If the problem persists [contact support](https://kb.stability.ai/knowledge-base/kb-tickets/new). */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['StabilityImageGenrationUpscaleCreative_Response_500'] - } - } - } - } - StabilityImageGenerationUpscaleFast: { - parameters: { - query?: never - header: { - authorization: string - 'content-type': string - accept?: 'image/*' | 'application/json' - 'stability-client-id'?: components['schemas']['StabilityStabilityClientID'] - 'stability-client-user-id'?: components['schemas']['StabilityStabilityClientUserID'] - 'stability-client-version'?: components['schemas']['StabilityStabilityClientVersion'] - } - path?: never - cookie?: never - } - requestBody?: { - content: { - 'multipart/form-data': components['schemas']['StabilityImageGenrationUpscaleFast_Request'] - } - } - responses: { - /** @description Upscale was successful. */ - 200: { - headers: { - /** @description A unique identifier for this request. */ - 'x-request-id'?: string - /** @description The format of the generated image. - * - * To receive the bytes of the image directly, specify `image/*` in the accept header. To receive the bytes base64 encoded inside of a JSON payload, specify `application/json`. */ - 'content-type'?: string - /** @description Indicates the reason the generation finished. - * - * - `SUCCESS` = successful generation. - * - `CONTENT_FILTERED` = successful generation, however the output violated our content moderation - * policy and has been blurred as a result. - * - * > **NOTE:** This header is absent on JSON encoded responses because it is present in the body as `finish_reason`. */ - 'finish-reason'?: 'SUCCESS' | 'CONTENT_FILTERED' - /** - * @description The seed used as random noise for this generation. - * - * > **NOTE:** This header is absent on JSON encoded responses because it is present in the body as `seed`. - * @example 343940597 - */ - seed?: string - [name: string]: unknown - } - content: { - /** @example The bytes of the generated jpeg */ - 'image/jpeg': string - 'application/json; type=image/jpeg': components['schemas']['StabilityImageGenrationUpscaleFast_Response_200'] - /** @example The bytes of the generated png */ - 'image/png': string - 'application/json; type=image/png': components['schemas']['StabilityImageGenrationUpscaleFast_Response_200'] - /** @example The bytes of the generated webp */ - 'image/webp': string - 'application/json; type=image/webp': components['schemas']['StabilityImageGenrationUpscaleFast_Response_200'] - } - } - /** @description Invalid parameter(s), see the `errors` field for details. */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['StabilityImageGenrationUpscaleFast_Response_400'] - } - } - /** @description Your request was flagged by our content moderation system. */ - 403: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['StabilityContentModerationResponse'] - } - } - /** @description Your request was larger than 10MiB. */ - 413: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['StabilityImageGenrationUpscaleFast_Response_413'] - } - } - /** @description Your request was well-formed, but rejected. See the `errors` field for details. */ - 422: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['StabilityImageGenrationUpscaleFast_Response_422'] - } - } - /** @description You have made more than 150 requests in 10 seconds. */ - 429: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['StabilityImageGenrationUpscaleFast_Response_429'] - } - } - /** @description An internal error occurred. If the problem persists [contact support](https://kb.stability.ai/knowledge-base/kb-tickets/new). */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['StabilityImageGenrationUpscaleFast_Response_500'] - } - } - } - } - StabilityGetResult: { - parameters: { - query?: never - header?: { - /** @description Set to image/* to receive image bytes. */ - Accept?: string - } - path: { - /** @description The ID of the generation result to retrieve. */ - id: string - } - cookie?: never - } - requestBody?: never - responses: { - /** @description The generated image as JPEG bytes. */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'image/jpeg': string - 'application/json; type=image/jpeg': { - /** - * @description The generated image, encoded to base64. - * @example AAAAAIGZ0eXBpc29tAAACAGlzb21pc28yYXZjMW1... - */ - image: string - /** - * @description The seed used as random noise for this generation. - * @default 0 - * @example 343940597 - */ - seed: number - /** - * @description The reason the generation finished. - * - * - `SUCCESS` = successful generation. - * - `CONTENT_FILTERED` = successful generation, however the output violated our content moderation - * policy and has been blurred as a result. - * @example SUCCESS - * @enum {string} - */ - finish_reason: 'SUCCESS' | 'CONTENT_FILTERED' - } - /** @example The bytes of the generated png */ - 'image/png': string - 'application/json; type=image/png': { - /** - * @description The generated image, encoded to base64. - * @example AAAAAIGZ0eXBpc29tAAACAGlzb21pc28yYXZjMW1... - */ - image: string - /** - * @description The seed used as random noise for this generation. - * @default 0 - * @example 343940597 - */ - seed: number - /** - * @description The reason the generation finished. - * - * - `SUCCESS` = successful generation. - * - `CONTENT_FILTERED` = successful generation, however the output violated our content moderation - * policy and has been blurred as a result. - * @example SUCCESS - * @enum {string} - */ - finish_reason: 'SUCCESS' | 'CONTENT_FILTERED' - } - /** @example The bytes of the generated webp */ - 'image/webp': string - 'application/json; type=image/webp': { - /** - * @description The generated image, encoded to base64. - * @example AAAAAIGZ0eXBpc29tAAACAGlzb21pc28yYXZjMW1... - */ - image: string - /** - * @description The seed used as random noise for this generation. - * @default 0 - * @example 343940597 - */ - seed: number - /** - * @description The reason the generation finished. - * - * - `SUCCESS` = successful generation. - * - `CONTENT_FILTERED` = successful generation, however the output violated our content moderation - * policy and has been blurred as a result. - * @example SUCCESS - * @enum {string} - */ - finish_reason: 'SUCCESS' | 'CONTENT_FILTERED' - } - } - } - /** @description The generation is still in progress. */ - 202: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['StabilityGetResultResponse_202'] - } - } - /** @description Invalid result ID. */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['StabilityError'] - } - } - /** @description Result not found. */ - 404: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['StabilityError'] - } - } - /** @description An internal error occurred. If the problem persists [contact support](https://kb.stability.ai/knowledge-base/kb-tickets/new). */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['StabilityError'] - } - } - } - } - GeminiGenerateContent: { - parameters: { - query?: never - header?: never - path: { - /** @description Full resource name of the model. */ - model: string - } - cookie?: never - } - requestBody: { - content: { - 'application/json': components['schemas']['GeminiGenerateContentRequest'] - } - } - responses: { - /** @description Generated content response. */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['GeminiGenerateContentResponse'] - } - } - /** @description Bad Request */ - 400: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Unauthorized */ - 401: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Forbidden */ - 403: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Not Found */ - 404: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Internal Server Error */ - 500: { - headers: { - [name: string]: unknown - } - content?: never - } - } - } - ImagenGenerateImages: { - parameters: { - query?: never - header?: never - path: { - /** @description image generation model */ - model: - | 'imagen-3.0-generate-002' - | 'imagen-3.0-generate-001' - | 'imagen-3.0-fast-generate-001' - | 'imagegeneration@006' - | 'imagegeneration@005' - | 'imagegeneration@002' - } - cookie?: never - } - requestBody: { - content: { - 'application/json': components['schemas']['ImagenGenerateImageRequest'] - } - } - responses: { - /** @description Successful image generation */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ImagenGenerateImageResponse'] - } - } - /** @description Client error */ - '4XX': { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Server error */ - '5XX': { - headers: { - [name: string]: unknown - } - content?: never - } - } - } - tripoGetTask: { - parameters: { - query?: never - header?: never - path: { - task_id: string - } - cookie?: never - } - requestBody?: never - responses: { - /** @description Request successful */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': { - code: components['schemas']['TripoResponseSuccessCode'] - data: components['schemas']['TripoTask'] - } - } - } - /** @description Invalid request parameters */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['TripoErrorResponse'] - } - } - /** @description Authentication failed */ - 401: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['TripoErrorResponse'] - } - } - /** @description Unauthorized access to requested resource */ - 403: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['TripoErrorResponse'] - } - } - /** @description Resource not found */ - 404: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['TripoErrorResponse'] - } - } - /** @description Account exception or Rate limit exceeded */ - 429: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['TripoErrorResponse'] - } - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['TripoErrorResponse'] - } - } - /** @description Service temporarily unavailable */ - 503: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['TripoErrorResponse'] - } - } - /** @description Server timeout */ - 504: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['TripoErrorResponse'] - } - } - } - } - tripoUploadFile: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody?: { - content: { - 'multipart/form-data': { - /** Format: binary */ - file: string - } - } - } - responses: { - /** @description Request successful */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': { - code: components['schemas']['TripoResponseSuccessCode'] - data: { - image_token: string - } - } - } - } - /** @description Invalid request parameters */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['TripoErrorResponse'] - } - } - /** @description Authentication failed */ - 401: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['TripoErrorResponse'] - } - } - /** @description Unauthorized access to requested resource */ - 403: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['TripoErrorResponse'] - } - } - /** @description Resource not found */ - 404: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['TripoErrorResponse'] - } - } - /** @description Account exception or Rate limit exceeded */ - 429: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['TripoErrorResponse'] - } - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['TripoErrorResponse'] - } - } - /** @description Service temporarily unavailable */ - 503: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['TripoErrorResponse'] - } - } - /** @description Server timeout */ - 504: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['TripoErrorResponse'] - } - } - } - } - tripoCreateTask: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody?: { - content: { - 'application/json': - | { - type: components['schemas']['TripoTextToModel'] - prompt: string - negative_prompt?: string - model_version?: components['schemas']['TripoModelVersion'] - face_limit?: number - /** @default true */ - texture?: boolean - /** @default true */ - pbr?: boolean - text_seed?: number - model_seed?: number - texture_seed?: number - /** @default standard */ - texture_quality?: components['schemas']['TripoTextureQuality'] - style?: components['schemas']['TripoModelStyle'] - /** @default false */ - auto_size?: boolean - /** @default false */ - quad?: boolean - } - | { - type: components['schemas']['TripoImageToModel'] - file: { - type: string - file_token: string - } - model_version?: components['schemas']['TripoModelVersion'] - face_limit?: number - /** @default true */ - texture?: boolean - /** @default true */ - pbr?: boolean - model_seed?: number - texture_seed?: number - /** @default standard */ - texture_quality?: components['schemas']['TripoTextureQuality'] - /** @default original_image */ - texture_alignment?: components['schemas']['TripoTextureAlignment'] - style?: components['schemas']['TripoModelStyle'] - /** @default false */ - auto_size?: boolean - /** @default default */ - orientation?: components['schemas']['TripoOrientation'] - /** @default false */ - quad?: boolean - } - | { - type: components['schemas']['TripoMultiviewToModel'] - files: { - type: string - file_token: string - }[] - mode?: components['schemas']['TripoMultiviewMode'] - model_version?: components['schemas']['TripoModelVersion'] - /** @default false */ - orthographic_projection?: boolean - face_limit?: number - /** @default true */ - texture?: boolean - /** @default true */ - pbr?: boolean - model_seed?: number - texture_seed?: number - /** @default standard */ - texture_quality?: components['schemas']['TripoTextureQuality'] - /** @default original_image */ - texture_alignment?: components['schemas']['TripoTextureAlignment'] - /** @default false */ - auto_size?: boolean - /** @default default */ - orientation?: components['schemas']['TripoOrientation'] - /** @default false */ - quad?: boolean - } - | { - type: components['schemas']['TripoTypeTextureModel'] - /** @default true */ - texture?: boolean - /** @default true */ - pbr?: boolean - model_seed?: number - texture_seed?: number - texture_quality?: components['schemas']['TripoTextureQuality'] - /** @default original_image */ - texture_alignment?: components['schemas']['TripoTextureAlignment'] - original_model_task_id: string - } - | { - type: components['schemas']['TripoTypeRefineModel'] - draft_model_task_id: string - } - | { - type: components['schemas']['TripoTypeAnimatePrerigcheck'] - original_model_task_id: string - } - | { - type: components['schemas']['TripoTypeAnimateRig'] - original_model_task_id: string - /** @default glb */ - out_format?: components['schemas']['TripoStandardFormat'] - topology?: components['schemas']['TripoTopology'] - /** @default tripo */ - spec?: components['schemas']['TripoSpec'] - } - | { - type: components['schemas']['TripoTypeAnimateRetarget'] - original_model_task_id: string - /** @default glb */ - out_format?: components['schemas']['TripoStandardFormat'] - animation: components['schemas']['TripoAnimation'] - /** @default true */ - bake_animation?: boolean - } - | { - type: components['schemas']['TripoTypeStylizeModel'] - style: components['schemas']['TripoStylizeOptions'] - original_model_task_id: string - /** @default 80 */ - block_size?: number - } - | { - type: components['schemas']['TripoTypeConvertModel'] - format: components['schemas']['TripoConvertFormat'] - original_model_task_id: string - /** @default false */ - quad?: boolean - /** @default false */ - force_symmetry?: boolean - /** @default 10000 */ - face_limit?: number - /** @default false */ - flatten_bottom?: boolean - /** @default 0.01 */ - flatten_bottom_threshold?: number - /** @default 4096 */ - texture_size?: number - /** @default JPEG */ - texture_format?: components['schemas']['TripoTextureFormat'] - /** @default false */ - pivot_to_center_bottom?: boolean - } - } - } - responses: { - /** @description Request successful */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['TripoSuccessTask'] - } - } - /** @description Invalid request parameters */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['TripoErrorResponse'] - } - } - /** @description Authentication failed */ - 401: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['TripoErrorResponse'] - } - } - /** @description Unauthorized access to requested resource */ - 403: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['TripoErrorResponse'] - } - } - /** @description Resource not found */ - 404: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['TripoErrorResponse'] - } - } - /** @description Account exception or Rate limit exceeded */ - 429: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['TripoErrorResponse'] - } - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['TripoErrorResponse'] - } - } - /** @description Service temporarily unavailable */ - 503: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['TripoErrorResponse'] - } - } - /** @description Server timeout */ - 504: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['TripoErrorResponse'] - } - } - } - } - tripoGetBalance: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody?: never - responses: { - /** @description Request successful */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': { - code: components['schemas']['TripoResponseSuccessCode'] - data: components['schemas']['TripoBalance'] - } - } - } - /** @description Invalid request parameters */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['TripoErrorResponse'] - } - } - /** @description Authentication failed */ - 401: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['TripoErrorResponse'] - } - } - /** @description Unauthorized access to requested resource */ - 403: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['TripoErrorResponse'] - } - } - /** @description Resource not found */ - 404: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['TripoErrorResponse'] - } - } - /** @description Account exception or Rate limit exceeded */ - 429: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['TripoErrorResponse'] - } - } - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['TripoErrorResponse'] - } - } - /** @description Service temporarily unavailable */ - 503: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['TripoErrorResponse'] - } - } - /** @description Server timeout */ - 504: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['TripoErrorResponse'] - } - } - } - } - rodinGenerate3DAsset: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody: { - content: { - 'multipart/form-data': components['schemas']['Rodin3DGenerateRequest'] - } - } - responses: { - /** @description 3D generate Task submitted successfully. */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['Rodin3DGenerateResponse'] - } - } - /** @description Bad Request */ - 400: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Unauthorized */ - 401: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Forbidden */ - 403: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Not Found */ - 404: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Internal Server Error */ - 500: { - headers: { - [name: string]: unknown - } - content?: never - } - } - } - rodinCheckStatus: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody: { - content: { - 'multipart/form-data': components['schemas']['Rodin3DCheckStatusRequest'] - } - } - responses: { - /** @description Get the status of the 3D Assets generation. */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['Rodin3DCheckStatusResponse'] - } - } - /** @description Bad Request */ - 400: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Unauthorized */ - 401: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Forbidden */ - 403: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Not Found */ - 404: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Internal Server Error */ - 500: { - headers: { - [name: string]: unknown - } - content?: never - } - } - } - rodinDownload: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody: { - content: { - 'multipart/form-data': components['schemas']['Rodin3DDownloadRequest'] - } - } - responses: { - /** @description Get the download list for the Rodin 3D Assets. */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['Rodin3DDownloadResponse'] - } - } - /** @description Bad Request */ - 400: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Unauthorized */ - 401: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Forbidden */ - 403: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Not Found */ - 404: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Internal Server Error */ - 500: { - headers: { - [name: string]: unknown - } - content?: never - } - } - } - MoonvalleyGetPrompt: { - parameters: { - query?: never - header?: never - path: { - prompt_id: string - } - cookie?: never - } - requestBody?: never - responses: { - /** @description Prompt details retrieved */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['MoonvalleyPromptResponse'] - } - } - } - } - MoonvalleyTextToVideo: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody: { - content: { - 'application/json': components['schemas']['MoonvalleyTextToVideoRequest'] - } - } - responses: { - /** @description Prompt created */ - 201: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['MoonvalleyPromptResponse'] - } - } - } - } - MoonvalleyTextToImage: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody: { - content: { - 'application/json': components['schemas']['MoonvalleyTextToImageRequest'] - } - } - responses: { - /** @description Prompt created */ - 201: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['MoonvalleyPromptResponse'] - } - } - } - } - MoonvalleyImageToVideo: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody: { - content: { - 'application/json': components['schemas']['MoonvalleyImageToVideoRequest'] - } - } - responses: { - /** @description Prompt created */ - 201: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['MoonvalleyPromptResponse'] - } - } - } - } - MoonvalleyVideoToVideo: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody: { - content: { - 'application/json': components['schemas']['MoonvalleyVideoToVideoRequest'] - } - } - responses: { - /** @description Prompt created */ - 201: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['MoonvalleyPromptResponse'] - } - } - } - } - MoonvalleyVideoToVideoResize: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody: { - content: { - 'application/json': components['schemas']['MoonvalleyResizeVideoRequest'] - } - } - responses: { - /** @description Prompt created */ - 201: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['MoonvalleyPromptResponse'] - } - } - } - } - MoonvalleyUpload: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody: { - content: { - 'multipart/form-data': components['schemas']['MoonvalleyUploadFileRequest'] - } - } - responses: { - /** @description File uploaded successfully */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['MoonvalleyUploadFileResponse'] - } - } - } - } + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Too many requests - GitHub API rate limit exceeded */ + 429: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Service unavailable - GitHub API is currently unavailable */ + 503: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + listNodesForPublisherV2: { + parameters: { + query?: { + /** @description Number of nodes to return per page */ + include_banned?: boolean; + /** @description Page number of the nodes list */ + page?: number; + /** @description Number of nodes to return per page */ + limit?: number; + }; + header?: never; + path: { + publisherId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description List of all nodes */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description Total number of nodes available */ + total?: number; + nodes?: components["schemas"]["Node"][]; + /** @description Current page number */ + page?: number; + /** @description Maximum number of nodes per page */ + limit?: number; + /** @description Total number of pages available */ + totalPages?: number; + }; + }; + }; + /** @description Bad request, invalid input data. */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + listNodesForPublisher: { + parameters: { + query?: { + /** @description Number of nodes to return per page */ + include_banned?: boolean; + }; + header?: never; + path: { + publisherId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description List of all nodes */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Node"][]; + }; + }; + /** @description Bad request, invalid input data. */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + createNode: { + parameters: { + query?: never; + header?: never; + path: { + publisherId: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["Node"]; + }; + }; + responses: { + /** @description Node created successfully */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Node"]; + }; + }; + /** @description Bad request, invalid input data. */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + updateNode: { + parameters: { + query?: never; + header?: never; + path: { + publisherId: string; + nodeId: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["Node"]; + }; + }; + responses: { + /** @description Node updated successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Node"]; + }; + }; + /** @description Bad request, invalid input data */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Node not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + deleteNode: { + parameters: { + query?: never; + header?: never; + path: { + publisherId: string; + nodeId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Node deleted successfully */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Node not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + getPermissionOnPublisherNodes: { + parameters: { + query?: never; + header?: never; + path: { + publisherId: string; + nodeId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description A list of permissions */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + canEdit?: boolean; + }; + }; + }; + /** @description Bad request, invalid input data */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + publishNodeVersion: { + parameters: { + query?: never; + header?: never; + path: { + publisherId: string; + nodeId: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + personal_access_token: string; + node_version: components["schemas"]["NodeVersion"]; + node: components["schemas"]["Node"]; + }; + }; + }; + responses: { + /** @description New version published successfully */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description The signed URL to upload the node version token. */ + signedUrl?: string; + node_version?: components["schemas"]["NodeVersion"]; + }; + }; + }; + /** @description Bad request, invalid input data. */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + updateNodeVersion: { + parameters: { + query?: never; + header?: never; + path: { + publisherId: string; + nodeId: string; + versionId: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["NodeVersionUpdateRequest"]; + }; + }; + responses: { + /** @description Version updated successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["NodeVersion"]; + }; + }; + /** @description Bad request, invalid input data. */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Version not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + deleteNodeVersion: { + parameters: { + query?: never; + header?: never; + path: { + publisherId: string; + nodeId: string; + versionId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Version unpublished (deleted) successfully */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Version does not belong to the publisher */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Version not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + /** @description Version not found */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + BanPublisherNode: { + parameters: { + query?: never; + header?: never; + path: { + publisherId: string; + nodeId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Node Banned Successfully */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Publisher or Node not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + listPersonalAccessTokens: { + parameters: { + query?: never; + header?: never; + path: { + publisherId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description List of all personal access tokens */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["PersonalAccessToken"][]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description No tokens found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + createPersonalAccessToken: { + parameters: { + query?: never; + header?: never; + path: { + publisherId: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["PersonalAccessToken"]; + }; + }; + responses: { + /** @description Token created successfully */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description The newly created personal access token. */ + token?: string; + }; + }; + }; + /** @description Bad request, invalid input data. */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + deletePersonalAccessToken: { + parameters: { + query?: never; + header?: never; + path: { + publisherId: string; + tokenId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Token deleted successfully */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Token not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + searchNodes: { + parameters: { + query?: { + /** @description Page number of the nodes list */ + page?: number; + /** @description Number of nodes to return per page */ + limit?: number; + /** @description Keyword to search the nodes */ + search?: string; + /** @description Keyword to search the nodes by repository URL */ + repository_url_search?: string; + /** @description Keyword to search the nodes by comfy node name */ + comfy_node_search?: string; + /** @description Filter nodes by supported operating systems */ + supported_os?: string; + /** @description Filter nodes by supported accelerator */ + supported_accelerator?: string; + /** @description Number of nodes to return per page */ + include_banned?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description A paginated list of nodes */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description Total number of nodes available */ + total?: number; + nodes?: components["schemas"]["Node"][]; + /** @description Current page number */ + page?: number; + /** @description Maximum number of nodes per page */ + limit?: number; + /** @description Total number of pages available */ + totalPages?: number; + }; + }; + }; + /** @description Invalid input, object invalid */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + reindexNodes: { + parameters: { + query?: { + /** @description Maximum number of nodes to send to algolia at a time */ + max_batch?: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Reindex completed successfully. */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Bad request. */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + updateGithubStars: { + parameters: { + query?: { + /** @description Maximum number of nodes to update in one batch */ + max_batch?: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Update GithubStars request triggered successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Bad request. */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + listAllNodes: { + parameters: { + query?: { + /** @description Page number of the nodes list */ + page?: number; + /** @description Number of nodes to return per page */ + limit?: number; + /** @description Filter nodes by supported operating systems */ + supported_os?: string; + /** @description Filter nodes by supported accelerator */ + supported_accelerator?: string; + /** @description Number of nodes to return per page */ + include_banned?: boolean; + /** @description Retrieve nodes created or updated after this timestamp (ISO 8601 format) */ + timestamp?: string; + /** @description Whether to fetch fresh result from database or use cached one if false */ + latest?: boolean; + /** @description Database column to use as ascending ordering. Add `;desc` as suffix on each column for descending sort */ + sort?: string[]; + /** @description node_id to use as filter */ + node_id?: string[]; + /** @description Comfy UI version */ + comfyui_version?: string; + /** @description The platform requesting the nodes */ + form_factor?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description A paginated list of nodes */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description Total number of nodes available */ + total?: number; + nodes?: components["schemas"]["Node"][]; + /** @description Current page number */ + page?: number; + /** @description Maximum number of nodes per page */ + limit?: number; + /** @description Total number of pages available */ + totalPages?: number; + }; + }; + }; + /** @description Invalid input, object invalid */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + getNodeByComfyNodeName: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the ComfyUI node */ + comfyNodeName: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Node details */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Node"]; + }; + }; + /** @description No node found containing the specified ComfyUI node name */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + getNode: { + parameters: { + query?: { + /** @description Whether to include the translation or not */ + include_translations?: boolean; + }; + header?: never; + path: { + nodeId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Node details */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Node"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Node not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + postNodeReview: { + parameters: { + query: { + /** @description number of star given to the node version */ + star: number; + }; + header?: never; + path: { + nodeId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Detailed information about a specific node */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Node"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Node version not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + installNode: { + parameters: { + query?: { + /** @description Specific version of the node to retrieve. If omitted, the latest version is returned. */ + version?: string; + }; + header?: never; + path: { + /** @description The unique identifier of the node. */ + nodeId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Node data returned successfully. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["NodeVersion"]; + }; + }; + /** @description Invalid input, such as a bad version format. */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Node not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + CreateNodeTranslations: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the node. */ + nodeId: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + data?: { + [key: string]: { + [key: string]: unknown; + }; + }; + }; + }; + }; + responses: { + /** @description Detailed information about a specific node */ + 201: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Node version not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + listNodeVersions: { + parameters: { + query?: { + statuses?: components["schemas"]["NodeVersionStatus"][]; + include_status_reason?: boolean; + }; + header?: never; + path: { + nodeId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description List of all node versions */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["NodeVersion"][]; + }; + }; + /** @description Node banned */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Node not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + getNodeVersion: { + parameters: { + query?: never; + header?: never; + path: { + nodeId: string; + /** @description The version of the node. (Not a UUID). */ + versionId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Detailed information about a specific node version */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["NodeVersion"]; + }; + }; + /** @description Node version not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + getBulkNodeVersions: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["BulkNodeVersionsRequest"]; + }; + }; + responses: { + /** @description Successfully retrieved node versions */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BulkNodeVersionsResponse"]; + }; + }; + /** @description Bad request, invalid input */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + listAllNodeVersions: { + parameters: { + query?: { + nodeId?: string; + statuses?: components["schemas"]["NodeVersionStatus"][]; + include_status_reason?: boolean; + /** @description The page number to retrieve. */ + page?: number; + /** @description The number of items to include per page. */ + pageSize?: number; + /** @description search for status_reason, case insensitive */ + status_reason?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description List of all node versions */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description Total number of node versions available */ + total?: number; + versions?: components["schemas"]["NodeVersion"][]; + /** @description Current page number */ + page?: number; + /** @description Maximum number of node versions per page. Maximum is 100. */ + pageSize?: number; + /** @description Total number of pages available */ + totalPages?: number; + }; + }; + }; + /** @description Invalid input, object invalid */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Node banned */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + adminCreateNode: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["Node"]; + }; + }; + responses: { + /** @description Node created successfully */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Node"]; + }; + }; + /** @description Bad request, invalid input data. */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Duplicate error. */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + adminUpdateNode: { + parameters: { + query?: never; + header?: never; + path: { + nodeId: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["Node"]; + }; + }; + responses: { + /** @description Node updated successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Node"]; + }; + }; + /** @description Bad request, invalid input data. */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Node not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + adminUpdateNodeVersion: { + parameters: { + query?: never; + header?: never; + path: { + nodeId: string; + versionNumber: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + status?: components["schemas"]["NodeVersionStatus"]; + /** @description The reason for the status change. */ + status_reason?: string; + /** @description Supported versions of ComfyUI frontend */ + supported_comfyui_frontend_version?: string; + /** @description Supported versions of ComfyUI */ + supported_comfyui_version?: string; + /** @description List of operating systems that this node supports */ + supported_os?: string[]; + /** @description List of accelerators (e.g. CUDA, DirectML, ROCm) that this node supports */ + supported_accelerators?: string[]; + }; + }; + }; + responses: { + /** @description Version updated successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["NodeVersion"]; + }; + }; + /** @description Bad request, invalid input data. */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Version not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + getReleaseNotes: { + parameters: { + query: { + /** @description The project to get release notes for */ + project: "comfyui" | "comfyui_frontend" | "desktop"; + /** @description The current version to filter release notes */ + current_version?: string; + /** @description The locale for the release notes */ + locale?: "en" | "es" | "fr" | "ja" | "ko" | "ru" | "zh"; + /** @description The platform requesting the release notes */ + form_factor?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Release notes retrieved successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ReleaseNote"][]; + }; + }; + /** @description Bad request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + processReleaseWebhook: { + parameters: { + query?: never; + header: { + /** @description The name of the event that triggered the delivery */ + "X-GitHub-Event": "release"; + /** @description A globally unique identifier (GUID) to identify the event */ + "X-GitHub-Delivery": string; + /** @description The unique identifier of the webhook */ + "X-GitHub-Hook-ID": string; + /** @description HMAC hex digest of the request body using SHA-256 hash function */ + "X-Hub-Signature-256"?: string; + /** @description The type of resource where the webhook was created */ + "X-GitHub-Hook-Installation-Target-Type"?: string; + /** @description The unique identifier of the resource where the webhook was created */ + "X-GitHub-Hook-Installation-Target-ID"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["GithubReleaseWebhook"]; + }; + }; + responses: { + /** @description Webhook processed successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Bad request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Validation failed or endpoint has been spammed */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + securityScan: { + parameters: { + query?: { + minAge?: string; + minSecurityScanAge?: string; + maxNodes?: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Scan completed successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Bad request, invalid input data. */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + ListComfyNodes: { + parameters: { + query?: { + /** @description The page number to retrieve. */ + page?: number; + /** @description The number of items to include per page. */ + limit?: number; + }; + header?: never; + path: { + nodeId: string; + version: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Comy Nodes obtained successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + comfy_nodes?: components["schemas"]["ComfyNode"][]; + totalNumberOfPages?: number; + }; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Version not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + CreateComfyNodes: { + parameters: { + query?: never; + header?: never; + path: { + nodeId: string; + version: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + success?: boolean; + status?: string; + reason?: string; + cloud_build_info?: components["schemas"]["ComfyNodeCloudBuildInfo"]; + nodes?: { + [key: string]: components["schemas"]["ComfyNode"]; + }; + }; + }; + }; + responses: { + /** @description Comy Nodes created successfully */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Version not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Existing Comfy Nodes exists */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + GetComfyNode: { + parameters: { + query?: never; + header?: never; + path: { + nodeId: string; + version: string; + comfyNodeName: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Comy Nodes created successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ComfyNode"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Version not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + UpdateComfyNode: { + parameters: { + query?: never; + header?: never; + path: { + nodeId: string; + version: string; + comfyNodeName: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["ComfyNodeUpdateRequest"]; + }; + }; + responses: { + /** @description Comfy Node updated successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ComfyNode"]; + }; + }; + /** @description Bad request, invalid input data */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description ComfyNode not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + ListAllComfyNodes: { + parameters: { + query?: { + pageSize?: number; + /** @description Page number (1-based indexing) */ + page?: number; + /** @description Filter by node ID */ + node_id?: string; + /** @description Filter by node version */ + node_version?: string; + /** @description Filter by ComfyUI node name */ + comfy_node_name?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + comfy_nodes?: components["schemas"]["ComfyNode"][]; + /** @description Total number of comfy nodes */ + total?: number; + }; + }; + }; + /** @description Bad request, invalid input data. */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + ComfyNodesBackfill: { + parameters: { + query?: { + max_node?: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Backfill triggered */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Bad request, invalid input data. */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + dummyProxy: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + message?: string; + }; + }; + }; + responses: { + /** @description Reindex completed successfully. */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + minimaxVideoGeneration: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["MinimaxVideoGenerationRequest"]; + }; + }; + responses: { + /** @description Successful response from Minimax proxy */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MinimaxVideoGenerationResponse"]; + }; + }; + /** @description Bad Request (invalid input to proxy) */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Payment Required */ + 402: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Rate limit exceeded (either from proxy or Minimax) */ + 429: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Internal Server Error (proxy or upstream issue) */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Bad Gateway (error communicating with Minimax) */ + 502: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Gateway Timeout (Minimax took too long to respond) */ + 504: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + getMinimaxVideoGeneration: { + parameters: { + query: { + /** @description The task ID to be queried */ + task_id: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful response with task status */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MinimaxTaskResultResponse"]; + }; + }; + /** @description Bad Request (invalid input to proxy) */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Payment Required */ + 402: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Rate limit exceeded (either from proxy or Minimax) */ + 429: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Internal Server Error (proxy or upstream issue) */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Bad Gateway (error communicating with Minimax) */ + 502: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Gateway Timeout (Minimax took too long to respond) */ + 504: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + retrieveMinimaxFile: { + parameters: { + query: { + /** @description Unique identifier for the file, obtained from the generation response */ + file_id: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful response with file download URL */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MinimaxFileRetrieveResponse"]; + }; + }; + /** @description Bad Request (invalid input to proxy) */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Payment Required */ + 402: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Rate limit exceeded (either from proxy or Minimax) */ + 429: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Internal Server Error (proxy or upstream issue) */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Bad Gateway (error communicating with Minimax) */ + 502: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Gateway Timeout (Minimax took too long to respond) */ + 504: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + ideogramGenerate: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["IdeogramGenerateRequest"]; + }; + }; + responses: { + /** @description Successful response from Ideogram proxy */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["IdeogramGenerateResponse"]; + }; + }; + /** @description Bad Request (invalid input to proxy) */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Payment Required */ + 402: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Rate limit exceeded (either from proxy or Ideogram) */ + 429: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Internal Server Error (proxy or upstream issue) */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Bad Gateway (error communicating with Ideogram) */ + 502: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Gateway Timeout (Ideogram took too long to respond) */ + 504: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + ideogramV3Generate: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Parameters for Ideogram V3 image generation */ + requestBody: { + content: { + "application/json": components["schemas"]["IdeogramV3Request"]; + }; + }; + responses: { + /** @description Successful response from Ideogram proxy */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["IdeogramGenerateResponse"]; + }; + }; + /** @description Internal Server Error (proxy or upstream issue) */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + ideogramV3Edit: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Parameters for Ideogram V3 image editing */ + requestBody: { + content: { + "multipart/form-data": components["schemas"]["IdeogramV3EditRequest"]; + }; + }; + responses: { + /** @description Successful response from Ideogram proxy */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["IdeogramGenerateResponse"]; + }; + }; + /** @description Bad Request (invalid input to proxy) */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Prompt or Initial Image failed the safety checks. */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Rate limit exceeded (either from proxy or Ideogram) */ + 429: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal Server Error (proxy or upstream issue) */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + ideogramV3Remix: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "multipart/form-data": components["schemas"]["IdeogramV3RemixRequest"]; + }; + }; + responses: { + /** @description Remix generated successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["IdeogramV3IdeogramResponse"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unprocessable Entity */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Too Many Requests */ + 429: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + ideogramV3Reframe: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "multipart/form-data": components["schemas"]["IdeogramV3ReframeRequest"]; + }; + }; + responses: { + /** @description Reframed image successfully returned */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["IdeogramV3IdeogramResponse"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unprocessable Entity */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Too Many Requests */ + 429: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + ideogramV3ReplaceBackground: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "multipart/form-data": components["schemas"]["IdeogramV3ReplaceBackgroundRequest"]; + }; + }; + responses: { + /** @description Background replaced successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["IdeogramV3IdeogramResponse"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unprocessable Entity */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Too Many Requests */ + 429: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + klingQueryResourcePackages: { + parameters: { + query: { + start_time: number; + end_time: number; + resource_pack_name?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful response (Request successful) */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingResourcePackageResponse"]; + }; + }; + /** @description Invalid request parameters */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Authentication failed */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Unauthorized access to requested resource */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Resource not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Account exception or Rate limit exceeded */ + 429: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Service temporarily unavailable */ + 503: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Server timeout */ + 504: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + }; + }; + klingText2VideoQueryTaskList: { + parameters: { + query?: { + /** @description Page number */ + pageNum?: number; + /** @description Data volume per page */ + pageSize?: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful response (Request successful) */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingText2VideoResponse"]; + }; + }; + /** @description Invalid request parameters */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Authentication failed */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Unauthorized access to requested resource */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Resource not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Account exception or Rate limit exceeded */ + 429: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Service temporarily unavailable */ + 503: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Server timeout */ + 504: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + }; + }; + klingCreateVideoFromText: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Create task for generating video from text */ + requestBody: { + content: { + "application/json": components["schemas"]["KlingText2VideoRequest"]; + }; + }; + responses: { + /** @description Successful response (Request successful) */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingText2VideoResponse"]; + }; + }; + /** @description Invalid request parameters */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Authentication failed */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Unauthorized access to requested resource */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Resource not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Account exception or Rate limit exceeded */ + 429: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Service temporarily unavailable */ + 503: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Server timeout */ + 504: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + }; + }; + klingText2VideoQuerySingleTask: { + parameters: { + query?: never; + header?: never; + path: { + /** @description Task ID or external_task_id */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful response (Request successful) */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingText2VideoResponse"]; + }; + }; + /** @description Invalid request parameters */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Authentication failed */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Unauthorized access to requested resource */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Resource not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Account exception or Rate limit exceeded */ + 429: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Service temporarily unavailable */ + 503: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Server timeout */ + 504: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + }; + }; + klingImage2VideoQueryTaskList: { + parameters: { + query?: { + /** @description Page number */ + pageNum?: number; + /** @description Data volume per page */ + pageSize?: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful response (Request successful) */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingImage2VideoResponse"]; + }; + }; + /** @description Invalid request parameters */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Authentication failed */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Unauthorized access to requested resource */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Resource not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Account exception or Rate limit exceeded */ + 429: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Service temporarily unavailable */ + 503: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Server timeout */ + 504: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + }; + }; + klingCreateVideoFromImage: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Create task for generating video from image */ + requestBody: { + content: { + "application/json": components["schemas"]["KlingImage2VideoRequest"]; + }; + }; + responses: { + /** @description Successful response (Request successful) */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingImage2VideoResponse"]; + }; + }; + /** @description Invalid request parameters */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Authentication failed */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Unauthorized access to requested resource */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Resource not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Account exception or Rate limit exceeded */ + 429: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Service temporarily unavailable */ + 503: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Server timeout */ + 504: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + }; + }; + klingImage2VideoQuerySingleTask: { + parameters: { + query?: never; + header?: never; + path: { + /** @description Task ID or external_task_id */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful response (Request successful) */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingImage2VideoResponse"]; + }; + }; + /** @description Invalid request parameters */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Authentication failed */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Unauthorized access to requested resource */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Resource not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Account exception or Rate limit exceeded */ + 429: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Service temporarily unavailable */ + 503: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Server timeout */ + 504: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + }; + }; + klingVideoExtendQueryTaskList: { + parameters: { + query?: { + /** @description Page number */ + pageNum?: number; + /** @description Data volume per page */ + pageSize?: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful response (Request successful) */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingVideoExtendResponse"]; + }; + }; + /** @description Invalid request parameters */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Authentication failed */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Unauthorized access to requested resource */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Resource not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Account exception or Rate limit exceeded */ + 429: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Service temporarily unavailable */ + 503: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Server timeout */ + 504: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + }; + }; + klingExtendVideo: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Create task for extending video duration */ + requestBody: { + content: { + "application/json": components["schemas"]["KlingVideoExtendRequest"]; + }; + }; + responses: { + /** @description Successful response (Request successful) */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingVideoExtendResponse"]; + }; + }; + /** @description Invalid request parameters */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Authentication failed */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Unauthorized access to requested resource */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Resource not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Account exception or Rate limit exceeded */ + 429: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Service temporarily unavailable */ + 503: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Server timeout */ + 504: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + }; + }; + klingVideoExtendQuerySingleTask: { + parameters: { + query?: never; + header?: never; + path: { + /** @description Task ID */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful response (Request successful) */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingVideoExtendResponse"]; + }; + }; + /** @description Invalid request parameters */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Authentication failed */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Unauthorized access to requested resource */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Resource not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Account exception or Rate limit exceeded */ + 429: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Service temporarily unavailable */ + 503: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Server timeout */ + 504: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + }; + }; + klingLipSyncQueryTaskList: { + parameters: { + query?: { + /** @description Page number */ + pageNum?: number; + /** @description Data volume per page */ + pageSize?: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful response (Request successful) */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingLipSyncResponse"]; + }; + }; + /** @description Invalid request parameters */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Authentication failed */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Unauthorized access to requested resource */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Resource not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Account exception or Rate limit exceeded */ + 429: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Service temporarily unavailable */ + 503: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Server timeout */ + 504: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + }; + }; + klingCreateLipSyncVideo: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Create task for generating lip-sync video */ + requestBody: { + content: { + "application/json": components["schemas"]["KlingLipSyncRequest"]; + }; + }; + responses: { + /** @description Successful response (Request successful) */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingLipSyncResponse"]; + }; + }; + /** @description Invalid request parameters */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Authentication failed */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Unauthorized access to requested resource */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Resource not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Account exception or Rate limit exceeded */ + 429: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Service temporarily unavailable */ + 503: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Server timeout */ + 504: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + }; + }; + klingLipSyncQuerySingleTask: { + parameters: { + query?: never; + header?: never; + path: { + /** @description Task ID or external_task_id */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful response (Request successful) */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingLipSyncResponse"]; + }; + }; + /** @description Invalid request parameters */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Authentication failed */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Unauthorized access to requested resource */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Resource not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Account exception or Rate limit exceeded */ + 429: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Service temporarily unavailable */ + 503: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Server timeout */ + 504: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + }; + }; + klingVideoEffectsQueryTaskList: { + parameters: { + query?: { + /** @description Page number */ + pageNum?: number; + /** @description Data volume per page */ + pageSize?: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful response (Request successful) */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingVideoEffectsResponse"]; + }; + }; + /** @description Invalid request parameters */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Authentication failed */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Unauthorized access to requested resource */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Resource not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Account exception or Rate limit exceeded */ + 429: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Service temporarily unavailable */ + 503: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Server timeout */ + 504: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + }; + }; + klingCreateVideoEffects: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Create task for generating video with effects */ + requestBody: { + content: { + "application/json": components["schemas"]["KlingVideoEffectsRequest"]; + }; + }; + responses: { + /** @description Successful response (Request successful) */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingVideoEffectsResponse"]; + }; + }; + /** @description Invalid request parameters */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Authentication failed */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Unauthorized access to requested resource */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Resource not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Account exception or Rate limit exceeded */ + 429: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Service temporarily unavailable */ + 503: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Server timeout */ + 504: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + }; + }; + klingVideoEffectsQuerySingleTask: { + parameters: { + query?: never; + header?: never; + path: { + /** @description Task ID or external_task_id */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful response (Request successful) */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingVideoEffectsResponse"]; + }; + }; + /** @description Invalid request parameters */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Authentication failed */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Unauthorized access to requested resource */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Resource not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Account exception or Rate limit exceeded */ + 429: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Service temporarily unavailable */ + 503: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Server timeout */ + 504: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + }; + }; + klingImageGenerationsQueryTaskList: { + parameters: { + query?: { + /** @description Page number */ + pageNum?: number; + /** @description Data volume per page */ + pageSize?: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful response (Request successful) */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingImageGenerationsResponse"]; + }; + }; + /** @description Invalid request parameters */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Authentication failed */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Unauthorized access to requested resource */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Resource not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Account exception or Rate limit exceeded */ + 429: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Service temporarily unavailable */ + 503: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Server timeout */ + 504: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + }; + }; + klingCreateImageGeneration: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Create task for generating images */ + requestBody: { + content: { + "application/json": components["schemas"]["KlingImageGenerationsRequest"]; + }; + }; + responses: { + /** @description Successful response (Request successful) */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingImageGenerationsResponse"]; + }; + }; + /** @description Invalid request parameters */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Authentication failed */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Unauthorized access to requested resource */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Resource not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Account exception or Rate limit exceeded */ + 429: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Service temporarily unavailable */ + 503: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Server timeout */ + 504: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + }; + }; + klingImageGenerationsQuerySingleTask: { + parameters: { + query?: never; + header?: never; + path: { + /** @description Task ID */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful response (Request successful) */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingImageGenerationsResponse"]; + }; + }; + /** @description Invalid request parameters */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Authentication failed */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Unauthorized access to requested resource */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Resource not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Account exception or Rate limit exceeded */ + 429: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Service temporarily unavailable */ + 503: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Server timeout */ + 504: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + }; + }; + klingVirtualTryOnQueryTaskList: { + parameters: { + query?: { + /** @description Page number */ + pageNum?: number; + /** @description Data volume per page */ + pageSize?: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful response (Request successful) */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingVirtualTryOnResponse"]; + }; + }; + /** @description Invalid request parameters */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Authentication failed */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Unauthorized access to requested resource */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Resource not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Account exception or Rate limit exceeded */ + 429: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Service temporarily unavailable */ + 503: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Server timeout */ + 504: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + }; + }; + klingCreateVirtualTryOn: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Create task for virtual try-on of clothing on human images */ + requestBody: { + content: { + "application/json": components["schemas"]["KlingVirtualTryOnRequest"]; + }; + }; + responses: { + /** @description Successful response (Request successful) */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingVirtualTryOnResponse"]; + }; + }; + /** @description Invalid request parameters */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Authentication failed */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Unauthorized access to requested resource */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Resource not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Account exception or Rate limit exceeded */ + 429: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Service temporarily unavailable */ + 503: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Server timeout */ + 504: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + }; + }; + klingVirtualTryOnQuerySingleTask: { + parameters: { + query?: never; + header?: never; + path: { + /** @description Task ID */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful response (Request successful) */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingVirtualTryOnResponse"]; + }; + }; + /** @description Invalid request parameters */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Authentication failed */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Unauthorized access to requested resource */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Resource not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Account exception or Rate limit exceeded */ + 429: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Service temporarily unavailable */ + 503: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + /** @description Server timeout */ + 504: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KlingErrorResponse"]; + }; + }; + }; + }; + ltxCreateVideoFromText: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Create video from text prompt */ + requestBody: { + content: { + "application/json": components["schemas"]["LTXText2VideoRequest"]; + }; + }; + responses: { + /** @description Video generated successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "video/mp4": string; + }; + }; + /** @description Error 4xx/5xx */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + ltxCreateVideoFromImage: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Create video from image */ + requestBody: { + content: { + "application/json": components["schemas"]["LTXImage2VideoRequest"]; + }; + }; + responses: { + /** @description Video generated successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "video/mp4": string; + }; + }; + /** @description Error 4xx/5xx */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + bflFluxKontextProGenerate: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["BFLFluxKontextProGenerateRequest"]; + }; + }; + responses: { + /** @description Successful response from BFL Flux Kontext Pro proxy */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BFLFluxKontextProGenerateResponse"]; + }; + }; + /** @description Bad Request (invalid input to proxy) */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Payment Required */ + 402: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Rate limit exceeded (either from proxy or BFL) */ + 429: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Internal Server Error (proxy or upstream issue) */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Bad Gateway (error communicating with BFL) */ + 502: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Gateway Timeout (BFL took too long to respond) */ + 504: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + bflFluxKontextMaxGenerate: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["BFLFluxKontextMaxGenerateRequest"]; + }; + }; + responses: { + /** @description Successful response from BFL Flux Kontext Max proxy */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BFLFluxKontextMaxGenerateResponse"]; + }; + }; + /** @description Bad Request (invalid input to proxy) */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Payment Required */ + 402: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Rate limit exceeded (either from proxy or BFL) */ + 429: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Internal Server Error (proxy or upstream issue) */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Bad Gateway (error communicating with BFL) */ + 502: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Gateway Timeout (BFL took too long to respond) */ + 504: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + bflFluxPro1_1Generate: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["BFLFluxPro1_1GenerateRequest"]; + }; + }; + responses: { + /** @description Successful response from BFL Flux Pro proxy */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BFLFluxPro1_1GenerateResponse"]; + }; + }; + /** @description Bad Request (invalid input to proxy) */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Payment Required */ + 402: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Rate limit exceeded (either from proxy or BFL) */ + 429: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Internal Server Error (proxy or upstream issue) */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Bad Gateway (error communicating with BFL) */ + 502: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Gateway Timeout (BFL took too long to respond) */ + 504: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + bflFluxProGenerate: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["BFLFluxProGenerateRequest"]; + }; + }; + responses: { + /** @description Successful response from BFL Flux Pro proxy */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BFLFluxProGenerateResponse"]; + }; + }; + /** @description Bad Request (invalid input to proxy) */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Payment Required */ + 402: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Rate limit exceeded (either from proxy or BFL) */ + 429: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Internal Server Error (proxy or upstream issue) */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Bad Gateway (error communicating with BFL) */ + 502: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Gateway Timeout (BFL took too long to respond) */ + 504: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + BFLExpand_v1_flux_pro_1_0_expand_post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["BFLFluxProExpandInputs"]; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BFLAsyncResponse"] | components["schemas"]["BFLAsyncWebhookResponse"]; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BFLHTTPValidationError"]; + }; + }; + }; + }; + BFLFill_v1_flux_pro_1_0_fill_post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["BFLFluxProFillInputs"]; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BFLAsyncResponse"] | components["schemas"]["BFLAsyncWebhookResponse"]; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BFLHTTPValidationError"]; + }; + }; + }; + }; + BFLPro_canny_v1_flux_pro_1_0_canny_post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["BFLCannyInputs"]; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BFLAsyncResponse"] | components["schemas"]["BFLAsyncWebhookResponse"]; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BFLHTTPValidationError"]; + }; + }; + }; + }; + BFLPro_depth_v1_flux_pro_1_0_depth_post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["BFLDepthInputs"]; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BFLAsyncResponse"] | components["schemas"]["BFLAsyncWebhookResponse"]; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BFLHTTPValidationError"]; + }; + }; + }; + }; + lumaCreateGeneration: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description The generation request object */ + requestBody: { + content: { + "application/json": components["schemas"]["LumaGenerationRequest"]; + }; + }; + responses: { + /** @description Generation created */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["LumaGeneration"]; + }; + }; + /** @description Error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["LumaError"]; + }; + }; + }; + }; + lumaGetGeneration: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The ID of the generation */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Generation found */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["LumaGeneration"]; + }; + }; + /** @description Error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["LumaError"]; + }; + }; + }; + }; + lumaGenerateImage: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description The image generation request object */ + requestBody: { + content: { + "application/json": components["schemas"]["LumaImageGenerationRequest"]; + }; + }; + responses: { + /** @description Image generated */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["LumaGeneration"]; + }; + }; + /** @description Error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["LumaError"]; + }; + }; + }; + }; + PixverseGenerateTextVideo: { + parameters: { + query?: never; + header: { + /** @description Unique UUID for each request. */ + "Ai-trace-id": components["parameters"]["PixverseAiTraceId"]; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["PixverseTextVideoRequest"]; + }; + }; + responses: { + /** @description Success */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["PixverseVideoResponse"]; + }; + }; + /** @description Bad Request (invalid input to proxy) */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Payment Required */ + 402: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Rate limit exceeded */ + 429: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Internal Server Error (proxy or upstream issue) */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + PixverseGenerateImageVideo: { + parameters: { + query?: never; + header: { + /** @description Unique UUID for each request. */ + "Ai-trace-id": components["parameters"]["PixverseAiTraceId"]; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["PixverseImageVideoRequest"]; + }; + }; + responses: { + /** @description Success */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["PixverseVideoResponse"]; + }; + }; + /** @description Bad Request (invalid input to proxy) */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Payment Required */ + 402: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Rate limit exceeded */ + 429: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Internal Server Error (proxy or upstream issue) */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + PixverseGenerateTransitionVideo: { + parameters: { + query?: never; + header: { + /** @description Unique UUID for each request. */ + "Ai-trace-id": components["parameters"]["PixverseAiTraceId"]; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["PixverseTransitionVideoRequest"]; + }; + }; + responses: { + /** @description Success */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["PixverseVideoResponse"]; + }; + }; + /** @description Bad Request (invalid input to proxy) */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Payment Required */ + 402: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Rate limit exceeded */ + 429: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Internal Server Error (proxy or upstream issue) */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + PixverseUploadImage: { + parameters: { + query?: never; + header: { + /** @description Unique UUID for each request. */ + "Ai-trace-id": components["parameters"]["PixverseAiTraceId"]; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "multipart/form-data": { + /** Format: binary */ + image?: string; + }; + }; + }; + responses: { + /** @description Image uploaded */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["PixverseImageUploadResponse"]; + }; + }; + /** @description Bad Request (invalid input to proxy) */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Payment Required */ + 402: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Rate limit exceeded */ + 429: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Internal Server Error (proxy or upstream issue) */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + PixverseGetVideoResult: { + parameters: { + query?: never; + header: { + /** @description Unique UUID for each request. */ + "Ai-trace-id": components["parameters"]["PixverseAiTraceId"]; + }; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Result fetched */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["PixverseVideoResultResponse"]; + }; + }; + }; + }; + metronomeZeroBalance: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description the id of the webhook */ + id: string; + /** @description the type of the webhook */ + type: string; + properties: { + /** @description the metronome customer id */ + customer_id?: string; + /** @description the customer remaining balance */ + remaining_balance?: number; + }; + }; + }; + }; + responses: { + /** @description Webhook processed succesfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["IdeogramGenerateResponse"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal Server Error (proxy or upstream issue) */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + StripeInvoiceStatus: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["StripeEvent"]; + }; + }; + responses: { + /** @description Webhook processed successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal Server Error (proxy or upstream issue) */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + StripeSubscriptionWebhook: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": Record; + }; + }; + responses: { + /** @description Webhook processed successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal Server Error (proxy or upstream issue) */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + recraftImageGeneration: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["RecraftImageGenerationRequest"]; + }; + }; + responses: { + /** @description Successful response from Recraft proxy */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["RecraftImageGenerationResponse"]; + }; + }; + /** @description Bad Request (invalid input to proxy) */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Payment Required */ + 402: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Rate limit exceeded */ + 429: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Internal Server Error (proxy or upstream issue) */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Bad Gateway (error communicating with Recraft) */ + 502: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Gateway Timeout (Recraft took too long to respond) */ + 504: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + recraftVectorize: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "multipart/form-data": { + /** + * Format: binary + * @description Image file to process + */ + file: string; + }; + }; + }; + responses: { + /** @description Background removed successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["RecraftImageGenerationResponse"]; + }; + }; + /** @description Bad request - Invalid parameters or file */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized - Invalid or missing API token */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + recraftCrispUpscale: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "multipart/form-data": { + /** + * Format: binary + * @description Image file to process + */ + file: string; + }; + }; + }; + responses: { + /** @description Background removed successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["RecraftImageGenerationResponse"]; + }; + }; + /** @description Bad request - Invalid parameters or file */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized - Invalid or missing API token */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + recraftRemoveBackground: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "multipart/form-data": { + /** + * Format: binary + * @description Image file to process + */ + file: string; + }; + }; + }; + responses: { + /** @description Background removed successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + image?: { + /** + * Format: uri + * @description URL of the processed image + */ + url?: string; + }; + }; + }; + }; + /** @description Bad request - Invalid parameters or file */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized - Invalid or missing API token */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + RecraftImageToImage: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "multipart/form-data": components["schemas"]["RecraftImageToImageRequest"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["RecraftGenerateImageResponse"]; + }; + }; + }; + }; + RecraftInpaintImage: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "multipart/form-data": components["schemas"]["RecraftTransformImageWithMaskRequest"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["RecraftGenerateImageResponse"]; + }; + }; + }; + }; + RecraftReplaceBackground: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "multipart/form-data": components["schemas"]["RecraftTransformImageWithMaskRequest"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["RecraftGenerateImageResponse"]; + }; + }; + }; + }; + RecraftCreativeUpscale: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "multipart/form-data": components["schemas"]["RecraftProcessImageRequest"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["RecraftProcessImageResponse"]; + }; + }; + }; + }; + runwayImageToVideo: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["RunwayImageToVideoRequest"]; + }; + }; + responses: { + /** @description Successful response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["RunwayImageToVideoResponse"]; + }; + }; + /** @description Bad request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Payment Required */ + 402: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + runwayGetTaskStatus: { + parameters: { + query?: never; + header?: never; + path: { + /** @description ID of the task to check */ + task_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["RunwayTaskStatusResponse"]; + }; + }; + /** @description Bad request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Payment Required */ + 402: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Task not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + runwayTextToImage: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["RunwayTextToImageRequest"]; + }; + }; + responses: { + /** @description Successful response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["RunwayTextToImageResponse"]; + }; + }; + /** @description Bad request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Payment Required */ + 402: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + veoGenerate: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["Veo2GenVidRequest"]; + }; + }; + responses: { + /** @description Video generation successful */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Veo2GenVidResponse"]; + }; + }; + /** @description Bad request */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + veoPoll: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["Veo2GenVidPollRequest"]; + }; + }; + responses: { + /** @description Operation status and result */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Veo2GenVidPollResponse"]; + }; + }; + /** @description Bad request */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Operation not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal error */ + 500: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + veoGenerateNew: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The ID of the model to use for generation */ + modelId: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["VeoGenVidRequest"]; + }; + }; + responses: { + /** @description Video generation successful */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["VeoGenVidResponse"]; + }; + }; + /** @description Bad request */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + veoPollNew: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The ID of the model to use for generation */ + modelId: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["VeoGenVidPollRequest"]; + }; + }; + responses: { + /** @description Operation status and result */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["VeoGenVidPollResponse"]; + }; + }; + /** @description Bad request */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Operation not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal error */ + 500: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + createOpenAIResponse: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["OpenAICreateResponse"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["OpenAIResponse"]; + "text/event-stream": components["schemas"]["OpenAIResponseStreamEvent"]; + }; + }; + }; + }; + getOpenAIResponse: { + parameters: { + query?: { + /** + * @description Additional fields to include in the response. See the `include` + * parameter for Response creation above for more information. + */ + include?: components["schemas"]["Includable"][]; + }; + header?: never; + path: { + /** @description The ID of the response to retrieve. */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["OpenAIResponse"]; + }; + }; + }; + }; + openAIGenerateImage: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["OpenAIImageGenerationRequest"]; + }; + }; + responses: { + /** @description Image generated successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["OpenAIImageGenerationResponse"]; + }; + }; + /** @description Bad request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Payment Required */ + 402: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + openAIEditImage: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "multipart/form-data": components["schemas"]["OpenAIImageEditRequest"]; + }; + }; + responses: { + /** @description Image edited successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["OpenAIImageGenerationResponse"]; + }; + }; + /** @description Bad request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Payment Required */ + 402: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + openAICreateVideo: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "multipart/form-data": components["schemas"]["OpenAIVideoCreateRequest"]; + }; + }; + responses: { + /** @description Video generation job created successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["OpenAIVideoJob"]; + }; + }; + /** @description Bad request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Payment Required */ + 402: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + openAIGetVideo: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The identifier of the video to retrieve */ + video_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Video job details */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["OpenAIVideoJob"]; + }; + }; + /** @description Bad request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Video not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + openAIDownloadVideoContent: { + parameters: { + query?: { + /** @description Which downloadable asset to return */ + variant?: string; + }; + header?: never; + path: { + /** @description The identifier of the video whose media to download */ + video_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Video content stream */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "video/mp4": string; + }; + }; + /** @description Bad request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Video not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + PikaGenerate_pikadditions_generate_pikadditions_post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "multipart/form-data": components["schemas"]["PikaBody_generate_pikadditions_generate_pikadditions_post"]; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["PikaGenerateResponse"]; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["PikaHTTPValidationError"]; + }; + }; + }; + }; + PikaGenerate_pikaswaps_generate_pikaswaps_post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "multipart/form-data": components["schemas"]["PikaBody_generate_pikaswaps_generate_pikaswaps_post"]; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["PikaGenerateResponse"]; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["PikaHTTPValidationError"]; + }; + }; + }; + }; + PikaGenerate_pikaffects_generate_pikaffects_post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "multipart/form-data": components["schemas"]["PikaBody_generate_pikaffects_generate_pikaffects_post"]; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["PikaGenerateResponse"]; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["PikaHTTPValidationError"]; + }; + }; + }; + }; + PikaGenerate_2_2_t2v_generate_2_2_t2v_post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": components["schemas"]["PikaBody_generate_2_2_t2v_generate_2_2_t2v_post"]; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["PikaGenerateResponse"]; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["PikaHTTPValidationError"]; + }; + }; + }; + }; + PikaGenerate_2_2_keyframe_generate_2_2_pikaframes_post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "multipart/form-data": components["schemas"]["PikaBody_generate_2_2_keyframe_generate_2_2_pikaframes_post"]; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["PikaGenerateResponse"]; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["PikaHTTPValidationError"]; + }; + }; + }; + }; + PikaGenerate_2_2_c2v_generate_2_2_pikascenes_post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "multipart/form-data": components["schemas"]["PikaBody_generate_2_2_c2v_generate_2_2_pikascenes_post"]; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["PikaGenerateResponse"]; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["PikaHTTPValidationError"]; + }; + }; + }; + }; + PikaGenerate_2_2_i2v_generate_2_2_i2v_post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "multipart/form-data": components["schemas"]["PikaBody_generate_2_2_i2v_generate_2_2_i2v_post"]; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["PikaGenerateResponse"]; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["PikaHTTPValidationError"]; + }; + }; + }; + }; + PikaGet_video_videos__video_id__get: { + parameters: { + query?: never; + header?: never; + path: { + video_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["PikaVideoResponse"]; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["PikaHTTPValidationError"]; + }; + }; + }; + }; + StabilityImageGenrationUltra: { + parameters: { + query?: never; + header: { + authorization: string; + "content-type": string; + accept?: "image/*" | "application/json"; + "stability-client-id"?: components["schemas"]["StabilityStabilityClientID"]; + "stability-client-user-id"?: components["schemas"]["StabilityStabilityClientUserID"]; + "stability-client-version"?: components["schemas"]["StabilityStabilityClientVersion"]; + }; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "multipart/form-data": { + /** @description What you wish to see in the output image. A strong, descriptive prompt that clearly defines elements, colors, and subjects will lead to better results. To control the weight of a given word use the format `(word:weight)`, where `word` is the word you'd like to control the weight of and `weight` is a value between 0 and 1. For example: `The sky was a crisp (blue:0.3) and (green:0.8)` would convey a sky that was blue and green, but more green than blue. */ + prompt: string; + /** @description A blurb of text describing what you **do not** wish to see in the output image. This is an advanced feature. */ + negative_prompt?: string; + /** + * @description Controls the aspect ratio of the generated image. + * @default 1:1 + * @enum {string} + */ + aspect_ratio?: "21:9" | "16:9" | "3:2" | "5:4" | "1:1" | "4:5" | "2:3" | "9:16" | "9:21"; + /** + * @description A specific value that is used to guide the 'randomness' of the generation. (Omit this parameter or pass `0` to use a random seed.) + * @default 0 + */ + seed?: number; + /** + * @description Dictates the `content-type` of the generated image. + * @default png + * @enum {string} + */ + output_format?: "jpeg" | "png" | "webp"; + /** + * Format: binary + * @description The image to use as the starting point for the generation. > **Important:** The `strength` parameter is required when `image` is provided. Supported Formats: - jpeg - png - webp Validation Rules: - Width must be between 64 and 16,384 pixels - Height must be between 64 and 16,384 pixels - Total pixel count must be at least 4,096 pixels + * @example ./some/image.png + */ + image?: string; + /** + * @description Guides the image model towards a particular style. + * @enum {string} + */ + style_preset?: "enhance" | "anime" | "photographic" | "digital-art" | "comic-book" | "fantasy-art" | "line-art" | "analog-film" | "neon-punk" | "isometric" | "low-poly" | "origami" | "modeling-compound" | "cinematic" | "3d-model" | "pixel-art" | "tile-texture"; + /** + * @description Sometimes referred to as _denoising_, this parameter controls how much influence the + * `image` parameter has on the generated image. A value of 0 would yield an image that + * is identical to the input. A value of 1 would be as if you passed in no image at all. + * + * > **Important:** This parameter is required when `image` is provided. + */ + strength?: number; + }; + }; + }; + responses: { + /** @description Generation was successful. */ + 200: { + headers: { + /** @description A unique identifier for this request. */ + "x-request-id"?: string; + /** + * @description The format of the generated image. + * To receive the bytes of the image directly, specify `image/*` in the accept header. To receive the bytes base64 encoded inside of a JSON payload, specify `application/json`. + */ + "content-type"?: string; + /** @description Indicates the reason the generation finished. - `SUCCESS` = successful generation. - `CONTENT_FILTERED` = successful generation, however the output violated our content moderation policy and has been blurred as a result. > **NOTE:** This header is absent on JSON encoded responses because it is present in the body as `finish_reason`. */ + "finish-reason"?: "SUCCESS" | "CONTENT_FILTERED"; + /** + * @description The seed used as random noise for this generation. > **NOTE:** This header is absent on JSON encoded responses because it is present in the body as `seed`. + * @example 343940597 + */ + seed?: string; + [name: string]: unknown; + }; + content: { + /** @example The bytes of the generated jpeg */ + "image/jpeg": string; + "application/json; type=image/jpeg": { + /** + * @description The generated image, encoded to base64. + * @example AAAAIGZ0eXBpc29tAAACAGlzb21pc28yYXZjMW1... + */ + image: string; + /** + * @description The seed used as random noise for this generation. + * @default 0 + * @example 343940597 + */ + seed: number; + /** + * @description The reason the generation finished. - `SUCCESS` = successful generation. - `CONTENT_FILTERED` = successful generation, however the output violated our content moderation policy and has been blurred as a result. + * @example SUCCESS + * @enum {string} + */ + finish_reason: "SUCCESS" | "CONTENT_FILTERED"; + }; + /** @example The bytes of the generated png */ + "image/png": string; + "application/json; type=image/png": { + /** + * @description The generated image, encoded to base64. + * @example AAAAIGZ0eXBpc29tAAACAGlzb21pc28yYXZjMW1... + */ + image: string; + /** + * @description The seed used as random noise for this generation. + * @default 0 + * @example 343940597 + */ + seed: number; + /** + * @description The reason the generation finished. - `SUCCESS` = successful generation. - `CONTENT_FILTERED` = successful generation, however the output violated our content moderation policy and has been blurred as a result. + * @example SUCCESS + * @enum {string} + */ + finish_reason: "SUCCESS" | "CONTENT_FILTERED"; + }; + /** @example The bytes of the generated webp */ + "image/webp": string; + "application/json; type=image/webp": { + /** + * @description The generated image, encoded to base64. + * @example AAAAIGZ0eXBpc29tAAACAGlzb21pc28yYXZjMW1... + */ + image: string; + /** + * @description The seed used as random noise for this generation. + * @default 0 + * @example 343940597 + */ + seed: number; + /** + * @description The reason the generation finished. - `SUCCESS` = successful generation. - `CONTENT_FILTERED` = successful generation, however the output violated our content moderation policy and has been blurred as a result. + * @example SUCCESS + * @enum {string} + */ + finish_reason: "SUCCESS" | "CONTENT_FILTERED"; + }; + }; + }; + /** @description Invalid parameter(s), see the `errors` field for details. */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** + * @description A unique identifier associated with this error. Please include this in any [support tickets](https://kb.stability.ai/knowledge-base/kb-tickets/new) you file, as it will greatly assist us in diagnosing the root cause of the problem. + * @example a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4 + */ + id: string; + /** + * @description Short-hand name for an error, useful for discriminating between errors with the same status code. + * @example bad_request + */ + name: string; + /** + * @description One or more error messages indicating what went wrong. + * @example [ + * "some-field: is required" + * ] + */ + errors: string[]; + }; + }; + }; + /** @description Your request was flagged by our content moderation system. */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["StabilityContentModerationResponse"]; + }; + }; + /** @description Your request was larger than 10MiB. */ + 413: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** + * @description A unique identifier associated with this error. Please include this in any [support tickets](https://kb.stability.ai/knowledge-base/kb-tickets/new) you file, as it will greatly assist us in diagnosing the root cause of the problem. + * @example a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4 + */ + id: string; + /** + * @description Short-hand name for an error, useful for discriminating between errors with the same status code. + * @example bad_request + */ + name: string; + /** + * @description One or more error messages indicating what went wrong. + * @example [ + * "some-field: is required" + * ] + */ + errors: string[]; + }; + }; + }; + /** @description Your request was well-formed, but rejected. See the `errors` field for details. */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** + * @description A unique identifier associated with this error. Please include this in any [support tickets](https://kb.stability.ai/knowledge-base/kb-tickets/new) you file, as it will greatly assist us in diagnosing the root cause of the problem. + * @example a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4 + */ + id: string; + /** + * @description Short-hand name for an error, useful for discriminating between errors with the same status code. + * @example bad_request + */ + name: string; + /** + * @description One or more error messages indicating what went wrong. + * @example [ + * "some-field: is required" + * ] + */ + errors: string[]; + }; + }; + }; + /** @description You have made more than 150 requests in 10 seconds. */ + 429: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** + * @description A unique identifier associated with this error. Please include this in any [support tickets](https://kb.stability.ai/knowledge-base/kb-tickets/new) you file, as it will greatly assist us in diagnosing the root cause of the problem. + * @example a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4 + */ + id: string; + /** + * @description Short-hand name for an error, useful for discriminating between errors with the same status code. + * @example bad_request + */ + name: string; + /** + * @description One or more error messages indicating what went wrong. + * @example [ + * "some-field: is required" + * ] + */ + errors: string[]; + }; + }; + }; + /** @description An internal error occurred. If the problem persists [contact support](https://kb.stability.ai/knowledge-base/kb-tickets/new). */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** + * @description A unique identifier associated with this error. Please include this in any [support tickets](https://kb.stability.ai/knowledge-base/kb-tickets/new) you file, as it will greatly assist us in diagnosing the root cause of the problem. + * @example a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4 + */ + id: string; + /** + * @description Short-hand name for an error, useful for discriminating between errors with the same status code. + * @example bad_request + */ + name: string; + /** + * @description One or more error messages indicating what went wrong. + * @example [ + * "some-field: is required" + * ] + */ + errors: string[]; + }; + }; + }; + }; + }; + StabilityImageGenrationSD3: { + parameters: { + query?: never; + header: { + authorization: string; + "content-type": string; + accept?: "image/*" | "application/json"; + "stability-client-id"?: components["schemas"]["StabilityStabilityClientID"]; + "stability-client-user-id"?: components["schemas"]["StabilityStabilityClientUserID"]; + "stability-client-version"?: components["schemas"]["StabilityStabilityClientVersion"]; + }; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "multipart/form-data": components["schemas"]["StabilityImageGenerationSD3_Request"]; + }; + }; + responses: { + /** @description Generation was successful. */ + 200: { + headers: { + /** @description A unique identifier for this request. */ + "x-request-id"?: string; + /** + * @description The format of the generated image. + * + * To receive the bytes of the image directly, specify `image/*` in the accept header. To receive the bytes base64 encoded inside of a JSON payload, specify `application/json`. + */ + "content-type"?: string; + /** + * @description Indicates the reason the generation finished. + * + * - `SUCCESS` = successful generation. + * - `CONTENT_FILTERED` = successful generation, however the output violated our content moderation + * policy and has been blurred as a result. + * + * > **NOTE:** This header is absent on JSON encoded responses because it is present in the body as `finish_reason`. + */ + "finish-reason"?: "SUCCESS" | "CONTENT_FILTERED"; + /** + * @description The seed used as random noise for this generation. + * + * > **NOTE:** This header is absent on JSON encoded responses because it is present in the body as `seed`. + * @example 343940597 + */ + seed?: string; + [name: string]: unknown; + }; + content: { + /** @example The bytes of the generated png */ + "image/png": string; + "application/json; type=image/png": components["schemas"]["StabilityImageGenrationSD3_Response_200"]; + /** @example The bytes of the generated jpeg */ + "image/jpeg": string; + "application/json; type=image/jpeg": components["schemas"]["StabilityImageGenrationSD3_Response_200"]; + }; + }; + /** @description Invalid parameter(s), see the `errors` field for details. */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["StabilityImageGenrationSD3_Response_400"]; + }; + }; + /** @description Your request was flagged by our content moderation system. */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["StabilityContentModerationResponse"]; + }; + }; + /** @description Your request was larger than 10MiB. */ + 413: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["StabilityImageGenrationSD3_Response_413"]; + }; + }; + /** @description Your request was well-formed, but rejected. See the `errors` field for details. */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["StabilityImageGenrationSD3_Response_422"]; + }; + }; + /** @description You have made more than 150 requests in 10 seconds. */ + 429: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["StabilityImageGenrationSD3_Response_429"]; + }; + }; + /** @description An internal error occurred. If the problem persists [contact support](https://kb.stability.ai/knowledge-base/kb-tickets/new). */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["StabilityImageGenrationSD3_Response_500"]; + }; + }; + }; + }; + StabilityImageGenrationUpscaleConservative: { + parameters: { + query?: never; + header: { + authorization: string; + "content-type": string; + accept?: "image/*" | "application/json"; + "stability-client-id"?: components["schemas"]["StabilityStabilityClientID"]; + "stability-client-user-id"?: components["schemas"]["StabilityStabilityClientUserID"]; + "stability-client-version"?: components["schemas"]["StabilityStabilityClientVersion"]; + }; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "multipart/form-data": components["schemas"]["StabilityImageGenrationUpscaleConservative_Request"]; + }; + }; + responses: { + /** @description Upscale was successful. */ + 200: { + headers: { + /** @description A unique identifier for this request. */ + "x-request-id"?: string; + /** + * @description The format of the generated image. + * + * To receive the bytes of the image directly, specify `image/*` in the accept header. To receive the bytes base64 encoded inside of a JSON payload, specify `application/json`. + */ + "content-type"?: string; + /** + * @description Indicates the reason the generation finished. + * + * - `SUCCESS` = successful generation. + * - `CONTENT_FILTERED` = successful generation, however the output violated our content moderation + * policy and has been blurred as a result. + * + * > **NOTE:** This header is absent on JSON encoded responses because it is present in the body as `finish_reason`. + */ + "finish-reason"?: "SUCCESS" | "CONTENT_FILTERED"; + /** + * @description The seed used as random noise for this generation. + * + * > **NOTE:** This header is absent on JSON encoded responses because it is present in the body as `seed`. + * @example 343940597 + */ + seed?: string; + [name: string]: unknown; + }; + content: { + /** @example The bytes of the generated jpeg */ + "image/jpeg": string; + "application/json; type=image/jpeg": components["schemas"]["StabilityImageGenrationUpscaleConservative_Response_200"]; + /** @example The bytes of the generated png */ + "image/png": string; + "application/json; type=image/png": components["schemas"]["StabilityImageGenrationUpscaleConservative_Response_200"]; + /** @example The bytes of the generated webp */ + "image/webp": string; + "application/json; type=image/webp": components["schemas"]["StabilityImageGenrationUpscaleConservative_Response_200"]; + }; + }; + /** @description Invalid parameter(s), see the `errors` field for details. */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["StabilityImageGenrationUpscaleConservative_Response_400"]; + }; + }; + /** @description Your request was flagged by our content moderation system. */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["StabilityContentModerationResponse"]; + }; + }; + /** @description Your request was larger than 10MiB. */ + 413: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["StabilityImageGenrationUpscaleConservative_Response_413"]; + }; + }; + /** @description Your request was well-formed, but rejected. See the `errors` field for details. */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["StabilityImageGenrationUpscaleConservative_Response_422"]; + }; + }; + /** @description You have made more than 150 requests in 10 seconds. */ + 429: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["StabilityImageGenrationUpscaleConservative_Response_429"]; + }; + }; + /** @description An internal error occurred. If the problem persists [contact support](https://kb.stability.ai/knowledge-base/kb-tickets/new). */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["StabilityImageGenrationUpscaleConservative_Response_500"]; + }; + }; + }; + }; + StabilityImageGenrationUpscaleCreative: { + parameters: { + query?: never; + header: { + authorization: string; + "content-type": string; + "stability-client-id"?: components["schemas"]["StabilityStabilityClientID"]; + "stability-client-user-id"?: components["schemas"]["StabilityStabilityClientUserID"]; + "stability-client-version"?: components["schemas"]["StabilityStabilityClientVersion"]; + }; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "multipart/form-data": components["schemas"]["StabilityImageGenrationUpscaleCreative_Request"]; + }; + }; + responses: { + /** @description Upscale was started. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["StabilityImageGenrationUpscaleCreative_Response_200"]; + }; + }; + /** @description Invalid parameter(s), see the `errors` field for details. */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["StabilityImageGenrationUpscaleCreative_Response_400"]; + }; + }; + /** @description Your request was flagged by our content moderation system. */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["StabilityContentModerationResponse"]; + }; + }; + /** @description Your request was larger than 10MiB. */ + 413: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["StabilityImageGenrationUpscaleCreative_Response_413"]; + }; + }; + /** @description Your request was well-formed, but rejected. See the `errors` field for details. */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["StabilityImageGenrationUpscaleCreative_Response_422"]; + }; + }; + /** @description You have made more than 150 requests in 10 seconds. */ + 429: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["StabilityImageGenrationUpscaleCreative_Response_429"]; + }; + }; + /** @description An internal error occurred. If the problem persists [contact support](https://kb.stability.ai/knowledge-base/kb-tickets/new). */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["StabilityImageGenrationUpscaleCreative_Response_500"]; + }; + }; + }; + }; + StabilityImageGenerationUpscaleFast: { + parameters: { + query?: never; + header: { + authorization: string; + "content-type": string; + accept?: "image/*" | "application/json"; + "stability-client-id"?: components["schemas"]["StabilityStabilityClientID"]; + "stability-client-user-id"?: components["schemas"]["StabilityStabilityClientUserID"]; + "stability-client-version"?: components["schemas"]["StabilityStabilityClientVersion"]; + }; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "multipart/form-data": components["schemas"]["StabilityImageGenrationUpscaleFast_Request"]; + }; + }; + responses: { + /** @description Upscale was successful. */ + 200: { + headers: { + /** @description A unique identifier for this request. */ + "x-request-id"?: string; + /** + * @description The format of the generated image. + * + * To receive the bytes of the image directly, specify `image/*` in the accept header. To receive the bytes base64 encoded inside of a JSON payload, specify `application/json`. + */ + "content-type"?: string; + /** + * @description Indicates the reason the generation finished. + * + * - `SUCCESS` = successful generation. + * - `CONTENT_FILTERED` = successful generation, however the output violated our content moderation + * policy and has been blurred as a result. + * + * > **NOTE:** This header is absent on JSON encoded responses because it is present in the body as `finish_reason`. + */ + "finish-reason"?: "SUCCESS" | "CONTENT_FILTERED"; + /** + * @description The seed used as random noise for this generation. + * + * > **NOTE:** This header is absent on JSON encoded responses because it is present in the body as `seed`. + * @example 343940597 + */ + seed?: string; + [name: string]: unknown; + }; + content: { + /** @example The bytes of the generated jpeg */ + "image/jpeg": string; + "application/json; type=image/jpeg": components["schemas"]["StabilityImageGenrationUpscaleFast_Response_200"]; + /** @example The bytes of the generated png */ + "image/png": string; + "application/json; type=image/png": components["schemas"]["StabilityImageGenrationUpscaleFast_Response_200"]; + /** @example The bytes of the generated webp */ + "image/webp": string; + "application/json; type=image/webp": components["schemas"]["StabilityImageGenrationUpscaleFast_Response_200"]; + }; + }; + /** @description Invalid parameter(s), see the `errors` field for details. */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["StabilityImageGenrationUpscaleFast_Response_400"]; + }; + }; + /** @description Your request was flagged by our content moderation system. */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["StabilityContentModerationResponse"]; + }; + }; + /** @description Your request was larger than 10MiB. */ + 413: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["StabilityImageGenrationUpscaleFast_Response_413"]; + }; + }; + /** @description Your request was well-formed, but rejected. See the `errors` field for details. */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["StabilityImageGenrationUpscaleFast_Response_422"]; + }; + }; + /** @description You have made more than 150 requests in 10 seconds. */ + 429: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["StabilityImageGenrationUpscaleFast_Response_429"]; + }; + }; + /** @description An internal error occurred. If the problem persists [contact support](https://kb.stability.ai/knowledge-base/kb-tickets/new). */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["StabilityImageGenrationUpscaleFast_Response_500"]; + }; + }; + }; + }; + StabilityGetResult: { + parameters: { + query?: never; + header?: { + /** @description Set to image/* to receive image bytes. */ + Accept?: string; + }; + path: { + /** @description The ID of the generation result to retrieve. */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description The generated image as JPEG bytes. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "image/jpeg": string; + "application/json; type=image/jpeg": { + /** + * @description The generated image, encoded to base64. + * @example AAAAAIGZ0eXBpc29tAAACAGlzb21pc28yYXZjMW1... + */ + image: string; + /** + * @description The seed used as random noise for this generation. + * @default 0 + * @example 343940597 + */ + seed: number; + /** + * @description The reason the generation finished. + * + * - `SUCCESS` = successful generation. + * - `CONTENT_FILTERED` = successful generation, however the output violated our content moderation + * policy and has been blurred as a result. + * @example SUCCESS + * @enum {string} + */ + finish_reason: "SUCCESS" | "CONTENT_FILTERED"; + }; + /** @example The bytes of the generated png */ + "image/png": string; + "application/json; type=image/png": { + /** + * @description The generated image, encoded to base64. + * @example AAAAAIGZ0eXBpc29tAAACAGlzb21pc28yYXZjMW1... + */ + image: string; + /** + * @description The seed used as random noise for this generation. + * @default 0 + * @example 343940597 + */ + seed: number; + /** + * @description The reason the generation finished. + * + * - `SUCCESS` = successful generation. + * - `CONTENT_FILTERED` = successful generation, however the output violated our content moderation + * policy and has been blurred as a result. + * @example SUCCESS + * @enum {string} + */ + finish_reason: "SUCCESS" | "CONTENT_FILTERED"; + }; + /** @example The bytes of the generated webp */ + "image/webp": string; + "application/json; type=image/webp": { + /** + * @description The generated image, encoded to base64. + * @example AAAAAIGZ0eXBpc29tAAACAGlzb21pc28yYXZjMW1... + */ + image: string; + /** + * @description The seed used as random noise for this generation. + * @default 0 + * @example 343940597 + */ + seed: number; + /** + * @description The reason the generation finished. + * + * - `SUCCESS` = successful generation. + * - `CONTENT_FILTERED` = successful generation, however the output violated our content moderation + * policy and has been blurred as a result. + * @example SUCCESS + * @enum {string} + */ + finish_reason: "SUCCESS" | "CONTENT_FILTERED"; + }; + }; + }; + /** @description The generation is still in progress. */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["StabilityGetResultResponse_202"]; + }; + }; + /** @description Invalid result ID. */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["StabilityError"]; + }; + }; + /** @description Result not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["StabilityError"]; + }; + }; + /** @description An internal error occurred. If the problem persists [contact support](https://kb.stability.ai/knowledge-base/kb-tickets/new). */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["StabilityError"]; + }; + }; + }; + }; + stableAudio25TextToAudio: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "multipart/form-data": components["schemas"]["StableAudio25TextToAudioRequest"]; + }; + }; + responses: { + /** @description Successful response from Stable Audio proxy */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["StableAudio25AudioResponse"]; + }; + }; + /** @description Error 4xx/5xx */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + stableAudio25AudioToAudio: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "multipart/form-data": components["schemas"]["StableAudio25AudioToAudioRequest"]; + }; + }; + responses: { + /** @description Successful response from Stable Audio proxy */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["StableAudio25AudioResponse"]; + }; + }; + /** @description Error 4xx/5xx */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + stableAudio25Inpaint: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "multipart/form-data": components["schemas"]["StableAudio25InpaintRequest"]; + }; + }; + responses: { + /** @description Successful response from Stable Audio proxy */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["StableAudio25AudioResponse"]; + }; + }; + /** @description Error 4xx/5xx */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + GeminiGenerateContent: { + parameters: { + query?: never; + header?: never; + path: { + /** @description Full resource name of the model. */ + model: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["GeminiGenerateContentRequest"]; + }; + }; + responses: { + /** @description Generated content response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["GeminiGenerateContentResponse"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + ImagenGenerateImages: { + parameters: { + query?: never; + header?: never; + path: { + /** @description image generation model */ + model: "imagen-3.0-generate-002" | "imagen-3.0-generate-001" | "imagen-3.0-fast-generate-001" | "imagegeneration@006" | "imagegeneration@005" | "imagegeneration@002"; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["ImagenGenerateImageRequest"]; + }; + }; + responses: { + /** @description Successful image generation */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ImagenGenerateImageResponse"]; + }; + }; + /** @description Client error */ + "4XX": { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Server error */ + "5XX": { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + tripoGetTask: { + parameters: { + query?: never; + header?: never; + path: { + task_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Request successful */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + code: components["schemas"]["TripoResponseSuccessCode"]; + data: components["schemas"]["TripoTask"]; + }; + }; + }; + /** @description Invalid request parameters */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TripoErrorResponse"]; + }; + }; + /** @description Authentication failed */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TripoErrorResponse"]; + }; + }; + /** @description Unauthorized access to requested resource */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TripoErrorResponse"]; + }; + }; + /** @description Resource not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TripoErrorResponse"]; + }; + }; + /** @description Account exception or Rate limit exceeded */ + 429: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TripoErrorResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TripoErrorResponse"]; + }; + }; + /** @description Service temporarily unavailable */ + 503: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TripoErrorResponse"]; + }; + }; + /** @description Server timeout */ + 504: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TripoErrorResponse"]; + }; + }; + }; + }; + tripoUploadFile: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "multipart/form-data": { + /** Format: binary */ + file: string; + }; + }; + }; + responses: { + /** @description Request successful */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + code: components["schemas"]["TripoResponseSuccessCode"]; + data: { + image_token: string; + }; + }; + }; + }; + /** @description Invalid request parameters */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TripoErrorResponse"]; + }; + }; + /** @description Authentication failed */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TripoErrorResponse"]; + }; + }; + /** @description Unauthorized access to requested resource */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TripoErrorResponse"]; + }; + }; + /** @description Resource not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TripoErrorResponse"]; + }; + }; + /** @description Account exception or Rate limit exceeded */ + 429: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TripoErrorResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TripoErrorResponse"]; + }; + }; + /** @description Service temporarily unavailable */ + 503: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TripoErrorResponse"]; + }; + }; + /** @description Server timeout */ + 504: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TripoErrorResponse"]; + }; + }; + }; + }; + tripoCreateTask: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + type: components["schemas"]["TripoTextToModel"]; + prompt: string; + negative_prompt?: string; + model_version?: components["schemas"]["TripoModelVersion"]; + face_limit?: number; + /** @default true */ + texture?: boolean; + /** @default true */ + pbr?: boolean; + text_seed?: number; + model_seed?: number; + texture_seed?: number; + /** @default standard */ + texture_quality?: components["schemas"]["TripoTextureQuality"]; + style?: components["schemas"]["TripoModelStyle"]; + /** @default false */ + auto_size?: boolean; + /** @default false */ + quad?: boolean; + } | { + type: components["schemas"]["TripoImageToModel"]; + file: { + type: string; + file_token: string; + }; + model_version?: components["schemas"]["TripoModelVersion"]; + face_limit?: number; + /** @default true */ + texture?: boolean; + /** @default true */ + pbr?: boolean; + model_seed?: number; + texture_seed?: number; + /** @default standard */ + texture_quality?: components["schemas"]["TripoTextureQuality"]; + /** @default original_image */ + texture_alignment?: components["schemas"]["TripoTextureAlignment"]; + style?: components["schemas"]["TripoModelStyle"]; + /** @default false */ + auto_size?: boolean; + /** @default default */ + orientation?: components["schemas"]["TripoOrientation"]; + /** @default false */ + quad?: boolean; + } | { + type: components["schemas"]["TripoMultiviewToModel"]; + files: { + type: string; + file_token: string; + }[]; + mode?: components["schemas"]["TripoMultiviewMode"]; + model_version?: components["schemas"]["TripoModelVersion"]; + /** @default false */ + orthographic_projection?: boolean; + face_limit?: number; + /** @default true */ + texture?: boolean; + /** @default true */ + pbr?: boolean; + model_seed?: number; + texture_seed?: number; + /** @default standard */ + texture_quality?: components["schemas"]["TripoTextureQuality"]; + /** @default original_image */ + texture_alignment?: components["schemas"]["TripoTextureAlignment"]; + /** @default false */ + auto_size?: boolean; + /** @default default */ + orientation?: components["schemas"]["TripoOrientation"]; + /** @default false */ + quad?: boolean; + } | { + type: components["schemas"]["TripoTypeTextureModel"]; + /** @default true */ + texture?: boolean; + /** @default true */ + pbr?: boolean; + model_seed?: number; + texture_seed?: number; + texture_quality?: components["schemas"]["TripoTextureQuality"]; + /** @default original_image */ + texture_alignment?: components["schemas"]["TripoTextureAlignment"]; + original_model_task_id: string; + } | { + type: components["schemas"]["TripoTypeRefineModel"]; + draft_model_task_id: string; + } | { + type: components["schemas"]["TripoTypeAnimatePrerigcheck"]; + original_model_task_id: string; + } | { + type: components["schemas"]["TripoTypeAnimateRig"]; + original_model_task_id: string; + /** @default glb */ + out_format?: components["schemas"]["TripoStandardFormat"]; + topology?: components["schemas"]["TripoTopology"]; + /** @default tripo */ + spec?: components["schemas"]["TripoSpec"]; + } | { + type: components["schemas"]["TripoTypeAnimateRetarget"]; + original_model_task_id: string; + /** @default glb */ + out_format?: components["schemas"]["TripoStandardFormat"]; + animation: components["schemas"]["TripoAnimation"]; + /** @default true */ + bake_animation?: boolean; + } | { + type: components["schemas"]["TripoTypeStylizeModel"]; + style: components["schemas"]["TripoStylizeOptions"]; + original_model_task_id: string; + /** @default 80 */ + block_size?: number; + } | { + type: components["schemas"]["TripoTypeConvertModel"]; + format: components["schemas"]["TripoConvertFormat"]; + original_model_task_id: string; + /** @default false */ + quad?: boolean; + /** @default false */ + force_symmetry?: boolean; + /** @default 10000 */ + face_limit?: number; + /** @default false */ + flatten_bottom?: boolean; + /** @default 0.01 */ + flatten_bottom_threshold?: number; + /** @default 4096 */ + texture_size?: number; + /** @default JPEG */ + texture_format?: components["schemas"]["TripoTextureFormat"]; + /** @default false */ + pivot_to_center_bottom?: boolean; + }; + }; + }; + responses: { + /** @description Request successful */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TripoSuccessTask"]; + }; + }; + /** @description Invalid request parameters */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TripoErrorResponse"]; + }; + }; + /** @description Authentication failed */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TripoErrorResponse"]; + }; + }; + /** @description Unauthorized access to requested resource */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TripoErrorResponse"]; + }; + }; + /** @description Resource not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TripoErrorResponse"]; + }; + }; + /** @description Account exception or Rate limit exceeded */ + 429: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TripoErrorResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TripoErrorResponse"]; + }; + }; + /** @description Service temporarily unavailable */ + 503: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TripoErrorResponse"]; + }; + }; + /** @description Server timeout */ + 504: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TripoErrorResponse"]; + }; + }; + }; + }; + tripoGetBalance: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Request successful */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + code: components["schemas"]["TripoResponseSuccessCode"]; + data: components["schemas"]["TripoBalance"]; + }; + }; + }; + /** @description Invalid request parameters */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TripoErrorResponse"]; + }; + }; + /** @description Authentication failed */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TripoErrorResponse"]; + }; + }; + /** @description Unauthorized access to requested resource */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TripoErrorResponse"]; + }; + }; + /** @description Resource not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TripoErrorResponse"]; + }; + }; + /** @description Account exception or Rate limit exceeded */ + 429: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TripoErrorResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TripoErrorResponse"]; + }; + }; + /** @description Service temporarily unavailable */ + 503: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TripoErrorResponse"]; + }; + }; + /** @description Server timeout */ + 504: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TripoErrorResponse"]; + }; + }; + }; + }; + rodinGenerate3DAsset: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "multipart/form-data": components["schemas"]["Rodin3DGenerateRequest"]; + }; + }; + responses: { + /** @description 3D generate Task submitted successfully. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Rodin3DGenerateResponse"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + rodinCheckStatus: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "multipart/form-data": components["schemas"]["Rodin3DCheckStatusRequest"]; + }; + }; + responses: { + /** @description Get the status of the 3D Assets generation. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Rodin3DCheckStatusResponse"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + rodinDownload: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "multipart/form-data": components["schemas"]["Rodin3DDownloadRequest"]; + }; + }; + responses: { + /** @description Get the download list for the Rodin 3D Assets. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Rodin3DDownloadResponse"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + MoonvalleyGetPrompt: { + parameters: { + query?: never; + header?: never; + path: { + prompt_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Prompt details retrieved */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MoonvalleyPromptResponse"]; + }; + }; + }; + }; + MoonvalleyTextToVideo: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["MoonvalleyTextToVideoRequest"]; + }; + }; + responses: { + /** @description Prompt created */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MoonvalleyPromptResponse"]; + }; + }; + }; + }; + MoonvalleyTextToImage: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["MoonvalleyTextToImageRequest"]; + }; + }; + responses: { + /** @description Prompt created */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MoonvalleyPromptResponse"]; + }; + }; + }; + }; + MoonvalleyImageToVideo: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["MoonvalleyImageToVideoRequest"]; + }; + }; + responses: { + /** @description Prompt created */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MoonvalleyPromptResponse"]; + }; + }; + }; + }; + MoonvalleyVideoToVideo: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["MoonvalleyVideoToVideoRequest"]; + }; + }; + responses: { + /** @description Prompt created */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MoonvalleyPromptResponse"]; + }; + }; + }; + }; + MoonvalleyVideoToVideoResize: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["MoonvalleyResizeVideoRequest"]; + }; + }; + responses: { + /** @description Prompt created */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MoonvalleyPromptResponse"]; + }; + }; + }; + }; + MoonvalleyUpload: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "multipart/form-data": components["schemas"]["MoonvalleyUploadFileRequest"]; + }; + }; + responses: { + /** @description File uploaded successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MoonvalleyUploadFileResponse"]; + }; + }; + }; + }; + ViduImg2Video: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["ViduTaskRequest"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ViduTaskReply"]; + }; + }; + /** @description Error 4xx/5xx */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + /** @description Error 4xx/5xx */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + ViduReference2Video: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["ViduTaskRequest"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ViduTaskReply"]; + }; + }; + /** @description Error 4xx/5xx */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + /** @description Error 4xx/5xx */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + ViduStartEnd2Video: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["ViduTaskRequest"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ViduTaskReply"]; + }; + }; + /** @description Error 4xx/5xx */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + /** @description Error 4xx/5xx */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + ViduText2Video: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["ViduTaskRequest"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ViduTaskReply"]; + }; + }; + /** @description Error 4xx/5xx */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + /** @description Error 4xx/5xx */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + ViduGetCreations: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ViduGetCreationsReply"]; + }; + }; + /** @description Error 4xx/5xx */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + /** @description Error 4xx/5xx */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + byteplusImageGeneration: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["BytePlusImageGenerationRequest"]; + }; + }; + responses: { + /** @description Image generation completed successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BytePlusImageGenerationResponse"]; + }; + }; + /** @description Error 4xx/5xx */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + byteplusVideoGeneration: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["BytePlusVideoGenerationRequest"]; + }; + }; + responses: { + /** @description Video generation task created successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BytePlusVideoGenerationResponse"]; + }; + }; + /** @description Error 4xx/5xx */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + byteplusVideoGenerationQuery: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The ID of the video generation task to query */ + task_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Video generation task information retrieved successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BytePlusVideoGenerationQueryResponse"]; + }; + }; + /** @description Error 4xx/5xx */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + wanVideoGeneration: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["WanVideoGenerationRequest"]; + }; + }; + responses: { + /** @description Video generation task created successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["WanVideoGenerationResponse"]; + }; + }; + /** @description Error 4xx/5xx */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + wanImageGeneration: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["WanImageGenerationRequest"]; + }; + }; + responses: { + /** @description Image generation task created successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["WanImageGenerationResponse"]; + }; + }; + /** @description Error 4xx/5xx */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + wanImage2ImageGeneration: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["WanImage2ImageGenerationRequest"]; + }; + }; + responses: { + /** @description Image-to-image generation task created successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["WanImage2ImageGenerationResponse"]; + }; + }; + /** @description Error 4xx/5xx */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; + wanTaskQueryProxy: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The ID of the generation task to query */ + task_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Generation task information retrieved successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["WanTaskQueryResponse"]; + }; + }; + /** @description Error 4xx/5xx */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d42625007..9fde29d3e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -12,15 +12,9 @@ catalogs: '@eslint/js': specifier: ^9.35.0 version: 9.35.0 - '@iconify-json/lucide': - specifier: ^1.1.178 - version: 1.2.66 '@iconify/json': specifier: ^2.2.380 version: 2.2.380 - '@iconify/tailwind': - specifier: ^1.1.3 - version: 1.2.0 '@intlify/eslint-plugin-vue-i18n': specifier: ^4.1.0 version: 4.1.0 @@ -69,6 +63,9 @@ catalogs: '@primevue/themes': specifier: ^4.2.5 version: 4.2.5 + '@sentry/vite-plugin': + specifier: ^4.6.0 + version: 4.6.0 '@sentry/vue': specifier: ^8.48.0 version: 8.48.0 @@ -498,6 +495,9 @@ importers: '@prettier/plugin-oxc': specifier: 'catalog:' version: 0.0.4 + '@sentry/vite-plugin': + specifier: 'catalog:' + version: 4.6.0 '@storybook/addon-docs': specifier: 'catalog:' version: 9.1.1(@types/react@19.1.9)(storybook@9.1.6(@testing-library/dom@10.4.1)(prettier@3.6.2)(vite@5.4.19(@types/node@20.14.10)(lightningcss@1.30.1)(terser@5.39.2))) @@ -2772,14 +2772,78 @@ packages: resolution: {integrity: sha512-csILVupc5RkrsTrncuUTGmlB56FQSFjXPYWG8I8yBTGlXEJ+o8oTuF6+55R4vbw3EIzBveXWi4kEBbnQlXW/eg==} engines: {node: '>=14.18'} + '@sentry/babel-plugin-component-annotate@4.6.0': + resolution: {integrity: sha512-3soTX50JPQQ51FSbb4qvNBf4z/yP7jTdn43vMTp9E4IxvJ9HKJR7OEuKkCMszrZmWsVABXl02msqO7QisePdiQ==} + engines: {node: '>= 14'} + '@sentry/browser@8.48.0': resolution: {integrity: sha512-fuuVULB5/1vI8NoIwXwR3xwhJJqk+y4RdSdajExGF7nnUDBpwUJyXsmYJnOkBO+oLeEs58xaCpotCKiPUNnE3g==} engines: {node: '>=14.18'} + '@sentry/bundler-plugin-core@4.6.0': + resolution: {integrity: sha512-Fub2XQqrS258jjS8qAxLLU1k1h5UCNJ76i8m4qZJJdogWWaF8t00KnnTyp9TEDJzrVD64tRXS8+HHENxmeUo3g==} + engines: {node: '>= 14'} + + '@sentry/cli-darwin@2.57.0': + resolution: {integrity: sha512-v1wYQU3BcCO+Z3OVxxO+EnaW4oQhuOza6CXeYZ0z5ftza9r0QQBLz3bcZKTVta86xraNm0z8GDlREwinyddOxQ==} + engines: {node: '>=10'} + os: [darwin] + + '@sentry/cli-linux-arm64@2.57.0': + resolution: {integrity: sha512-Kh1jTsMV5Fy/RvB381N/woXe1qclRMqsG6kM3Gq6m6afEF/+k3PyQdNW3HXAola6d63EptokLtxPG2xjWQ+w9Q==} + engines: {node: '>=10'} + cpu: [arm64] + os: [linux, freebsd, android] + + '@sentry/cli-linux-arm@2.57.0': + resolution: {integrity: sha512-uNHB8xyygqfMd1/6tFzl9NUkuVefg7jdZtM/vVCQVaF/rJLWZ++Wms+LLhYyKXKN8yd7J9wy7kTEl4Qu4jWbGQ==} + engines: {node: '>=10'} + cpu: [arm] + os: [linux, freebsd, android] + + '@sentry/cli-linux-i686@2.57.0': + resolution: {integrity: sha512-EYXghoK/tKd0zqz+KD/ewXXE3u1HLCwG89krweveytBy/qw7M5z58eFvw+iGb1Vnbl1f/fRD0G4E0AbEsPfmpg==} + engines: {node: '>=10'} + cpu: [x86, ia32] + os: [linux, freebsd, android] + + '@sentry/cli-linux-x64@2.57.0': + resolution: {integrity: sha512-CyZrP/ssHmAPLSzfd4ydy7icDnwmDD6o3QjhkWwVFmCd+9slSBMQxpIqpamZmrWE6X4R+xBRbSUjmdoJoZ5yMw==} + engines: {node: '>=10'} + cpu: [x64] + os: [linux, freebsd, android] + + '@sentry/cli-win32-arm64@2.57.0': + resolution: {integrity: sha512-wji/GGE4Lh5I/dNCsuVbg6fRvttvZRG6db1yPW1BSvQRh8DdnVy1CVp+HMqSq0SRy/S4z60j2u+m4yXMoCL+5g==} + engines: {node: '>=10'} + cpu: [arm64] + os: [win32] + + '@sentry/cli-win32-i686@2.57.0': + resolution: {integrity: sha512-hWvzyD7bTPh3b55qvJ1Okg3Wbl0Km8xcL6KvS7gfBl6uss+I6RldmQTP0gJKdHSdf/QlJN1FK0b7bLnCB3wHsg==} + engines: {node: '>=10'} + cpu: [x86, ia32] + os: [win32] + + '@sentry/cli-win32-x64@2.57.0': + resolution: {integrity: sha512-QWYV/Y0sbpDSTyA4XQBOTaid4a6H2Iwa1Z8UI+qNxFlk0ADSEgIqo2NrRHDU8iRnghTkecQNX1NTt/7mXN3f/A==} + engines: {node: '>=10'} + cpu: [x64] + os: [win32] + + '@sentry/cli@2.57.0': + resolution: {integrity: sha512-oC4HPrVIX06GvUTgK0i+WbNgIA9Zl5YEcwf9N4eWFJJmjonr2j4SML9Hn2yNENbUWDgwepy4MLod3P8rM4bk/w==} + engines: {node: '>= 10'} + hasBin: true + '@sentry/core@8.48.0': resolution: {integrity: sha512-VGwYgTfLpvJ5LRO5A+qWo1gpo6SfqaGXL9TOzVgBucAdpzbrYHpZ87sEarDVq/4275uk1b0S293/mfsskFczyw==} engines: {node: '>=14.18'} + '@sentry/vite-plugin@4.6.0': + resolution: {integrity: sha512-fMR2d+EHwbzBa0S1fp45SNUTProxmyFBp+DeBWWQOSP9IU6AH6ea2rqrpMAnp/skkcdW4z4LSRrOEpMZ5rWXLw==} + engines: {node: '>= 14'} + '@sentry/vue@8.48.0': resolution: {integrity: sha512-hqm9X7hz1vMQQB1HBYezrDBQihZk6e/MxWIG1wMJoClcBnD1Sh7y+D36UwaQlR4Gr/Ftiz+Bb0DxuAYHoUS4ow==} engines: {node: '>=14.18'} @@ -3686,6 +3750,10 @@ packages: resolution: {integrity: sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==} engines: {node: '>= 10.0.0'} + agent-base@6.0.2: + resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} + engines: {node: '>= 6.0.0'} + agent-base@7.1.4: resolution: {integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==} engines: {node: '>= 14'} @@ -4959,6 +5027,9 @@ packages: resolution: {integrity: sha512-Xr9F6z6up6Ws+NjzMCZc6WXg2YFRlrLP9NQDO3VQrWrfiojdhS56TzueT88ze0uBdCTwEIhQ3ptnmKeWGFAe0A==} engines: {node: '>=14.14'} + fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + fsevents@2.3.2: resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} @@ -5039,6 +5110,10 @@ packages: engines: {node: 20 || >=22} hasBin: true + glob@9.3.5: + resolution: {integrity: sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==} + engines: {node: '>=16 || 14 >=14.17'} + global-directory@4.0.1: resolution: {integrity: sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==} engines: {node: '>=18'} @@ -5168,6 +5243,10 @@ packages: resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} engines: {node: '>= 14'} + https-proxy-agent@5.0.1: + resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} + engines: {node: '>= 6'} + https-proxy-agent@7.0.6: resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==} engines: {node: '>= 14'} @@ -5853,6 +5932,10 @@ packages: magic-string@0.30.19: resolution: {integrity: sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw==} + magic-string@0.30.8: + resolution: {integrity: sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==} + engines: {node: '>=12'} + magicast@0.3.5: resolution: {integrity: sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ==} @@ -6073,6 +6156,10 @@ packages: resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} engines: {node: '>=10'} + minimatch@8.0.4: + resolution: {integrity: sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==} + engines: {node: '>=16 || 14 >=14.17'} + minimatch@9.0.1: resolution: {integrity: sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==} engines: {node: '>=16 || 14 >=14.17'} @@ -6088,6 +6175,10 @@ packages: minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + minipass@4.2.8: + resolution: {integrity: sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==} + engines: {node: '>=8'} + minipass@7.1.2: resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} engines: {node: '>=16 || 14 >=14.17'} @@ -6527,6 +6618,10 @@ packages: process-nextick-args@2.0.1: resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + progress@2.0.3: + resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} + engines: {node: '>=0.4.0'} + promise@7.3.1: resolution: {integrity: sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==} @@ -7426,6 +7521,9 @@ packages: '@nuxt/kit': optional: true + unplugin@1.0.1: + resolution: {integrity: sha512-aqrHaVBWW1JVKBHmGo33T5TxeL0qWzfvjWokObHA9bYmN7eNDkwOxmLjhioHl9878qDFMAaT51XNroRyuz7WxA==} + unplugin@1.16.1: resolution: {integrity: sha512-4/u/j4FrCKdi17jaxuJA0jClGxB1AvU2hw/IuayPc4ay1XGaJs/rbb4v5WKwAjNifjmXK9PIFyuPiaK8azyR9w==} engines: {node: '>=14.0.0'} @@ -7699,6 +7797,13 @@ packages: resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} engines: {node: '>=12'} + webpack-sources@3.3.3: + resolution: {integrity: sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg==} + engines: {node: '>=10.13.0'} + + webpack-virtual-modules@0.5.0: + resolution: {integrity: sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==} + webpack-virtual-modules@0.6.2: resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==} @@ -10205,6 +10310,8 @@ snapshots: '@sentry-internal/browser-utils': 8.48.0 '@sentry/core': 8.48.0 + '@sentry/babel-plugin-component-annotate@4.6.0': {} + '@sentry/browser@8.48.0': dependencies: '@sentry-internal/browser-utils': 8.48.0 @@ -10213,8 +10320,74 @@ snapshots: '@sentry-internal/replay-canvas': 8.48.0 '@sentry/core': 8.48.0 + '@sentry/bundler-plugin-core@4.6.0': + dependencies: + '@babel/core': 7.27.1 + '@sentry/babel-plugin-component-annotate': 4.6.0 + '@sentry/cli': 2.57.0 + dotenv: 16.6.1 + find-up: 5.0.0 + glob: 9.3.5 + magic-string: 0.30.8 + unplugin: 1.0.1 + transitivePeerDependencies: + - encoding + - supports-color + + '@sentry/cli-darwin@2.57.0': + optional: true + + '@sentry/cli-linux-arm64@2.57.0': + optional: true + + '@sentry/cli-linux-arm@2.57.0': + optional: true + + '@sentry/cli-linux-i686@2.57.0': + optional: true + + '@sentry/cli-linux-x64@2.57.0': + optional: true + + '@sentry/cli-win32-arm64@2.57.0': + optional: true + + '@sentry/cli-win32-i686@2.57.0': + optional: true + + '@sentry/cli-win32-x64@2.57.0': + optional: true + + '@sentry/cli@2.57.0': + dependencies: + https-proxy-agent: 5.0.1 + node-fetch: 2.7.0 + progress: 2.0.3 + proxy-from-env: 1.1.0 + which: 2.0.2 + optionalDependencies: + '@sentry/cli-darwin': 2.57.0 + '@sentry/cli-linux-arm': 2.57.0 + '@sentry/cli-linux-arm64': 2.57.0 + '@sentry/cli-linux-i686': 2.57.0 + '@sentry/cli-linux-x64': 2.57.0 + '@sentry/cli-win32-arm64': 2.57.0 + '@sentry/cli-win32-i686': 2.57.0 + '@sentry/cli-win32-x64': 2.57.0 + transitivePeerDependencies: + - encoding + - supports-color + '@sentry/core@8.48.0': {} + '@sentry/vite-plugin@4.6.0': + dependencies: + '@sentry/bundler-plugin-core': 4.6.0 + unplugin: 1.0.1 + transitivePeerDependencies: + - encoding + - supports-color + '@sentry/vue@8.48.0(pinia@2.2.2(typescript@5.9.2)(vue@3.5.13(typescript@5.9.2)))(vue@3.5.13(typescript@5.9.2))': dependencies: '@sentry/browser': 8.48.0 @@ -11214,6 +11387,12 @@ snapshots: address@1.2.2: {} + agent-base@6.0.2: + dependencies: + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + agent-base@7.1.4: {} agentkeepalive@4.6.0: @@ -12713,6 +12892,8 @@ snapshots: jsonfile: 6.2.0 universalify: 2.0.1 + fs.realpath@1.0.0: {} + fsevents@2.3.2: optional: true @@ -12807,6 +12988,13 @@ snapshots: package-json-from-dist: 1.0.0 path-scurry: 2.0.0 + glob@9.3.5: + dependencies: + fs.realpath: 1.0.0 + minimatch: 8.0.4 + minipass: 4.2.8 + path-scurry: 1.11.1 + global-directory@4.0.1: dependencies: ini: 4.1.1 @@ -12937,6 +13125,13 @@ snapshots: transitivePeerDependencies: - supports-color + https-proxy-agent@5.0.1: + dependencies: + agent-base: 6.0.2 + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + https-proxy-agent@7.0.6: dependencies: agent-base: 7.1.4 @@ -13626,6 +13821,10 @@ snapshots: dependencies: '@jridgewell/sourcemap-codec': 1.5.5 + magic-string@0.30.8: + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + magicast@0.3.5: dependencies: '@babel/parser': 7.28.4 @@ -14031,6 +14230,10 @@ snapshots: dependencies: brace-expansion: 2.0.2 + minimatch@8.0.4: + dependencies: + brace-expansion: 2.0.2 + minimatch@9.0.1: dependencies: brace-expansion: 2.0.2 @@ -14045,6 +14248,8 @@ snapshots: minimist@1.2.8: {} + minipass@4.2.8: {} + minipass@7.1.2: {} minizlib@3.0.2: @@ -14550,6 +14755,8 @@ snapshots: process-nextick-args@2.0.1: {} + progress@2.0.3: {} + promise@7.3.1: dependencies: asap: 2.0.6 @@ -15689,6 +15896,13 @@ snapshots: - rollup - supports-color + unplugin@1.0.1: + dependencies: + acorn: 8.15.0 + chokidar: 3.6.0 + webpack-sources: 3.3.3 + webpack-virtual-modules: 0.5.0 + unplugin@1.16.1: dependencies: acorn: 8.15.0 @@ -16037,6 +16251,10 @@ snapshots: webidl-conversions@7.0.0: {} + webpack-sources@3.3.3: {} + + webpack-virtual-modules@0.5.0: {} + webpack-virtual-modules@0.6.2: {} websocket-driver@0.7.4: diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index a972730cb..c64337b06 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -24,6 +24,7 @@ catalog: '@primevue/forms': ^4.2.5 '@primevue/icons': 4.2.5 '@primevue/themes': ^4.2.5 + '@sentry/vite-plugin': ^4.6.0 '@sentry/vue': ^8.48.0 '@storybook/addon-docs': ^9.1.1 '@storybook/vue3': ^9.1.1 @@ -111,6 +112,7 @@ onlyBuiltDependencies: - '@playwright/browser-chromium' - '@playwright/browser-firefox' - '@playwright/browser-webkit' + - '@sentry/cli' - '@tailwindcss/oxide' - esbuild - nx diff --git a/public/assets/images/og-image.png b/public/assets/images/og-image.png new file mode 100644 index 000000000..df2de857a Binary files /dev/null and b/public/assets/images/og-image.png differ diff --git a/src/assets/palettes/dark.json b/src/assets/palettes/dark.json index 508ec5804..e64a775cc 100644 --- a/src/assets/palettes/dark.json +++ b/src/assets/palettes/dark.json @@ -52,7 +52,7 @@ "comfy_base": { "fg-color": "#fff", "bg-color": "#202020", - "comfy-menu-bg": "#353535", + "comfy-menu-bg": "#11141a", "comfy-menu-secondary-bg": "#303030", "comfy-input-bg": "#222", "input-text": "#ddd", diff --git a/src/assets/palettes/light.json b/src/assets/palettes/light.json index b02acea51..37d1048d9 100644 --- a/src/assets/palettes/light.json +++ b/src/assets/palettes/light.json @@ -68,7 +68,12 @@ "content-fg": "#222", "content-hover-bg": "#adadad", "content-hover-fg": "#222", - "bar-shadow": "rgba(16, 16, 16, 0.25) 0 0 0.5rem" + "bar-shadow": "rgba(16, 16, 16, 0.25) 0 0 0.5rem", + "interface-panel-box-shadow": "1px 1px 8px 0 rgba(0, 0, 0, 0.2)", + "interface-panel-drop-shadow": "1px 1px 4px rgba(0, 0, 0, 0.4)", + "interface-panel-hover-surface": "var(--color-gray-200)", + "interface-panel-selected-surface": "color-mix(in srgb, var(--interface-panel-surface) 78%, var(--contrast-mix-color))", + "contrast-mix-color": "#000" } } } diff --git a/src/components/TopMenuSection.vue b/src/components/TopMenuSection.vue index 6eafdc215..f04bfa248 100644 --- a/src/components/TopMenuSection.vue +++ b/src/components/TopMenuSection.vue @@ -5,7 +5,7 @@
{ diff --git a/src/components/actionbar/ComfyActionbar.vue b/src/components/actionbar/ComfyActionbar.vue index f01beee25..dbcc492ee 100644 --- a/src/components/actionbar/ComfyActionbar.vue +++ b/src/components/actionbar/ComfyActionbar.vue @@ -48,6 +48,7 @@ import { computed, nextTick, onMounted, ref, watch } from 'vue' import { t } from '@/i18n' import { useSettingStore } from '@/platform/settings/settingStore' +import { useTelemetry } from '@/platform/telemetry' import { cn } from '@/utils/tailwindUtil' import ComfyRunButton from './ComfyRunButton' @@ -132,6 +133,15 @@ watch(visible, async (newVisible) => { } }) +/** + * Track run button handle drag start using mousedown on the drag handle. + */ +useEventListener(dragHandleRef, 'mousedown', () => { + useTelemetry()?.trackUiButtonClicked({ + button_id: 'actionbar_run_handle_drag_start' + }) +}) + const lastDragState = ref({ x: x.value, y: y.value, @@ -258,7 +268,9 @@ const panelClass = computed(() => cn( 'actionbar pointer-events-auto z1000', isDragging.value && 'select-none pointer-events-none', - isDocked.value ? 'p-0 static mr-2 border-none bg-transparent' : 'fixed' + isDocked.value + ? 'p-0 static mr-2 border-none bg-transparent' + : 'fixed shadow-interface' ) ) diff --git a/src/components/actionbar/ComfyRunButton/ComfyQueueButton.vue b/src/components/actionbar/ComfyRunButton/ComfyQueueButton.vue index a6359763e..8907ecf44 100644 --- a/src/components/actionbar/ComfyRunButton/ComfyQueueButton.vue +++ b/src/components/actionbar/ComfyRunButton/ComfyQueueButton.vue @@ -100,7 +100,7 @@ import BatchCountEdit from '../BatchCountEdit.vue' const workspaceStore = useWorkspaceStore() const queueCountStore = storeToRefs(useQueuePendingTaskCountStore()) -const { mode: queueMode } = storeToRefs(useQueueSettingsStore()) +const { mode: queueMode, batchCount } = storeToRefs(useQueueSettingsStore()) const { t } = useI18n() const queueModeMenuItemLookup = computed(() => { @@ -118,6 +118,9 @@ const queueModeMenuItemLookup = computed(() => { label: `${t('menu.run')} (${t('menu.onChange')})`, tooltip: t('menu.onChangeTooltip'), command: () => { + useTelemetry()?.trackUiButtonClicked({ + button_id: 'queue_mode_option_run_on_change_selected' + }) queueMode.value = 'change' } } @@ -128,6 +131,9 @@ const queueModeMenuItemLookup = computed(() => { label: `${t('menu.run')} (${t('menu.instant')})`, tooltip: t('menu.instantTooltip'), command: () => { + useTelemetry()?.trackUiButtonClicked({ + button_id: 'queue_mode_option_run_instant_selected' + }) queueMode.value = 'instant' } } @@ -158,11 +164,18 @@ const queuePrompt = async (e: Event) => { ? 'Comfy.QueuePromptFront' : 'Comfy.QueuePrompt' - if (isCloud) { - useTelemetry()?.trackRunButton({ subscribe_to_run: false }) + if (batchCount.value > 1) { + useTelemetry()?.trackUiButtonClicked({ + button_id: 'queue_run_multiple_batches_submitted' + }) } - await commandStore.execute(commandId) + await commandStore.execute(commandId, { + metadata: { + subscribe_to_run: false, + trigger_source: 'button' + } + }) } diff --git a/src/components/breadcrumb/SubgraphBreadcrumb.vue b/src/components/breadcrumb/SubgraphBreadcrumb.vue index c5ee7ab71..6795ee97d 100644 --- a/src/components/breadcrumb/SubgraphBreadcrumb.vue +++ b/src/components/breadcrumb/SubgraphBreadcrumb.vue @@ -1,6 +1,6 @@