{
"error": {
"code": "invalid_workflow",
"message": "Node 12 (KSampler): required input 'model' is not connected",
"organization_id": "org_01HXYZEXAMPLE",
"details": {
"node_errors": {
"12": {
"class_type": "SomeCustomNode",
"errors": [
{
"type": "unknown_node_class",
"message": "this deployment's build does not contain the node class SomeCustomNode."
}
]
}
},
"unknown_node_classes": [
"SomeCustomNode"
]
}
}
}
{
"error": {
"code": "invalid_workflow",
"message": "Node 12 (KSampler): required input 'model' is not connected",
"organization_id": "org_01HXYZEXAMPLE",
"details": {
"node_errors": {
"12": {
"class_type": "SomeCustomNode",
"errors": [
{
"type": "unknown_node_class",
"message": "this deployment's build does not contain the node class SomeCustomNode."
}
]
}
},
"unknown_node_classes": [
"SomeCustomNode"
]
}
}
}
{
"error": {
"code": "invalid_workflow",
"message": "Node 12 (KSampler): required input 'model' is not connected",
"organization_id": "org_01HXYZEXAMPLE",
"details": {
"node_errors": {
"12": {
"class_type": "SomeCustomNode",
"errors": [
{
"type": "unknown_node_class",
"message": "this deployment's build does not contain the node class SomeCustomNode."
}
]
}
},
"unknown_node_classes": [
"SomeCustomNode"
]
}
}
}
{
"error": {
"code": "invalid_workflow",
"message": "Node 12 (KSampler): required input 'model' is not connected",
"organization_id": "org_01HXYZEXAMPLE",
"details": {
"node_errors": {
"12": {
"class_type": "SomeCustomNode",
"errors": [
{
"type": "unknown_node_class",
"message": "this deployment's build does not contain the node class SomeCustomNode."
}
]
}
},
"unknown_node_classes": [
"SomeCustomNode"
]
}
}
}
{
"error": {
"code": "invalid_workflow",
"message": "Node 12 (KSampler): required input 'model' is not connected",
"organization_id": "org_01HXYZEXAMPLE",
"details": {
"node_errors": {
"12": {
"class_type": "SomeCustomNode",
"errors": [
{
"type": "unknown_node_class",
"message": "this deployment's build does not contain the node class SomeCustomNode."
}
]
}
},
"unknown_node_classes": [
"SomeCustomNode"
]
}
}
}
{
"error": {
"code": "invalid_workflow",
"message": "Node 12 (KSampler): required input 'model' is not connected",
"organization_id": "org_01HXYZEXAMPLE",
"details": {
"node_errors": {
"12": {
"class_type": "SomeCustomNode",
"errors": [
{
"type": "unknown_node_class",
"message": "this deployment's build does not contain the node class SomeCustomNode."
}
]
}
},
"unknown_node_classes": [
"SomeCustomNode"
]
}
}
}
{
"error": {
"code": "invalid_workflow",
"message": "Node 12 (KSampler): required input 'model' is not connected",
"organization_id": "org_01HXYZEXAMPLE",
"details": {
"node_errors": {
"12": {
"class_type": "SomeCustomNode",
"errors": [
{
"type": "unknown_node_class",
"message": "this deployment's build does not contain the node class SomeCustomNode."
}
]
}
},
"unknown_node_classes": [
"SomeCustomNode"
]
}
}
}
{
"error": {
"code": "invalid_workflow",
"message": "Node 12 (KSampler): required input 'model' is not connected",
"organization_id": "org_01HXYZEXAMPLE",
"details": {
"node_errors": {
"12": {
"class_type": "SomeCustomNode",
"errors": [
{
"type": "unknown_node_class",
"message": "this deployment's build does not contain the node class SomeCustomNode."
}
]
}
},
"unknown_node_classes": [
"SomeCustomNode"
]
}
}
}
{
"error": {
"code": "invalid_workflow",
"message": "Node 12 (KSampler): required input 'model' is not connected",
"organization_id": "org_01HXYZEXAMPLE",
"details": {
"node_errors": {
"12": {
"class_type": "SomeCustomNode",
"errors": [
{
"type": "unknown_node_class",
"message": "this deployment's build does not contain the node class SomeCustomNode."
}
]
}
},
"unknown_node_classes": [
"SomeCustomNode"
]
}
}
}
jobs
List jobs, newest first
Lists jobs newest first. At a deployment’s address, the jobs sent to
that deployment; at the workspace address, every job in the
caller’s workspace. A caller never sees another workspace’s jobs.
Filter by your own labels with metadata[<key>]=<value>, up to 3
times; a job is listed only when every pair matches exactly. A 4th
filter, a repeated key, a key outside the key rule, or a value with a
character no label may hold (a control character or a bidirectional
embedding, override or isolate, as on submit) is refused 400invalid_metadata_filter. A filter value must be URL-encoded; a raw
; or a bad % escape answers 400invalid_metadata_filter.
Pages: pass the response’s next_cursor back as cursor, with the
same filters, to read the next page. next_cursor is absent on the
last page. Each job appears once across the pages.
List items are a job’s stored record, not the Job object: they
carry no outputs and no urls. Read a job with
GET /api/v2/jobs/{id} for its outputs.
Only the serverless platform lists jobs today. Comfy Cloud answers
501not_implemented.
Authorization: Bearer <credential>. The credential is one of: an account-scoped API key (comfyui-…), accepted on Cloud and serverless; a Comfy Cloud session JWT; or an OAuth access token issued for the Comfy Cloud resource. Which kinds a given deployment accepts is deployment configuration — an API key always works on Cloud and serverless, and a deployment that does not accept JWT bearers answers 401 with a message saying so. Self-hosted accepts unauthenticated requests by default and can be configured with a static bearer token.
The previous page's next_cursor, unchanged. Opaque: do not build or edit one. A cursor that is not well-formed is refused 400invalid_cursor. Cursors are not signed, so a well-formed one is read as a position whether or not this list issued it.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"ComfyUI","colors":{"primary":"#49378B","light":"#F2FF59","dark":"#F2FF59"},"logo":{"light":"https://mintcdn.com/dripart/WCFdTagRdhtvk9-o/logo/light.svg?fit=max\u0026auto=format\u0026n=WCFdTagRdhtvk9-o\u0026q=85\u0026s=ec112de87239058f5a931a7e4b594965","dark":"https://mintcdn.com/dripart/QzWbjSCBG7w61rR3/logo/dark.svg?fit=max\u0026auto=format\u0026n=QzWbjSCBG7w61rR3\u0026q=85\u0026s=62b4d879fb3aadbd7a468d1539032d6f","href":"/"},"favicon":"https://mintcdn.com/dripart/maKDA164-rrTfyxY/favicon.ico?fit=max\u0026auto=format\u0026n=maKDA164-rrTfyxY\u0026q=85\u0026s=94f3a697cf4c9a1ee3961b69219d0942","appearance":{"default":"dark"},"navbar":{"links":[{"href":"https://blog.comfy.org/?utm_source=docs","label":"Blog"},{"href":"/tutorials/partner-nodes/pricing","label":"Pricing"},{"href":"https://platform.comfy.org/?utm_source=docs","label":"Platform"},{"href":"https://comfy.org/download?utm_source=docs","label":"Download"}],"primary":{"type":"button","label":"Comfy Cloud","href":"https://comfy.org/cloud?utm_source=docs"}},"footer":{"socials":{"github":"https://github.com/Comfy-Org/ComfyUI","x":"https://x.com/ComfyUI","discord":"https://discord.com/invite/comfyorg","youtube":"https://www.youtube.com/@comfyorg"},"links":[{"header":"Resources","items":[{"label":"installation","href":"/installation/system_requirements"},{"label":"Tutorials","href":"/tutorials/basic/text-to-image"},{"label":"Development","href":"/development/overview"}]},{"header":"Products","items":[{"label":"Features","href":"https://www.comfy.org/?utm_source=docs"},{"label":"Gallery","href":"https://www.comfy.org/gallery?utm_source=docs"},{"label":"Download","href":"https://www.comfy.org/download?utm_source=docs"}]},{"header":"Company","items":[{"label":"About","href":"https://www.comfy.org/about?utm_source=docs"},{"label":"Careers","href":"https://www.comfy.org/careers?utm_source=docs"},{"label":"Terms of Service","href":"https://www.comfy.org/terms-of-service?utm_source=docs"},{"label":"Privacy Policy","href":"https://www.comfy.org/privacy-policy?utm_source=docs"}]}]},"search":{"prompt":"Search Comfy documentation..."},"seo":{"metatags":{"googlebot":"max-video-preview:0"}},"icons":{"library":"fontawesome"},"integrations":{"ga4":{"measurementId":"G-MXC01ZDDHQ"},"posthog":{"apiKey":"phc_iKfK86id4xVYws9LybMje0h44eGtfwFgRPIBehmy8rO"}},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"styling":{"latex":true},"navigation":{"languages":[{"language":"en","href":""},{"language":"zh","footer":{"socials":{"github":"https://github.com/Comfy-Org/ComfyUI","x":"https://x.com/ComfyUI","discord":"https://discord.com/invite/comfyorg","youtube":"https://www.youtube.com/@comfyorg"},"links":[{"header":"资源","items":[{"label":"安装","href":"/zh/installation/system_requirements"},{"label":"教程","href":"/zh/tutorials/basic/text-to-image"},{"label":"开发","href":"/zh/development/overview"}]},{"header":"产品","items":[{"label":"功能","href":"https://www.comfy.org/?utm_source=docs"},{"label":"画廊","href":"https://www.comfy.org/gallery?utm_source=docs"},{"label":"下载","href":"https://www.comfy.org/download?utm_source=docs"}]},{"header":"公司","items":[{"label":"关于","href":"https://www.comfy.org/about?utm_source=docs"},{"label":"招聘","href":"https://www.comfy.org/careers?utm_source=docs"},{"label":"服务条款","href":"https://www.comfy.org/terms-of-service?utm_source=docs"},{"label":"隐私政策","href":"https://www.comfy.org/privacy-policy?utm_source=docs"}]}]},"href":"zh"},{"language":"ja","footer":{"socials":{"github":"https://github.com/Comfy-Org/ComfyUI","x":"https://x.com/ComfyUI","discord":"https://discord.com/invite/comfyorg","youtube":"https://www.youtube.com/@comfyorg"},"links":[{"header":"リソース","items":[{"label":"インストール","href":"/ja/installation/system_requirements"},{"label":"チュートリアル","href":"/ja/tutorials/basic/text-to-image"},{"label":"開発","href":"/ja/development/overview"}]},{"header":"プロダクト","items":[{"label":"機能","href":"https://www.comfy.org/?utm_source=docs"},{"label":"ギャラリー","href":"https://www.comfy.org/gallery?utm_source=docs"},{"label":"ダウンロード","href":"https://www.comfy.org/download?utm_source=docs"}]},{"header":"会社情報","items":[{"label":"概要","href":"https://www.comfy.org/about?utm_source=docs"},{"label":"採用情報","href":"https://www.comfy.org/careers?utm_source=docs"},{"label":"利用規約","href":"https://www.comfy.org/terms-of-service?utm_source=docs"},{"label":"プライバシーポリシー","href":"https://www.comfy.org/privacy-policy?utm_source=docs"}]}]},"navbar":{"links":[{"href":"/ja/tutorials/partner-nodes/pricing","label":"料金"},{"href":"https://comfy.org/download?utm_source=docs","label":"ダウンロード"}],"primary":{"type":"button","label":"Comfy Cloud","href":"https://comfy.org/cloud?utm_source=docs"}},"href":"ja"},{"language":"ko","footer":{"socials":{"github":"https://github.com/Comfy-Org/ComfyUI","x":"https://x.com/ComfyUI","discord":"https://discord.com/invite/comfyorg","youtube":"https://www.youtube.com/@comfyorg"},"links":[{"header":"리소스","items":[{"label":"설치","href":"/ko/installation/system_requirements"},{"label":"튜토리얼","href":"/ko/tutorials/basic/text-to-image"},{"label":"개발","href":"/ko/development/overview"}]},{"header":"제품","items":[{"label":"기능","href":"https://www.comfy.org/?utm_source=docs"},{"label":"갤러리","href":"https://www.comfy.org/gallery?utm_source=docs"},{"label":"다운로드","href":"https://www.comfy.org/download?utm_source=docs"}]},{"header":"회사 정보","items":[{"label":"소개","href":"https://www.comfy.org/about?utm_source=docs"},{"label":"채용","href":"https://www.comfy.org/careers?utm_source=docs"},{"label":"이용약관","href":"https://www.comfy.org/terms-of-service?utm_source=docs"},{"label":"개인정보 처리방침","href":"https://www.comfy.org/privacy-policy?utm_source=docs"}]}]},"navbar":{"links":[{"href":"/ko/tutorials/partner-nodes/pricing","label":"가격 정책"},{"href":"https://comfy.org/download?utm_source=docs","label":"다운로드"}],"primary":{"type":"button","label":"Comfy Cloud","href":"https://comfy.org/cloud?utm_source=docs"}},"href":"ko"},{"language":"es","href":"es"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"dripart","hasAudioNarration":false,"actualSubdomain":"dripart","customDomains":["docs.comfy.org"],"gitSource":{"type":"github","owner":"comfy-org","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae184d4a2513c80ea10d681","collectionId":"eda93147-4b38-4a84-996b-1f65348086d3","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae184d4a2513c80ea10d681"},"feedback":{"thumbs":true,"edits":true,"issues":true,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"DISABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"DISABLED"}},"buildId":"6ae184d4a2513c80ea10d681","clientVersion":"0.0.3990","searchFilterCounts":[{"language":"en","tag":"Built-in Nodes","count":1133},{"language":"ja","tag":"組み込みノード","count":1133},{"language":"zh","tag":"内置节点","count":1133},{"language":"en","tag":"Nodes","count":1132},{"language":"ja","tag":"ノード","count":1132},{"language":"zh","tag":"节点","count":1132},{"language":"ko","tag":"내장 노드 (Built-in Nodes)","count":1091},{"language":"ko","tag":"노드","count":1090},{"language":"es","tag":"Nodos integrados","count":1025},{"language":"es","tag":"Nodos","count":1024},{"language":"en","tag":"Tutorials","count":403},{"language":"es","tag":"Tutoriales","count":398},{"language":"en","tag":"Model","count":377},{"language":"es","tag":"Modelo","count":377},{"language":"ja","tag":"Model","count":377},{"language":"ko","tag":"Model","count":377},{"language":"zh","tag":"Model","count":377},{"language":"en","tag":"Image","count":347},{"language":"en","tag":"Partner","count":322},{"language":"ja","tag":"Partner","count":322},{"language":"ko","tag":"Partner","count":322},{"language":"zh","tag":"Partner","count":322},{"language":"es","tag":"Partner","count":320},{"language":"es","tag":"Imagen","count":314},{"language":"ja","tag":"はじめに","count":299},{"language":"ko","tag":"시작하기","count":299},{"language":"zh","tag":"开始使用","count":299},{"language":"ja","tag":"API 開発","count":294},{"language":"ko","tag":"API 개발","count":294},{"language":"zh","tag":"API 开发","count":294},{"language":"en","tag":"Video","count":269},{"language":"es","tag":"Comfy Router","count":267},{"language":"ja","tag":"Comfy Router","count":257},{"language":"ko","tag":"Comfy Router","count":257},{"language":"zh","tag":"Comfy Router","count":257},{"language":"en","tag":"Comfy Router","count":251},{"language":"es","tag":"Video","count":244},{"language":"es","tag":"Models","count":230},{"language":"ja","tag":"Models","count":229},{"language":"ko","tag":"Models","count":229},{"language":"zh","tag":"Models","count":229},{"language":"es","tag":"All Models","count":227},{"language":"en","tag":"Models","count":223},{"language":"en","tag":"All Models","count":220},{"language":"ja","tag":"画像","count":202},{"language":"ko","tag":"이미지","count":202},{"language":"zh","tag":"图像","count":202},{"language":"ja","tag":"Video","count":177},{"language":"zh","tag":"Video","count":177},{"language":"ko","tag":"Video","count":160}],"searchSettings":{"maxResults":10}},"assistantConfig":{"enableStarterQuestions":false},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[{"filePath":"custom.css","content":":root{--ink-900:#151417;--hub-shell-light:#f7f6f9;--accent-purple:#49378b;--accent-yellow:#f2ff59;--primary:73 55 139!important;--primary-light:242 255 89!important;--primary-dark:242 255 89!important}html.dark{--primary:242 255 89!important;--background-dark:14 14 13!important}html.dark body{background-color:#0e0e0d!important}html.dark #navbar,html.dark #navbar-transition{background-color:var(--ink-900)!important}html.dark #sidebar,html.dark #sidebar-content{background-color:rgb(var(--background-dark))!important}html.dark #navbar,html.dark #navbar-transition{box-shadow:none!important;filter:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}html.dark #navbar-transition{border-bottom:1px solid rgba(255,255,255,.08)!important;opacity:1!important}html.dark img.nav-logo{filter:none}html.dark #sidebar-content a:not([aria-current=page]){color:rgba(255,255,255,.72)!important}html.dark #sidebar-content a:not([aria-current=page]) *{color:inherit!important}html.dark #sidebar-content a[aria-current=page]{color:var(--accent-yellow)!important;background-color:rgba(242,255,89,.1)!important}html.dark #sidebar-content a[aria-current=page] *{color:inherit!important}html.dark .nav-tabs-item[data-active],html.dark mobile-nav-tabs-item[data-active]{color:var(--accent-yellow)!important}html.dark #navbar a[href*=\"comfy.org/cloud\"] span.absolute{background-color:var(--accent-yellow)!important}html.dark #navbar a[href*=\"comfy.org/cloud\"] span.text-white{color:#151417!important}html:not(.dark) #background-color,html:not(.dark) #navbar,html:not(.dark) #navbar-transition,html:not(.dark) #sidebar,html:not(.dark) #sidebar-content{background-color:var(--hub-shell-light)!important}html:not(.dark) .nav-tabs-item[data-active],html:not(.dark) mobile-nav-tabs-item[data-active],html:not(.dark) nav-dropdown-item[data-active]{background-color:transparent!important;box-shadow:none!important;color:var(--accent-purple)!important;font-weight:600!important}html:not(.dark) #navbar a[href*=\"comfy.org/cloud\"] *,html:not(.dark) #sidebar-content a[aria-current=page] *,html:not(.dark) .nav-tabs-item[data-active] *,html:not(.dark) mobile-nav-tabs-item[data-active] *,html:not(.dark) nav-dropdown-item[data-active] *{color:inherit!important}html:not(.dark) #sidebar-content li:has(>a[aria-current=page]){background-color:transparent!important;box-shadow:none!important}html:not(.dark) #sidebar-content a[aria-current=page]{color:var(--accent-purple)!important;background-color:rgba(73,55,139,.1)!important;font-weight:600!important}html:not(.dark) toc-item[data-active-deepest],html:not(.dark) toc-item[data-active-deepest] a,html:not(.dark) toc-item[data-active],html:not(.dark) toc-item[data-active] a{background-color:transparent!important;color:var(--accent-purple)!important;font-weight:600!important}html:not(.dark) #content-area :where(h1, h2, h3, h4, h5, h6),html:not(.dark) #header :where(h1, h2, h3, h4, h5, h6){color:#151417!important}html:not(.dark) #navbar a[href*=\"comfy.org/cloud\"]{background-color:transparent!important;color:var(--accent-purple)!important;border-radius:.75rem;box-shadow:inset 0 0 0 1px var(--accent-purple)!important}html:not(.dark) #navbar a[href*=\"comfy.org/cloud\"] span.absolute{background-color:transparent!important}#sidebar .sticky.top-0.pointer-events-none.bg-linear-to-b{background-image:none!important}@media (min-width:1024px){#navbar.is-not-custom.is-not-center+div:has(>#sidebar),.max-w-8xl.mx-auto,.max-w-8xl.mx-auto.relative{max-width:none!important;width:100%!important;margin-left:0!important;margin-right:0!important;padding-left:0!important;padding-right:0!important}#navbar [class*=mx-4],#navbar [class*=px-12]{padding-left:0!important;padding-right:1.5rem!important;margin-left:0!important;margin-right:0!important}#navbar .nav-logo,#navbar a.select-none{margin-left:1rem!important}#navbar .nav-tabs{padding-left:2rem!important}#sidebar{left:0!important;margin-left:0!important;box-shadow:none!important}#sidebar-content{margin-left:0!important;padding-left:1rem!important;box-sizing:border-box!important}#navbar,#navbar-transition{left:0!important;right:0!important;width:100%!important;max-width:none!important}#content-area{margin-left:0!important;padding-left:18rem!important}#sidebar.sticky~#content-container #content-area{padding-left:2rem!important;padding-right:2rem!important}#body-content,#content-area,#content-container{max-width:none!important;width:100%!important}:root{--content-width:100%;--sidebar-width:18rem}#sidebar[style],nav#sidebar{left:0!important;right:auto!important;margin-left:0!important;transform:none!important}#navbar li.navbar-link:has(a[href*=\"comfy.org/download\"]){margin-right:0!important}#navbar a[href*=\"comfy.org/download\"]{box-sizing:border-box;border:1px solid rgb(255 255 255/.22);border-radius:.75rem;padding:7px .875rem!important;color:#fff!important;font-size:.875rem;line-height:1.25rem}html:not(.dark) #navbar a[href*=\"comfy.org/download\"]{border-color:rgb(0 0 0/.16);color:#151417!important}#navbar a[href*=\"comfy.org/download\"]:hover{background:rgb(255 255 255/.06)}html:not(.dark) #navbar a[href*=\"comfy.org/download\"]:hover{background:rgb(0 0 0/.04)}#navbar .flex.space-x-6>.whitespace-nowrap.hidden,#navbar li.navbar-link:has(a[href*=\"comfy.org/download\"])+.whitespace-nowrap{margin-left:.5rem!important}}body:has(.router-api-reference-marker) #content,body:has(.router-api-reference-marker) #header{max-width:48rem}body:has(.router-api-reference-marker) #content-area table,body:has(.router-provider-coverage-marker) #content-area table{width:100%;table-layout:auto}body:has(.router-api-reference-marker) #content-area td,body:has(.router-api-reference-marker) #content-area th{min-width:4rem!important;overflow-wrap:anywhere}body:has(.router-api-reference-marker) #content-area table:has(th:nth-child(6)) td:nth-child(3),body:has(.router-api-reference-marker) #content-area table:has(th:nth-child(6)) th:nth-child(3){min-width:5rem!important}@media (max-width:1535px){body:has(.router-api-reference-marker) #content-side-layout{display:none!important}}body:has(.router-provider-coverage-marker) #content,body:has(.router-provider-coverage-marker) #header{max-width:64rem}body:has(.router-provider-coverage-marker) #content-area td,body:has(.router-provider-coverage-marker) #content-area th{min-width:5rem!important;overflow-wrap:anywhere}body:has(.router-provider-coverage-marker) #content-area td:first-child,body:has(.router-provider-coverage-marker) #content-area th:first-child{min-width:12rem!important}body:has(.router-quickstart-marker) [data-component-part=card-content] [data-component-part=code-block-root][style*=\"height: 190px\"],body:has(.router-quickstart-marker) [data-component-part=card-content] [data-component-part=code-block-root][style*=\"height:190px\"]{height:86px!important}"},{"filePath":"samples-cards.css","content":".sample-card-grid{display:grid;gap:20px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:28px}.sample-card{min-width:0;perspective:1200px}.sample-card-inner{height:565px;position:relative;transform-style:preserve-3d;transition:transform 560ms cubic-bezier(.2,.75,.3,1)}.sample-card[data-flipped=true] .sample-card-inner{transform:rotateY(180deg)}.sample-card-face{backface-visibility:hidden;background:#fff;border:1px solid #e5e1eb;border-radius:12px;box-sizing:border-box;height:100%;inset:0;overflow:hidden;position:absolute;width:100%}.sample-card-front{display:flex;flex-direction:column}.sample-card-back{opacity:0;pointer-events:none;transform:rotateY(180deg);visibility:hidden}.sample-card[data-flipped=true] .sample-card-front{pointer-events:none;transition:visibility 0s linear 280ms;visibility:hidden}.sample-card[data-flipped=true][data-active-path=api] .sample-card-back[data-sample-path=api],.sample-card[data-flipped=true][data-active-path=endpoint] .sample-card-back[data-sample-path=endpoint]{opacity:1;pointer-events:auto;visibility:visible}.sample-card-preview{border-bottom:1px solid #e5e1eb;cursor:pointer;display:block;width:100%}.sample-card-body{display:flex;flex:1;flex-direction:column;padding:20px}.sample-card-body h2,.sample-path-body h2{color:#49378b;font-size:18px;font-weight:700;letter-spacing:-.02em;margin:0 0 8px}.sample-path-body h2{text-align:center}.sample-card-body>p{color:#5f5966;font-size:14px;line-height:1.55;margin:0;min-height:66px}.sample-card-actions,.sample-card-links{display:flex;gap:8px;margin-top:20px}.sample-card-actions button{background:#fff;border:1px solid #cfc8de;border-radius:6px;color:#49378b;cursor:pointer;flex:1;font-size:13px;font-weight:700;padding:10px 12px}.sample-card-links{border-top:1px solid #eeeaf1;margin-top:16px;padding-top:12px}.sample-card-links a{color:#625b6c;font-size:12px;font-weight:650;text-decoration:none}.sample-card-links span{color:#b3adba}.sample-path-body{padding:20px}.sample-path-body>button{background:0 0;border:0;color:#625b6c;cursor:pointer;font-size:12px;font-weight:700;padding:0}.sample-path-eyebrow{color:#857a9e;font-size:10px;font-weight:700;letter-spacing:.08em;margin:19px 0 5px;text-align:center;text-transform:uppercase}.sample-path-body>p:not(.sample-path-eyebrow){color:#5f5966;font-size:12px;line-height:1.5;margin:0 0 15px}.sample-path-steps{display:grid;gap:8px}.sample-path-step{align-items:center;background:#faf9fc;border:1px solid #e5e1ea;border-radius:8px;display:flex;gap:10px;padding:10px 11px}.sample-path-number{align-items:center;background:#49378b;border-radius:999px;color:#fff;display:inline-flex;flex:0 0 21px;font-size:11px;font-weight:700;height:21px;justify-content:center}.sample-path-copy{flex:1;min-width:0}.sample-path-copy strong{color:#312c36;display:block;font-size:12px}.sample-path-copy span{color:#706a75;display:block;font-size:11px;line-height:1.35;margin-top:2px}.sample-path-step a{color:#49378b;flex:0 0 auto;font-size:11px;font-weight:700;text-decoration:none}@media (max-width:768px){.sample-card-grid{grid-template-columns:1fr}.sample-card-inner{height:clamp(620px,180vw,760px)}}"}],"page":{"pagePath":"ko/api-reference/v2/jobs/list-jobs-newest-first","slug":"/ko/api-reference/v2/jobs/list-jobs-newest-first","pageMetadata":{"title":"List jobs, newest first","description":"Lists jobs newest first. At a deployment's address, the jobs sent to\nthat deployment; at the workspace address, every job in the\ncaller's workspace. A caller never sees another workspace's jobs.\n\nFilter by your own labels with `metadata[\u003ckey>]=\u003cvalue>`, up to 3\ntimes; a job is listed only when every pair matches exactly. A 4th\nfilter, a repeated key, a key outside the key rule, or a value with a\ncharacter no label may hold (a control character or a bidirectional\nembedding, override or isolate, as on submit) is refused `400`\n`invalid_metadata_filter`. A filter value must be URL-encoded; a raw\n`;` or a bad `%` escape answers `400` `invalid_metadata_filter`.\n\nPages: pass the response's `next_cursor` back as `cursor`, with the\nsame filters, to read the next page. `next_cursor` is absent on the\nlast page. Each job appears once across the pages.\n\nList items are a job's stored record, not the `Job` object: they\ncarry no `outputs` and no `urls`. Read a job with\n`GET /api/v2/jobs/{id}` for its outputs.\n\nOnly the serverless platform lists jobs today. Comfy Cloud answers\n`501` `not_implemented`.\n","deprecated":null,"version":null,"openapi":"/openapi-v2.yaml get /api/v2/jobs","href":"/ko/api-reference/v2/jobs/list-jobs-newest-first","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsx(_components.p, {\n children: \"Lists jobs newest first. At a deployment’s address, the jobs sent to\\nthat deployment; at the workspace address, every job in the\\ncaller’s workspace. A caller never sees another workspace’s jobs.\"\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Filter by your own labels with \", _jsx(_components.code, {\n children: \"metadata[\u003ckey>]=\u003cvalue>\"\n }), \", up to 3\\ntimes; a job is listed only when every pair matches exactly. A 4th\\nfilter, a repeated key, a key outside the key rule, or a value with a\\ncharacter no label may hold (a control character or a bidirectional\\nembedding, override or isolate, as on submit) is refused \", _jsx(_components.code, {\n children: \"400\"\n }), \"\\n\", _jsx(_components.code, {\n children: \"invalid_metadata_filter\"\n }), \". A filter value must be URL-encoded; a raw\\n\", _jsx(_components.code, {\n children: \";\"\n }), \" or a bad \", _jsx(_components.code, {\n children: \"%\"\n }), \" escape answers \", _jsx(_components.code, {\n children: \"400\"\n }), \" \", _jsx(_components.code, {\n children: \"invalid_metadata_filter\"\n }), \".\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Pages: pass the response’s \", _jsx(_components.code, {\n children: \"next_cursor\"\n }), \" back as \", _jsx(_components.code, {\n children: \"cursor\"\n }), \", with the\\nsame filters, to read the next page. \", _jsx(_components.code, {\n children: \"next_cursor\"\n }), \" is absent on the\\nlast page. Each job appears once across the pages.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"List items are a job’s stored record, not the \", _jsx(_components.code, {\n children: \"Job\"\n }), \" object: they\\ncarry no \", _jsx(_components.code, {\n children: \"outputs\"\n }), \" and no \", _jsx(_components.code, {\n children: \"urls\"\n }), \". Read a job with\\n\", _jsx(_components.code, {\n children: \"GET /api/v2/jobs/{id}\"\n }), \" for its outputs.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Only the serverless platform lists jobs today. Comfy Cloud answers\\n\", _jsx(_components.code, {\n children: \"501\"\n }), \" \", _jsx(_components.code, {\n children: \"not_implemented\"\n }), \".\"]\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"List jobs, newest first","description":"Lists jobs newest first. At a deployment's address, the jobs sent to\nthat deployment; at the workspace address, every job in the\ncaller's workspace. A caller never sees another workspace's jobs.\n\nFilter by your own labels with `metadata[\u003ckey>]=\u003cvalue>`, up to 3\ntimes; a job is listed only when every pair matches exactly. A 4th\nfilter, a repeated key, a key outside the key rule, or a value with a\ncharacter no label may hold (a control character or a bidirectional\nembedding, override or isolate, as on submit) is refused `400`\n`invalid_metadata_filter`. A filter value must be URL-encoded; a raw\n`;` or a bad `%` escape answers `400` `invalid_metadata_filter`.\n\nPages: pass the response's `next_cursor` back as `cursor`, with the\nsame filters, to read the next page. `next_cursor` is absent on the\nlast page. Each job appears once across the pages.\n\nList items are a job's stored record, not the `Job` object: they\ncarry no `outputs` and no `urls`. Read a job with\n`GET /api/v2/jobs/{id}` for its outputs.\n\nOnly the serverless platform lists jobs today. Comfy Cloud answers\n`501` `not_implemented`.\n","deprecated":null,"version":null,"openapi":"/openapi-v2.yaml get /api/v2/jobs","href":"/ko/api-reference/v2/jobs/list-jobs-newest-first","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/dripart/9d6bf2b2531e904c/giscus-comments.js","/_mintlify/custom/dripart/bd0341946f3c75a6/syft.js","/_mintlify/custom/dripart/042392a43b5e681e/samples-cards.js"],"openApiReferenceData":{"operation":{"operationId":"listJobs","tags":["jobs"],"summary":"List jobs, newest first","description":"Lists jobs newest first. At a deployment's address, the jobs sent to\nthat deployment; at the workspace address, every job in the\ncaller's workspace. A caller never sees another workspace's jobs.\n\nFilter by your own labels with `metadata[\u003ckey>]=\u003cvalue>`, up to 3\ntimes; a job is listed only when every pair matches exactly. A 4th\nfilter, a repeated key, a key outside the key rule, or a value with a\ncharacter no label may hold (a control character or a bidirectional\nembedding, override or isolate, as on submit) is refused `400`\n`invalid_metadata_filter`. A filter value must be URL-encoded; a raw\n`;` or a bad `%` escape answers `400` `invalid_metadata_filter`.\n\nPages: pass the response's `next_cursor` back as `cursor`, with the\nsame filters, to read the next page. `next_cursor` is absent on the\nlast page. Each job appears once across the pages.\n\nList items are a job's stored record, not the `Job` object: they\ncarry no `outputs` and no `urls`. Read a job with\n`GET /api/v2/jobs/{id}` for its outputs.\n\nOnly the serverless platform lists jobs today. Comfy Cloud answers\n`501` `not_implemented`.\n","parameters":["a81a4c65-6370-4c47-baab-fd4d971d1ad4","8f4ac98d-6cec-4e10-bb42-20e88688fa05","1624e4c0-f02c-4a8f-9f6a-a50d89c4e0f2"],"responses":{"200":"8be11795-e7f7-4d08-a7b6-1b8636ddd477","400":"9ea5cfe5-aee4-4221-a429-cdeabcdc3bf5","401":"ce0fa793-a245-4acf-bf2c-98f9a91cfa3c","403":"29283d93-b43b-48be-aee4-9f67e2ecc6d1","404":"330ac190-439c-4c8f-b775-f7217cc11252","422":"e21f4e31-f9c0-406a-8133-3c2caeb06d10","429":"af82f854-bd4f-4ea3-8bf9-f9138173844f","500":"d0111e15-0279-453c-9bc5-37fd977720c6","501":"63665119-68a0-450a-b400-6a51e377006e","503":"19e92506-26a0-4312-a28f-9e164de52bff"},"method":"get","type":"path","servers":["72285c15-3f8d-4baa-a9a7-f8612f1ceb2a","cdd21e72-90c5-4cf9-b74b-c689f9c44840","0acb10d1-4830-4493-8316-0e54c376fe84"],"security":["0cca3caf-258c-46b0-830a-54df811489c8","e8d780d5-20d5-46f3-89dc-7b2b479b2dc1"],"path":"/api/v2/jobs","baseUrlOptions":["http://127.0.0.1:8189","https://cloud.comfy.org","https://{deployment}.run.comfy.app"],"title":"List jobs, newest first","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"a81a4c65-6370-4c47-baab-fd4d971d1ad4":{"name":"limit","in":"query","required":false,"description":"Most jobs per page. Above 500 is read as 500; absent means 500. Not a positive integer: `422` `invalid_request`.","schema":{"type":"integer","minimum":1,"isRequired":false,"description":"Most jobs per page. Above 500 is read as 500; absent means 500. Not a positive integer: `422` `invalid_request`.","uniqueKey":"","typeLabel":"integer"}},"8f4ac98d-6cec-4e10-bb42-20e88688fa05":{"name":"cursor","in":"query","required":false,"description":"The previous page's `next_cursor`, unchanged. Opaque: do not build or edit one. A cursor that is not well-formed is refused `400` `invalid_cursor`. Cursors are not signed, so a well-formed one is read as a position whether or not this list issued it.","schema":{"type":"string","isRequired":false,"description":"The previous page's `next_cursor`, unchanged. Opaque: do not build or edit one. A cursor that is not well-formed is refused `400` `invalid_cursor`. Cursors are not signed, so a well-formed one is read as a position whether or not this list issued it.","uniqueKey":"","typeLabel":"string"}},"1624e4c0-f02c-4a8f-9f6a-a50d89c4e0f2":{"name":"metadata","in":"query","required":false,"style":"deepObject","explode":true,"description":"Exact-match label filters, written `metadata[client]=acme`. Up to 3; all must match.","schema":{"type":"object","maxProperties":3,"additionalProperties":{"type":"string","uniqueKey":"additionalProperties","typeLabel":"string"},"isRequired":false,"description":"Exact-match label filters, written `metadata[client]=acme`. Up to 3; all must match.","uniqueKey":"","typeLabel":"object"},"example":{"client":"acme"}}},"responses":{"8be11795-e7f7-4d08-a7b6-1b8636ddd477":{"description":"One page of jobs, newest first.","content":{"application/json":{"schema":{"type":"object","description":"One page of `GET /api/v2/jobs`.","required":["jobs"],"properties":{"jobs":{"type":"array","items":{"type":"object","description":"A job's stored record. The fields below are stable; an item may carry more, which a client should ignore rather than rely on.","required":["id","status","create_time","update_time"],"additionalProperties":true,"properties":{"id":{"type":"string","example":"7f3d2c1b-9a8e-4d6f-b012-3c4d5e6f7a8b","isRequired":true,"uniqueKey":"jobs.items.[INDEX].id","typeLabel":"string"},"status":{"type":"string","enum":["queued","running","succeeded","canceling","canceled","failed","expired"],"description":"Lifecycle: queued → running → succeeded | failed | expired;\na cancel request, or the deletion of the deployment the job is running\non, moves running → canceling → canceled.\nTerminal states: succeeded, canceled, failed, expired.\n","isRequired":true,"uniqueKey":"jobs.items.[INDEX].status","typeLabel":"enum\u003cstring>"},"create_time":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"jobs.items.[INDEX].create_time","typeLabel":"string\u003cdate-time>"},"update_time":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"jobs.items.[INDEX].update_time","typeLabel":"string\u003cdate-time>"},"release_version":{"type":"integer","minimum":1,"description":"The version of the release that ran the job. Absent where the serving surface does not report it or could not look it up at the time of the answer.","example":3,"uniqueKey":"jobs.items.[INDEX].release_version","typeLabel":"integer"},"metadata":{"type":"object","description":"The labels the job was submitted with, exactly as sent. Absent when it was sent with none.","additionalProperties":{"type":"string","uniqueKey":"jobs.items.[INDEX].metadata.additionalProperties","typeLabel":"string"},"example":{"client":"acme"},"uniqueKey":"jobs.items.[INDEX].metadata","typeLabel":"object"}},"uniqueKey":"jobs.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"jobs","typeLabel":"object[]"},"next_cursor":{"type":"string","description":"Pass as `cursor` to read the next page. Absent on the last page.","uniqueKey":"next_cursor","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"jobs":[{"id":"7f3d2c1b-9a8e-4d6f-b012-3c4d5e6f7a8b","status":"queued","create_time":"2023-11-07T05:31:56Z","update_time":"2023-11-07T05:31:56Z","release_version":3,"metadata":{"client":"acme"}}],"next_cursor":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"9ea5cfe5-aee4-4221-a429-cdeabcdc3bf5":{"description":"`invalid_metadata_filter` or `invalid_cursor`.","content":{"application/json":{"schema":{"type":"object","description":"Shared error envelope with machine-readable codes. Core codes (v1):\n`invalid_workflow` (422), `workflow_format_ui` (422),\n`missing_asset` (422), `hash_mismatch` (409), `blob_not_found`\n(404), `idempotency_key_reuse` (422), `upload_timed_out` (422: an\nasset upload stopped sending or was too slow; retry from a faster\nconnection),\n`queue_full` (429 + Retry-After), `rate_limited` (429 + Retry-After:\nthe caller is past a request rate limit; retry), `insufficient_credits`\n(402), `not_found` (404), `unauthorized` (401), `forbidden` (403).\nDeployment-scoped surfaces add: `deployment_not_ready` (429 +\nRetry-After — the deployment can still reach ready; retry),\n`deployment_unavailable` (429 + Retry-After: the deployment is ready\nbut its GPU provider is not taking work on it yet; retry),\n`deployment_lookup_unavailable` (503 + Retry-After, on any\noperation: the deployment the address names could not be looked up\njust now; nothing was done, so retry), `database_unavailable` (503 +\nRetry-After, only on a job submit: the job could not be saved just\nnow and nothing was started, so retry), `auth_unavailable` (503 +\nRetry-After, on any operation: the credential could not be checked\njust now, which says nothing about the credential, so retry),\n`output_unavailable` (503 + Retry-After, only on a job status read: an\noutput of the job could not be prepared just now; the job is\nunchanged, so retry after `Retry-After`, and report the job if it\nkeeps answering),\n`deployment_stopped` (422 — terminal deployment state; a retry\ncannot succeed without operator action), `invalid_request` (422:\na malformed asset upload or asset-from-hash field, or a jobs-list\n`limit` that is not a positive integer), `validation_error` (422,\nCloud: an asset upload or asset-from-hash field was refused, e.g. a\ntag over the tag limits), `content_blocked` (451:\ncontent moderation flagged the asset's bytes) and `sso_required` (403:\nthe key is valid, but the account must sign in through its\norganization's single sign-on, which does not accept this key).\nComfy Cloud's asset upload adds `invalid_content_type` (422: the\nrequest is not `multipart/form-data` with a boundary),\n`invalid_body` (422: a malformed multipart body or upload field),\n`validation_error` (422: the platform refused the upload, for example\nan image over the size cap or a disallowed tag) and `upload_busy`\n(503 + Retry-After: the server is busy with other uploads and nothing\nwas stored, so retry).\nJob labels add: `metadata_invalid` (422: a submitted `metadata` breaks a\nlimit; `details.key` names the key, except for too many pairs, which\nhas no `details`), `metadata_not_supported` (422:\nthis surface keeps no job labels yet), `invalid_metadata_filter` (400)\nand `invalid_cursor` (400). A surface that does not list jobs yet\nanswers `not_implemented` (501). A 429 is disambiguated\nby `error.code` alone; clients should treat any 429 + Retry-After\nas \"back off and retry\".\n","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"invalid_workflow","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","example":"Node 12 (KSampler): required input 'model' is not connected","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"organization_id":{"type":"string","description":"On `sso_required`: the organization whose single sign-on governs this key, the one that holds the account, else the one that holds the key's workspace. It is the `organization` query parameter of Comfy Cloud's single sign-on start; treat it as opaque. Absent when the organization is unknown, and on every other code.","example":"org_01HXYZEXAMPLE","uniqueKey":"error.organization_id","typeLabel":"string"},"details":{"oneOf":[{"type":"object","additionalProperties":true,"description":"Machine-readable detail for the code. When it carries `node_errors`, that is keyed by node id and each value is a `JobNodeError`, the same shape as a job's `error.node_errors`, whether the refusal came at submit (for example `unknown_node_class`, a node class the deployment's build does not contain) or from ComfyUI after dispatch. With `unknown_node_class` errors it carries `unknown_node_classes`, the missing classes; with `waits_for_browser` errors, `browser_wait_node_classes`, the classes that wait for a browser. A submit refusal names at most fifty nodes. For `invalid_node`, `invalid_inputs` and `invalid_class_type`, when it found more than fifty, `node_errors_truncated` is true and `malformed_node_count` carries the full count; for `waits_for_browser`, `browser_wait_node_count` does. For `unknown_node_class` it names only nodes whose class is one of the at most ten listed in `unknown_node_classes`; when those nodes number more than fifty, `node_errors_truncated` is true and `unknown_node_count` is how many nodes have a listed class. Nodes whose class is past those ten are neither named nor counted.","example":{"node_errors":{"12":{"class_type":"SomeCustomNode","errors":[{"type":"unknown_node_class","message":"this deployment's build does not contain the node class SomeCustomNode."}]}},"unknown_node_classes":["SomeCustomNode"]},"uniqueKey":"error.details.oneOf.0","typeLabel":"object"},{"type":"null","additionalProperties":true,"description":"Machine-readable detail for the code. When it carries `node_errors`, that is keyed by node id and each value is a `JobNodeError`, the same shape as a job's `error.node_errors`, whether the refusal came at submit (for example `unknown_node_class`, a node class the deployment's build does not contain) or from ComfyUI after dispatch. With `unknown_node_class` errors it carries `unknown_node_classes`, the missing classes; with `waits_for_browser` errors, `browser_wait_node_classes`, the classes that wait for a browser. A submit refusal names at most fifty nodes. For `invalid_node`, `invalid_inputs` and `invalid_class_type`, when it found more than fifty, `node_errors_truncated` is true and `malformed_node_count` carries the full count; for `waits_for_browser`, `browser_wait_node_count` does. For `unknown_node_class` it names only nodes whose class is one of the at most ten listed in `unknown_node_classes`; when those nodes number more than fifty, `node_errors_truncated` is true and `unknown_node_count` is how many nodes have a listed class. Nodes whose class is past those ten are neither named nor counted.","example":{"node_errors":{"12":{"class_type":"SomeCustomNode","errors":[{"type":"unknown_node_class","message":"this deployment's build does not contain the node class SomeCustomNode."}]}},"unknown_node_classes":["SomeCustomNode"]},"uniqueKey":"error.details.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.details","typeLabel":"object | null"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"invalid_workflow","message":"Node 12 (KSampler): required input 'model' is not connected","organization_id":"org_01HXYZEXAMPLE","details":{"node_errors":{"12":{"class_type":"SomeCustomNode","errors":[{"type":"unknown_node_class","message":"this deployment's build does not contain the node class SomeCustomNode."}]}},"unknown_node_classes":["SomeCustomNode"]}}}}},"exampleType":"generated"}},"exampleType":"generated"},"ce0fa793-a245-4acf-bf2c-98f9a91cfa3c":{"description":"`unauthorized`: missing or invalid credentials. A credential that could not be checked answers `auth_unavailable` (503) instead.","content":{"application/json":{"schema":{"type":"object","description":"Shared error envelope with machine-readable codes. Core codes (v1):\n`invalid_workflow` (422), `workflow_format_ui` (422),\n`missing_asset` (422), `hash_mismatch` (409), `blob_not_found`\n(404), `idempotency_key_reuse` (422), `upload_timed_out` (422: an\nasset upload stopped sending or was too slow; retry from a faster\nconnection),\n`queue_full` (429 + Retry-After), `rate_limited` (429 + Retry-After:\nthe caller is past a request rate limit; retry), `insufficient_credits`\n(402), `not_found` (404), `unauthorized` (401), `forbidden` (403).\nDeployment-scoped surfaces add: `deployment_not_ready` (429 +\nRetry-After — the deployment can still reach ready; retry),\n`deployment_unavailable` (429 + Retry-After: the deployment is ready\nbut its GPU provider is not taking work on it yet; retry),\n`deployment_lookup_unavailable` (503 + Retry-After, on any\noperation: the deployment the address names could not be looked up\njust now; nothing was done, so retry), `database_unavailable` (503 +\nRetry-After, only on a job submit: the job could not be saved just\nnow and nothing was started, so retry), `auth_unavailable` (503 +\nRetry-After, on any operation: the credential could not be checked\njust now, which says nothing about the credential, so retry),\n`output_unavailable` (503 + Retry-After, only on a job status read: an\noutput of the job could not be prepared just now; the job is\nunchanged, so retry after `Retry-After`, and report the job if it\nkeeps answering),\n`deployment_stopped` (422 — terminal deployment state; a retry\ncannot succeed without operator action), `invalid_request` (422:\na malformed asset upload or asset-from-hash field, or a jobs-list\n`limit` that is not a positive integer), `validation_error` (422,\nCloud: an asset upload or asset-from-hash field was refused, e.g. a\ntag over the tag limits), `content_blocked` (451:\ncontent moderation flagged the asset's bytes) and `sso_required` (403:\nthe key is valid, but the account must sign in through its\norganization's single sign-on, which does not accept this key).\nComfy Cloud's asset upload adds `invalid_content_type` (422: the\nrequest is not `multipart/form-data` with a boundary),\n`invalid_body` (422: a malformed multipart body or upload field),\n`validation_error` (422: the platform refused the upload, for example\nan image over the size cap or a disallowed tag) and `upload_busy`\n(503 + Retry-After: the server is busy with other uploads and nothing\nwas stored, so retry).\nJob labels add: `metadata_invalid` (422: a submitted `metadata` breaks a\nlimit; `details.key` names the key, except for too many pairs, which\nhas no `details`), `metadata_not_supported` (422:\nthis surface keeps no job labels yet), `invalid_metadata_filter` (400)\nand `invalid_cursor` (400). A surface that does not list jobs yet\nanswers `not_implemented` (501). A 429 is disambiguated\nby `error.code` alone; clients should treat any 429 + Retry-After\nas \"back off and retry\".\n","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"invalid_workflow","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","example":"Node 12 (KSampler): required input 'model' is not connected","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"organization_id":{"type":"string","description":"On `sso_required`: the organization whose single sign-on governs this key, the one that holds the account, else the one that holds the key's workspace. It is the `organization` query parameter of Comfy Cloud's single sign-on start; treat it as opaque. Absent when the organization is unknown, and on every other code.","example":"org_01HXYZEXAMPLE","uniqueKey":"error.organization_id","typeLabel":"string"},"details":{"oneOf":[{"type":"object","additionalProperties":true,"description":"Machine-readable detail for the code. When it carries `node_errors`, that is keyed by node id and each value is a `JobNodeError`, the same shape as a job's `error.node_errors`, whether the refusal came at submit (for example `unknown_node_class`, a node class the deployment's build does not contain) or from ComfyUI after dispatch. With `unknown_node_class` errors it carries `unknown_node_classes`, the missing classes; with `waits_for_browser` errors, `browser_wait_node_classes`, the classes that wait for a browser. A submit refusal names at most fifty nodes. For `invalid_node`, `invalid_inputs` and `invalid_class_type`, when it found more than fifty, `node_errors_truncated` is true and `malformed_node_count` carries the full count; for `waits_for_browser`, `browser_wait_node_count` does. For `unknown_node_class` it names only nodes whose class is one of the at most ten listed in `unknown_node_classes`; when those nodes number more than fifty, `node_errors_truncated` is true and `unknown_node_count` is how many nodes have a listed class. Nodes whose class is past those ten are neither named nor counted.","example":{"node_errors":{"12":{"class_type":"SomeCustomNode","errors":[{"type":"unknown_node_class","message":"this deployment's build does not contain the node class SomeCustomNode."}]}},"unknown_node_classes":["SomeCustomNode"]},"uniqueKey":"error.details.oneOf.0","typeLabel":"object"},{"type":"null","additionalProperties":true,"description":"Machine-readable detail for the code. When it carries `node_errors`, that is keyed by node id and each value is a `JobNodeError`, the same shape as a job's `error.node_errors`, whether the refusal came at submit (for example `unknown_node_class`, a node class the deployment's build does not contain) or from ComfyUI after dispatch. With `unknown_node_class` errors it carries `unknown_node_classes`, the missing classes; with `waits_for_browser` errors, `browser_wait_node_classes`, the classes that wait for a browser. A submit refusal names at most fifty nodes. For `invalid_node`, `invalid_inputs` and `invalid_class_type`, when it found more than fifty, `node_errors_truncated` is true and `malformed_node_count` carries the full count; for `waits_for_browser`, `browser_wait_node_count` does. For `unknown_node_class` it names only nodes whose class is one of the at most ten listed in `unknown_node_classes`; when those nodes number more than fifty, `node_errors_truncated` is true and `unknown_node_count` is how many nodes have a listed class. Nodes whose class is past those ten are neither named nor counted.","example":{"node_errors":{"12":{"class_type":"SomeCustomNode","errors":[{"type":"unknown_node_class","message":"this deployment's build does not contain the node class SomeCustomNode."}]}},"unknown_node_classes":["SomeCustomNode"]},"uniqueKey":"error.details.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.details","typeLabel":"object | null"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"invalid_workflow","message":"Node 12 (KSampler): required input 'model' is not connected","organization_id":"org_01HXYZEXAMPLE","details":{"node_errors":{"12":{"class_type":"SomeCustomNode","errors":[{"type":"unknown_node_class","message":"this deployment's build does not contain the node class SomeCustomNode."}]}},"unknown_node_classes":["SomeCustomNode"]}}}}},"exampleType":"generated"}},"exampleType":"generated"},"29283d93-b43b-48be-aee4-9f67e2ecc6d1":{"description":"`forbidden` — authenticated but not allowed. On a serverless deployment, also `sso_required` — the key is valid, but the account must sign in through its organization's single sign-on, which does not accept this key; it can come back on any operation.","content":{"application/json":{"schema":{"type":"object","description":"Shared error envelope with machine-readable codes. Core codes (v1):\n`invalid_workflow` (422), `workflow_format_ui` (422),\n`missing_asset` (422), `hash_mismatch` (409), `blob_not_found`\n(404), `idempotency_key_reuse` (422), `upload_timed_out` (422: an\nasset upload stopped sending or was too slow; retry from a faster\nconnection),\n`queue_full` (429 + Retry-After), `rate_limited` (429 + Retry-After:\nthe caller is past a request rate limit; retry), `insufficient_credits`\n(402), `not_found` (404), `unauthorized` (401), `forbidden` (403).\nDeployment-scoped surfaces add: `deployment_not_ready` (429 +\nRetry-After — the deployment can still reach ready; retry),\n`deployment_unavailable` (429 + Retry-After: the deployment is ready\nbut its GPU provider is not taking work on it yet; retry),\n`deployment_lookup_unavailable` (503 + Retry-After, on any\noperation: the deployment the address names could not be looked up\njust now; nothing was done, so retry), `database_unavailable` (503 +\nRetry-After, only on a job submit: the job could not be saved just\nnow and nothing was started, so retry), `auth_unavailable` (503 +\nRetry-After, on any operation: the credential could not be checked\njust now, which says nothing about the credential, so retry),\n`output_unavailable` (503 + Retry-After, only on a job status read: an\noutput of the job could not be prepared just now; the job is\nunchanged, so retry after `Retry-After`, and report the job if it\nkeeps answering),\n`deployment_stopped` (422 — terminal deployment state; a retry\ncannot succeed without operator action), `invalid_request` (422:\na malformed asset upload or asset-from-hash field, or a jobs-list\n`limit` that is not a positive integer), `validation_error` (422,\nCloud: an asset upload or asset-from-hash field was refused, e.g. a\ntag over the tag limits), `content_blocked` (451:\ncontent moderation flagged the asset's bytes) and `sso_required` (403:\nthe key is valid, but the account must sign in through its\norganization's single sign-on, which does not accept this key).\nComfy Cloud's asset upload adds `invalid_content_type` (422: the\nrequest is not `multipart/form-data` with a boundary),\n`invalid_body` (422: a malformed multipart body or upload field),\n`validation_error` (422: the platform refused the upload, for example\nan image over the size cap or a disallowed tag) and `upload_busy`\n(503 + Retry-After: the server is busy with other uploads and nothing\nwas stored, so retry).\nJob labels add: `metadata_invalid` (422: a submitted `metadata` breaks a\nlimit; `details.key` names the key, except for too many pairs, which\nhas no `details`), `metadata_not_supported` (422:\nthis surface keeps no job labels yet), `invalid_metadata_filter` (400)\nand `invalid_cursor` (400). A surface that does not list jobs yet\nanswers `not_implemented` (501). A 429 is disambiguated\nby `error.code` alone; clients should treat any 429 + Retry-After\nas \"back off and retry\".\n","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"invalid_workflow","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","example":"Node 12 (KSampler): required input 'model' is not connected","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"organization_id":{"type":"string","description":"On `sso_required`: the organization whose single sign-on governs this key, the one that holds the account, else the one that holds the key's workspace. It is the `organization` query parameter of Comfy Cloud's single sign-on start; treat it as opaque. Absent when the organization is unknown, and on every other code.","example":"org_01HXYZEXAMPLE","uniqueKey":"error.organization_id","typeLabel":"string"},"details":{"oneOf":[{"type":"object","additionalProperties":true,"description":"Machine-readable detail for the code. When it carries `node_errors`, that is keyed by node id and each value is a `JobNodeError`, the same shape as a job's `error.node_errors`, whether the refusal came at submit (for example `unknown_node_class`, a node class the deployment's build does not contain) or from ComfyUI after dispatch. With `unknown_node_class` errors it carries `unknown_node_classes`, the missing classes; with `waits_for_browser` errors, `browser_wait_node_classes`, the classes that wait for a browser. A submit refusal names at most fifty nodes. For `invalid_node`, `invalid_inputs` and `invalid_class_type`, when it found more than fifty, `node_errors_truncated` is true and `malformed_node_count` carries the full count; for `waits_for_browser`, `browser_wait_node_count` does. For `unknown_node_class` it names only nodes whose class is one of the at most ten listed in `unknown_node_classes`; when those nodes number more than fifty, `node_errors_truncated` is true and `unknown_node_count` is how many nodes have a listed class. Nodes whose class is past those ten are neither named nor counted.","example":{"node_errors":{"12":{"class_type":"SomeCustomNode","errors":[{"type":"unknown_node_class","message":"this deployment's build does not contain the node class SomeCustomNode."}]}},"unknown_node_classes":["SomeCustomNode"]},"uniqueKey":"error.details.oneOf.0","typeLabel":"object"},{"type":"null","additionalProperties":true,"description":"Machine-readable detail for the code. When it carries `node_errors`, that is keyed by node id and each value is a `JobNodeError`, the same shape as a job's `error.node_errors`, whether the refusal came at submit (for example `unknown_node_class`, a node class the deployment's build does not contain) or from ComfyUI after dispatch. With `unknown_node_class` errors it carries `unknown_node_classes`, the missing classes; with `waits_for_browser` errors, `browser_wait_node_classes`, the classes that wait for a browser. A submit refusal names at most fifty nodes. For `invalid_node`, `invalid_inputs` and `invalid_class_type`, when it found more than fifty, `node_errors_truncated` is true and `malformed_node_count` carries the full count; for `waits_for_browser`, `browser_wait_node_count` does. For `unknown_node_class` it names only nodes whose class is one of the at most ten listed in `unknown_node_classes`; when those nodes number more than fifty, `node_errors_truncated` is true and `unknown_node_count` is how many nodes have a listed class. Nodes whose class is past those ten are neither named nor counted.","example":{"node_errors":{"12":{"class_type":"SomeCustomNode","errors":[{"type":"unknown_node_class","message":"this deployment's build does not contain the node class SomeCustomNode."}]}},"unknown_node_classes":["SomeCustomNode"]},"uniqueKey":"error.details.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.details","typeLabel":"object | null"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"invalid_workflow","message":"Node 12 (KSampler): required input 'model' is not connected","organization_id":"org_01HXYZEXAMPLE","details":{"node_errors":{"12":{"class_type":"SomeCustomNode","errors":[{"type":"unknown_node_class","message":"this deployment's build does not contain the node class SomeCustomNode."}]}},"unknown_node_classes":["SomeCustomNode"]}}}}},"exampleType":"generated"}},"exampleType":"generated"},"330ac190-439c-4c8f-b775-f7217cc11252":{"description":"`not_found`: on a deployment's address, no deployment there that the caller's workspace owns.","content":{"application/json":{"schema":{"type":"object","description":"Shared error envelope with machine-readable codes. Core codes (v1):\n`invalid_workflow` (422), `workflow_format_ui` (422),\n`missing_asset` (422), `hash_mismatch` (409), `blob_not_found`\n(404), `idempotency_key_reuse` (422), `upload_timed_out` (422: an\nasset upload stopped sending or was too slow; retry from a faster\nconnection),\n`queue_full` (429 + Retry-After), `rate_limited` (429 + Retry-After:\nthe caller is past a request rate limit; retry), `insufficient_credits`\n(402), `not_found` (404), `unauthorized` (401), `forbidden` (403).\nDeployment-scoped surfaces add: `deployment_not_ready` (429 +\nRetry-After — the deployment can still reach ready; retry),\n`deployment_unavailable` (429 + Retry-After: the deployment is ready\nbut its GPU provider is not taking work on it yet; retry),\n`deployment_lookup_unavailable` (503 + Retry-After, on any\noperation: the deployment the address names could not be looked up\njust now; nothing was done, so retry), `database_unavailable` (503 +\nRetry-After, only on a job submit: the job could not be saved just\nnow and nothing was started, so retry), `auth_unavailable` (503 +\nRetry-After, on any operation: the credential could not be checked\njust now, which says nothing about the credential, so retry),\n`output_unavailable` (503 + Retry-After, only on a job status read: an\noutput of the job could not be prepared just now; the job is\nunchanged, so retry after `Retry-After`, and report the job if it\nkeeps answering),\n`deployment_stopped` (422 — terminal deployment state; a retry\ncannot succeed without operator action), `invalid_request` (422:\na malformed asset upload or asset-from-hash field, or a jobs-list\n`limit` that is not a positive integer), `validation_error` (422,\nCloud: an asset upload or asset-from-hash field was refused, e.g. a\ntag over the tag limits), `content_blocked` (451:\ncontent moderation flagged the asset's bytes) and `sso_required` (403:\nthe key is valid, but the account must sign in through its\norganization's single sign-on, which does not accept this key).\nComfy Cloud's asset upload adds `invalid_content_type` (422: the\nrequest is not `multipart/form-data` with a boundary),\n`invalid_body` (422: a malformed multipart body or upload field),\n`validation_error` (422: the platform refused the upload, for example\nan image over the size cap or a disallowed tag) and `upload_busy`\n(503 + Retry-After: the server is busy with other uploads and nothing\nwas stored, so retry).\nJob labels add: `metadata_invalid` (422: a submitted `metadata` breaks a\nlimit; `details.key` names the key, except for too many pairs, which\nhas no `details`), `metadata_not_supported` (422:\nthis surface keeps no job labels yet), `invalid_metadata_filter` (400)\nand `invalid_cursor` (400). A surface that does not list jobs yet\nanswers `not_implemented` (501). A 429 is disambiguated\nby `error.code` alone; clients should treat any 429 + Retry-After\nas \"back off and retry\".\n","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"invalid_workflow","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","example":"Node 12 (KSampler): required input 'model' is not connected","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"organization_id":{"type":"string","description":"On `sso_required`: the organization whose single sign-on governs this key, the one that holds the account, else the one that holds the key's workspace. It is the `organization` query parameter of Comfy Cloud's single sign-on start; treat it as opaque. Absent when the organization is unknown, and on every other code.","example":"org_01HXYZEXAMPLE","uniqueKey":"error.organization_id","typeLabel":"string"},"details":{"oneOf":[{"type":"object","additionalProperties":true,"description":"Machine-readable detail for the code. When it carries `node_errors`, that is keyed by node id and each value is a `JobNodeError`, the same shape as a job's `error.node_errors`, whether the refusal came at submit (for example `unknown_node_class`, a node class the deployment's build does not contain) or from ComfyUI after dispatch. With `unknown_node_class` errors it carries `unknown_node_classes`, the missing classes; with `waits_for_browser` errors, `browser_wait_node_classes`, the classes that wait for a browser. A submit refusal names at most fifty nodes. For `invalid_node`, `invalid_inputs` and `invalid_class_type`, when it found more than fifty, `node_errors_truncated` is true and `malformed_node_count` carries the full count; for `waits_for_browser`, `browser_wait_node_count` does. For `unknown_node_class` it names only nodes whose class is one of the at most ten listed in `unknown_node_classes`; when those nodes number more than fifty, `node_errors_truncated` is true and `unknown_node_count` is how many nodes have a listed class. Nodes whose class is past those ten are neither named nor counted.","example":{"node_errors":{"12":{"class_type":"SomeCustomNode","errors":[{"type":"unknown_node_class","message":"this deployment's build does not contain the node class SomeCustomNode."}]}},"unknown_node_classes":["SomeCustomNode"]},"uniqueKey":"error.details.oneOf.0","typeLabel":"object"},{"type":"null","additionalProperties":true,"description":"Machine-readable detail for the code. When it carries `node_errors`, that is keyed by node id and each value is a `JobNodeError`, the same shape as a job's `error.node_errors`, whether the refusal came at submit (for example `unknown_node_class`, a node class the deployment's build does not contain) or from ComfyUI after dispatch. With `unknown_node_class` errors it carries `unknown_node_classes`, the missing classes; with `waits_for_browser` errors, `browser_wait_node_classes`, the classes that wait for a browser. A submit refusal names at most fifty nodes. For `invalid_node`, `invalid_inputs` and `invalid_class_type`, when it found more than fifty, `node_errors_truncated` is true and `malformed_node_count` carries the full count; for `waits_for_browser`, `browser_wait_node_count` does. For `unknown_node_class` it names only nodes whose class is one of the at most ten listed in `unknown_node_classes`; when those nodes number more than fifty, `node_errors_truncated` is true and `unknown_node_count` is how many nodes have a listed class. Nodes whose class is past those ten are neither named nor counted.","example":{"node_errors":{"12":{"class_type":"SomeCustomNode","errors":[{"type":"unknown_node_class","message":"this deployment's build does not contain the node class SomeCustomNode."}]}},"unknown_node_classes":["SomeCustomNode"]},"uniqueKey":"error.details.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.details","typeLabel":"object | null"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"invalid_workflow","message":"Node 12 (KSampler): required input 'model' is not connected","organization_id":"org_01HXYZEXAMPLE","details":{"node_errors":{"12":{"class_type":"SomeCustomNode","errors":[{"type":"unknown_node_class","message":"this deployment's build does not contain the node class SomeCustomNode."}]}},"unknown_node_classes":["SomeCustomNode"]}}}}},"exampleType":"generated"}},"exampleType":"generated"},"e21f4e31-f9c0-406a-8133-3c2caeb06d10":{"description":"`invalid_request`: `limit` is not a positive integer.","content":{"application/json":{"schema":{"type":"object","description":"Shared error envelope with machine-readable codes. Core codes (v1):\n`invalid_workflow` (422), `workflow_format_ui` (422),\n`missing_asset` (422), `hash_mismatch` (409), `blob_not_found`\n(404), `idempotency_key_reuse` (422), `upload_timed_out` (422: an\nasset upload stopped sending or was too slow; retry from a faster\nconnection),\n`queue_full` (429 + Retry-After), `rate_limited` (429 + Retry-After:\nthe caller is past a request rate limit; retry), `insufficient_credits`\n(402), `not_found` (404), `unauthorized` (401), `forbidden` (403).\nDeployment-scoped surfaces add: `deployment_not_ready` (429 +\nRetry-After — the deployment can still reach ready; retry),\n`deployment_unavailable` (429 + Retry-After: the deployment is ready\nbut its GPU provider is not taking work on it yet; retry),\n`deployment_lookup_unavailable` (503 + Retry-After, on any\noperation: the deployment the address names could not be looked up\njust now; nothing was done, so retry), `database_unavailable` (503 +\nRetry-After, only on a job submit: the job could not be saved just\nnow and nothing was started, so retry), `auth_unavailable` (503 +\nRetry-After, on any operation: the credential could not be checked\njust now, which says nothing about the credential, so retry),\n`output_unavailable` (503 + Retry-After, only on a job status read: an\noutput of the job could not be prepared just now; the job is\nunchanged, so retry after `Retry-After`, and report the job if it\nkeeps answering),\n`deployment_stopped` (422 — terminal deployment state; a retry\ncannot succeed without operator action), `invalid_request` (422:\na malformed asset upload or asset-from-hash field, or a jobs-list\n`limit` that is not a positive integer), `validation_error` (422,\nCloud: an asset upload or asset-from-hash field was refused, e.g. a\ntag over the tag limits), `content_blocked` (451:\ncontent moderation flagged the asset's bytes) and `sso_required` (403:\nthe key is valid, but the account must sign in through its\norganization's single sign-on, which does not accept this key).\nComfy Cloud's asset upload adds `invalid_content_type` (422: the\nrequest is not `multipart/form-data` with a boundary),\n`invalid_body` (422: a malformed multipart body or upload field),\n`validation_error` (422: the platform refused the upload, for example\nan image over the size cap or a disallowed tag) and `upload_busy`\n(503 + Retry-After: the server is busy with other uploads and nothing\nwas stored, so retry).\nJob labels add: `metadata_invalid` (422: a submitted `metadata` breaks a\nlimit; `details.key` names the key, except for too many pairs, which\nhas no `details`), `metadata_not_supported` (422:\nthis surface keeps no job labels yet), `invalid_metadata_filter` (400)\nand `invalid_cursor` (400). A surface that does not list jobs yet\nanswers `not_implemented` (501). A 429 is disambiguated\nby `error.code` alone; clients should treat any 429 + Retry-After\nas \"back off and retry\".\n","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"invalid_workflow","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","example":"Node 12 (KSampler): required input 'model' is not connected","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"organization_id":{"type":"string","description":"On `sso_required`: the organization whose single sign-on governs this key, the one that holds the account, else the one that holds the key's workspace. It is the `organization` query parameter of Comfy Cloud's single sign-on start; treat it as opaque. Absent when the organization is unknown, and on every other code.","example":"org_01HXYZEXAMPLE","uniqueKey":"error.organization_id","typeLabel":"string"},"details":{"oneOf":[{"type":"object","additionalProperties":true,"description":"Machine-readable detail for the code. When it carries `node_errors`, that is keyed by node id and each value is a `JobNodeError`, the same shape as a job's `error.node_errors`, whether the refusal came at submit (for example `unknown_node_class`, a node class the deployment's build does not contain) or from ComfyUI after dispatch. With `unknown_node_class` errors it carries `unknown_node_classes`, the missing classes; with `waits_for_browser` errors, `browser_wait_node_classes`, the classes that wait for a browser. A submit refusal names at most fifty nodes. For `invalid_node`, `invalid_inputs` and `invalid_class_type`, when it found more than fifty, `node_errors_truncated` is true and `malformed_node_count` carries the full count; for `waits_for_browser`, `browser_wait_node_count` does. For `unknown_node_class` it names only nodes whose class is one of the at most ten listed in `unknown_node_classes`; when those nodes number more than fifty, `node_errors_truncated` is true and `unknown_node_count` is how many nodes have a listed class. Nodes whose class is past those ten are neither named nor counted.","example":{"node_errors":{"12":{"class_type":"SomeCustomNode","errors":[{"type":"unknown_node_class","message":"this deployment's build does not contain the node class SomeCustomNode."}]}},"unknown_node_classes":["SomeCustomNode"]},"uniqueKey":"error.details.oneOf.0","typeLabel":"object"},{"type":"null","additionalProperties":true,"description":"Machine-readable detail for the code. When it carries `node_errors`, that is keyed by node id and each value is a `JobNodeError`, the same shape as a job's `error.node_errors`, whether the refusal came at submit (for example `unknown_node_class`, a node class the deployment's build does not contain) or from ComfyUI after dispatch. With `unknown_node_class` errors it carries `unknown_node_classes`, the missing classes; with `waits_for_browser` errors, `browser_wait_node_classes`, the classes that wait for a browser. A submit refusal names at most fifty nodes. For `invalid_node`, `invalid_inputs` and `invalid_class_type`, when it found more than fifty, `node_errors_truncated` is true and `malformed_node_count` carries the full count; for `waits_for_browser`, `browser_wait_node_count` does. For `unknown_node_class` it names only nodes whose class is one of the at most ten listed in `unknown_node_classes`; when those nodes number more than fifty, `node_errors_truncated` is true and `unknown_node_count` is how many nodes have a listed class. Nodes whose class is past those ten are neither named nor counted.","example":{"node_errors":{"12":{"class_type":"SomeCustomNode","errors":[{"type":"unknown_node_class","message":"this deployment's build does not contain the node class SomeCustomNode."}]}},"unknown_node_classes":["SomeCustomNode"]},"uniqueKey":"error.details.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.details","typeLabel":"object | null"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"invalid_workflow","message":"Node 12 (KSampler): required input 'model' is not connected","organization_id":"org_01HXYZEXAMPLE","details":{"node_errors":{"12":{"class_type":"SomeCustomNode","errors":[{"type":"unknown_node_class","message":"this deployment's build does not contain the node class SomeCustomNode."}]}},"unknown_node_classes":["SomeCustomNode"]}}}}},"exampleType":"generated"}},"exampleType":"generated"},"af82f854-bd4f-4ea3-8bf9-f9138173844f":{"description":"`rate_limited` — the caller has exceeded a request rate limit for this account. Account/rate-scoped, not resource-specific — this can be returned even for a job, asset or deployment the caller doesn't own or that doesn't exist.","headers":{"Retry-After":{"schema":{"type":"integer"},"description":"Seconds to wait before retrying."}},"content":{"application/json":{"schema":{"type":"object","description":"Shared error envelope with machine-readable codes. Core codes (v1):\n`invalid_workflow` (422), `workflow_format_ui` (422),\n`missing_asset` (422), `hash_mismatch` (409), `blob_not_found`\n(404), `idempotency_key_reuse` (422), `upload_timed_out` (422: an\nasset upload stopped sending or was too slow; retry from a faster\nconnection),\n`queue_full` (429 + Retry-After), `rate_limited` (429 + Retry-After:\nthe caller is past a request rate limit; retry), `insufficient_credits`\n(402), `not_found` (404), `unauthorized` (401), `forbidden` (403).\nDeployment-scoped surfaces add: `deployment_not_ready` (429 +\nRetry-After — the deployment can still reach ready; retry),\n`deployment_unavailable` (429 + Retry-After: the deployment is ready\nbut its GPU provider is not taking work on it yet; retry),\n`deployment_lookup_unavailable` (503 + Retry-After, on any\noperation: the deployment the address names could not be looked up\njust now; nothing was done, so retry), `database_unavailable` (503 +\nRetry-After, only on a job submit: the job could not be saved just\nnow and nothing was started, so retry), `auth_unavailable` (503 +\nRetry-After, on any operation: the credential could not be checked\njust now, which says nothing about the credential, so retry),\n`output_unavailable` (503 + Retry-After, only on a job status read: an\noutput of the job could not be prepared just now; the job is\nunchanged, so retry after `Retry-After`, and report the job if it\nkeeps answering),\n`deployment_stopped` (422 — terminal deployment state; a retry\ncannot succeed without operator action), `invalid_request` (422:\na malformed asset upload or asset-from-hash field, or a jobs-list\n`limit` that is not a positive integer), `validation_error` (422,\nCloud: an asset upload or asset-from-hash field was refused, e.g. a\ntag over the tag limits), `content_blocked` (451:\ncontent moderation flagged the asset's bytes) and `sso_required` (403:\nthe key is valid, but the account must sign in through its\norganization's single sign-on, which does not accept this key).\nComfy Cloud's asset upload adds `invalid_content_type` (422: the\nrequest is not `multipart/form-data` with a boundary),\n`invalid_body` (422: a malformed multipart body or upload field),\n`validation_error` (422: the platform refused the upload, for example\nan image over the size cap or a disallowed tag) and `upload_busy`\n(503 + Retry-After: the server is busy with other uploads and nothing\nwas stored, so retry).\nJob labels add: `metadata_invalid` (422: a submitted `metadata` breaks a\nlimit; `details.key` names the key, except for too many pairs, which\nhas no `details`), `metadata_not_supported` (422:\nthis surface keeps no job labels yet), `invalid_metadata_filter` (400)\nand `invalid_cursor` (400). A surface that does not list jobs yet\nanswers `not_implemented` (501). A 429 is disambiguated\nby `error.code` alone; clients should treat any 429 + Retry-After\nas \"back off and retry\".\n","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"invalid_workflow","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","example":"Node 12 (KSampler): required input 'model' is not connected","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"organization_id":{"type":"string","description":"On `sso_required`: the organization whose single sign-on governs this key, the one that holds the account, else the one that holds the key's workspace. It is the `organization` query parameter of Comfy Cloud's single sign-on start; treat it as opaque. Absent when the organization is unknown, and on every other code.","example":"org_01HXYZEXAMPLE","uniqueKey":"error.organization_id","typeLabel":"string"},"details":{"oneOf":[{"type":"object","additionalProperties":true,"description":"Machine-readable detail for the code. When it carries `node_errors`, that is keyed by node id and each value is a `JobNodeError`, the same shape as a job's `error.node_errors`, whether the refusal came at submit (for example `unknown_node_class`, a node class the deployment's build does not contain) or from ComfyUI after dispatch. With `unknown_node_class` errors it carries `unknown_node_classes`, the missing classes; with `waits_for_browser` errors, `browser_wait_node_classes`, the classes that wait for a browser. A submit refusal names at most fifty nodes. For `invalid_node`, `invalid_inputs` and `invalid_class_type`, when it found more than fifty, `node_errors_truncated` is true and `malformed_node_count` carries the full count; for `waits_for_browser`, `browser_wait_node_count` does. For `unknown_node_class` it names only nodes whose class is one of the at most ten listed in `unknown_node_classes`; when those nodes number more than fifty, `node_errors_truncated` is true and `unknown_node_count` is how many nodes have a listed class. Nodes whose class is past those ten are neither named nor counted.","example":{"node_errors":{"12":{"class_type":"SomeCustomNode","errors":[{"type":"unknown_node_class","message":"this deployment's build does not contain the node class SomeCustomNode."}]}},"unknown_node_classes":["SomeCustomNode"]},"uniqueKey":"error.details.oneOf.0","typeLabel":"object"},{"type":"null","additionalProperties":true,"description":"Machine-readable detail for the code. When it carries `node_errors`, that is keyed by node id and each value is a `JobNodeError`, the same shape as a job's `error.node_errors`, whether the refusal came at submit (for example `unknown_node_class`, a node class the deployment's build does not contain) or from ComfyUI after dispatch. With `unknown_node_class` errors it carries `unknown_node_classes`, the missing classes; with `waits_for_browser` errors, `browser_wait_node_classes`, the classes that wait for a browser. A submit refusal names at most fifty nodes. For `invalid_node`, `invalid_inputs` and `invalid_class_type`, when it found more than fifty, `node_errors_truncated` is true and `malformed_node_count` carries the full count; for `waits_for_browser`, `browser_wait_node_count` does. For `unknown_node_class` it names only nodes whose class is one of the at most ten listed in `unknown_node_classes`; when those nodes number more than fifty, `node_errors_truncated` is true and `unknown_node_count` is how many nodes have a listed class. Nodes whose class is past those ten are neither named nor counted.","example":{"node_errors":{"12":{"class_type":"SomeCustomNode","errors":[{"type":"unknown_node_class","message":"this deployment's build does not contain the node class SomeCustomNode."}]}},"unknown_node_classes":["SomeCustomNode"]},"uniqueKey":"error.details.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.details","typeLabel":"object | null"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"invalid_workflow","message":"Node 12 (KSampler): required input 'model' is not connected","organization_id":"org_01HXYZEXAMPLE","details":{"node_errors":{"12":{"class_type":"SomeCustomNode","errors":[{"type":"unknown_node_class","message":"this deployment's build does not contain the node class SomeCustomNode."}]}},"unknown_node_classes":["SomeCustomNode"]}}}}},"exampleType":"generated"}},"exampleType":"generated"},"d0111e15-0279-453c-9bc5-37fd977720c6":{"description":"`upstream_error` — an unexpected failure reaching or processing the request in this implementation's backing services. The message is always a generic, safe-to-display string; implementation detail (the specific upstream, its error text, transport failures) is never included here — see each implementation's own error-mapping notes. Every operation in this contract can fail this way.","content":{"application/json":{"schema":{"type":"object","description":"Shared error envelope with machine-readable codes. Core codes (v1):\n`invalid_workflow` (422), `workflow_format_ui` (422),\n`missing_asset` (422), `hash_mismatch` (409), `blob_not_found`\n(404), `idempotency_key_reuse` (422), `upload_timed_out` (422: an\nasset upload stopped sending or was too slow; retry from a faster\nconnection),\n`queue_full` (429 + Retry-After), `rate_limited` (429 + Retry-After:\nthe caller is past a request rate limit; retry), `insufficient_credits`\n(402), `not_found` (404), `unauthorized` (401), `forbidden` (403).\nDeployment-scoped surfaces add: `deployment_not_ready` (429 +\nRetry-After — the deployment can still reach ready; retry),\n`deployment_unavailable` (429 + Retry-After: the deployment is ready\nbut its GPU provider is not taking work on it yet; retry),\n`deployment_lookup_unavailable` (503 + Retry-After, on any\noperation: the deployment the address names could not be looked up\njust now; nothing was done, so retry), `database_unavailable` (503 +\nRetry-After, only on a job submit: the job could not be saved just\nnow and nothing was started, so retry), `auth_unavailable` (503 +\nRetry-After, on any operation: the credential could not be checked\njust now, which says nothing about the credential, so retry),\n`output_unavailable` (503 + Retry-After, only on a job status read: an\noutput of the job could not be prepared just now; the job is\nunchanged, so retry after `Retry-After`, and report the job if it\nkeeps answering),\n`deployment_stopped` (422 — terminal deployment state; a retry\ncannot succeed without operator action), `invalid_request` (422:\na malformed asset upload or asset-from-hash field, or a jobs-list\n`limit` that is not a positive integer), `validation_error` (422,\nCloud: an asset upload or asset-from-hash field was refused, e.g. a\ntag over the tag limits), `content_blocked` (451:\ncontent moderation flagged the asset's bytes) and `sso_required` (403:\nthe key is valid, but the account must sign in through its\norganization's single sign-on, which does not accept this key).\nComfy Cloud's asset upload adds `invalid_content_type` (422: the\nrequest is not `multipart/form-data` with a boundary),\n`invalid_body` (422: a malformed multipart body or upload field),\n`validation_error` (422: the platform refused the upload, for example\nan image over the size cap or a disallowed tag) and `upload_busy`\n(503 + Retry-After: the server is busy with other uploads and nothing\nwas stored, so retry).\nJob labels add: `metadata_invalid` (422: a submitted `metadata` breaks a\nlimit; `details.key` names the key, except for too many pairs, which\nhas no `details`), `metadata_not_supported` (422:\nthis surface keeps no job labels yet), `invalid_metadata_filter` (400)\nand `invalid_cursor` (400). A surface that does not list jobs yet\nanswers `not_implemented` (501). A 429 is disambiguated\nby `error.code` alone; clients should treat any 429 + Retry-After\nas \"back off and retry\".\n","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"invalid_workflow","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","example":"Node 12 (KSampler): required input 'model' is not connected","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"organization_id":{"type":"string","description":"On `sso_required`: the organization whose single sign-on governs this key, the one that holds the account, else the one that holds the key's workspace. It is the `organization` query parameter of Comfy Cloud's single sign-on start; treat it as opaque. Absent when the organization is unknown, and on every other code.","example":"org_01HXYZEXAMPLE","uniqueKey":"error.organization_id","typeLabel":"string"},"details":{"oneOf":[{"type":"object","additionalProperties":true,"description":"Machine-readable detail for the code. When it carries `node_errors`, that is keyed by node id and each value is a `JobNodeError`, the same shape as a job's `error.node_errors`, whether the refusal came at submit (for example `unknown_node_class`, a node class the deployment's build does not contain) or from ComfyUI after dispatch. With `unknown_node_class` errors it carries `unknown_node_classes`, the missing classes; with `waits_for_browser` errors, `browser_wait_node_classes`, the classes that wait for a browser. A submit refusal names at most fifty nodes. For `invalid_node`, `invalid_inputs` and `invalid_class_type`, when it found more than fifty, `node_errors_truncated` is true and `malformed_node_count` carries the full count; for `waits_for_browser`, `browser_wait_node_count` does. For `unknown_node_class` it names only nodes whose class is one of the at most ten listed in `unknown_node_classes`; when those nodes number more than fifty, `node_errors_truncated` is true and `unknown_node_count` is how many nodes have a listed class. Nodes whose class is past those ten are neither named nor counted.","example":{"node_errors":{"12":{"class_type":"SomeCustomNode","errors":[{"type":"unknown_node_class","message":"this deployment's build does not contain the node class SomeCustomNode."}]}},"unknown_node_classes":["SomeCustomNode"]},"uniqueKey":"error.details.oneOf.0","typeLabel":"object"},{"type":"null","additionalProperties":true,"description":"Machine-readable detail for the code. When it carries `node_errors`, that is keyed by node id and each value is a `JobNodeError`, the same shape as a job's `error.node_errors`, whether the refusal came at submit (for example `unknown_node_class`, a node class the deployment's build does not contain) or from ComfyUI after dispatch. With `unknown_node_class` errors it carries `unknown_node_classes`, the missing classes; with `waits_for_browser` errors, `browser_wait_node_classes`, the classes that wait for a browser. A submit refusal names at most fifty nodes. For `invalid_node`, `invalid_inputs` and `invalid_class_type`, when it found more than fifty, `node_errors_truncated` is true and `malformed_node_count` carries the full count; for `waits_for_browser`, `browser_wait_node_count` does. For `unknown_node_class` it names only nodes whose class is one of the at most ten listed in `unknown_node_classes`; when those nodes number more than fifty, `node_errors_truncated` is true and `unknown_node_count` is how many nodes have a listed class. Nodes whose class is past those ten are neither named nor counted.","example":{"node_errors":{"12":{"class_type":"SomeCustomNode","errors":[{"type":"unknown_node_class","message":"this deployment's build does not contain the node class SomeCustomNode."}]}},"unknown_node_classes":["SomeCustomNode"]},"uniqueKey":"error.details.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.details","typeLabel":"object | null"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"invalid_workflow","message":"Node 12 (KSampler): required input 'model' is not connected","organization_id":"org_01HXYZEXAMPLE","details":{"node_errors":{"12":{"class_type":"SomeCustomNode","errors":[{"type":"unknown_node_class","message":"this deployment's build does not contain the node class SomeCustomNode."}]}},"unknown_node_classes":["SomeCustomNode"]}}}}},"exampleType":"generated"}},"exampleType":"generated"},"63665119-68a0-450a-b400-6a51e377006e":{"description":"`not_implemented`: this surface does not list jobs yet.","content":{"application/json":{"schema":{"type":"object","description":"Shared error envelope with machine-readable codes. Core codes (v1):\n`invalid_workflow` (422), `workflow_format_ui` (422),\n`missing_asset` (422), `hash_mismatch` (409), `blob_not_found`\n(404), `idempotency_key_reuse` (422), `upload_timed_out` (422: an\nasset upload stopped sending or was too slow; retry from a faster\nconnection),\n`queue_full` (429 + Retry-After), `rate_limited` (429 + Retry-After:\nthe caller is past a request rate limit; retry), `insufficient_credits`\n(402), `not_found` (404), `unauthorized` (401), `forbidden` (403).\nDeployment-scoped surfaces add: `deployment_not_ready` (429 +\nRetry-After — the deployment can still reach ready; retry),\n`deployment_unavailable` (429 + Retry-After: the deployment is ready\nbut its GPU provider is not taking work on it yet; retry),\n`deployment_lookup_unavailable` (503 + Retry-After, on any\noperation: the deployment the address names could not be looked up\njust now; nothing was done, so retry), `database_unavailable` (503 +\nRetry-After, only on a job submit: the job could not be saved just\nnow and nothing was started, so retry), `auth_unavailable` (503 +\nRetry-After, on any operation: the credential could not be checked\njust now, which says nothing about the credential, so retry),\n`output_unavailable` (503 + Retry-After, only on a job status read: an\noutput of the job could not be prepared just now; the job is\nunchanged, so retry after `Retry-After`, and report the job if it\nkeeps answering),\n`deployment_stopped` (422 — terminal deployment state; a retry\ncannot succeed without operator action), `invalid_request` (422:\na malformed asset upload or asset-from-hash field, or a jobs-list\n`limit` that is not a positive integer), `validation_error` (422,\nCloud: an asset upload or asset-from-hash field was refused, e.g. a\ntag over the tag limits), `content_blocked` (451:\ncontent moderation flagged the asset's bytes) and `sso_required` (403:\nthe key is valid, but the account must sign in through its\norganization's single sign-on, which does not accept this key).\nComfy Cloud's asset upload adds `invalid_content_type` (422: the\nrequest is not `multipart/form-data` with a boundary),\n`invalid_body` (422: a malformed multipart body or upload field),\n`validation_error` (422: the platform refused the upload, for example\nan image over the size cap or a disallowed tag) and `upload_busy`\n(503 + Retry-After: the server is busy with other uploads and nothing\nwas stored, so retry).\nJob labels add: `metadata_invalid` (422: a submitted `metadata` breaks a\nlimit; `details.key` names the key, except for too many pairs, which\nhas no `details`), `metadata_not_supported` (422:\nthis surface keeps no job labels yet), `invalid_metadata_filter` (400)\nand `invalid_cursor` (400). A surface that does not list jobs yet\nanswers `not_implemented` (501). A 429 is disambiguated\nby `error.code` alone; clients should treat any 429 + Retry-After\nas \"back off and retry\".\n","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"invalid_workflow","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","example":"Node 12 (KSampler): required input 'model' is not connected","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"organization_id":{"type":"string","description":"On `sso_required`: the organization whose single sign-on governs this key, the one that holds the account, else the one that holds the key's workspace. It is the `organization` query parameter of Comfy Cloud's single sign-on start; treat it as opaque. Absent when the organization is unknown, and on every other code.","example":"org_01HXYZEXAMPLE","uniqueKey":"error.organization_id","typeLabel":"string"},"details":{"oneOf":[{"type":"object","additionalProperties":true,"description":"Machine-readable detail for the code. When it carries `node_errors`, that is keyed by node id and each value is a `JobNodeError`, the same shape as a job's `error.node_errors`, whether the refusal came at submit (for example `unknown_node_class`, a node class the deployment's build does not contain) or from ComfyUI after dispatch. With `unknown_node_class` errors it carries `unknown_node_classes`, the missing classes; with `waits_for_browser` errors, `browser_wait_node_classes`, the classes that wait for a browser. A submit refusal names at most fifty nodes. For `invalid_node`, `invalid_inputs` and `invalid_class_type`, when it found more than fifty, `node_errors_truncated` is true and `malformed_node_count` carries the full count; for `waits_for_browser`, `browser_wait_node_count` does. For `unknown_node_class` it names only nodes whose class is one of the at most ten listed in `unknown_node_classes`; when those nodes number more than fifty, `node_errors_truncated` is true and `unknown_node_count` is how many nodes have a listed class. Nodes whose class is past those ten are neither named nor counted.","example":{"node_errors":{"12":{"class_type":"SomeCustomNode","errors":[{"type":"unknown_node_class","message":"this deployment's build does not contain the node class SomeCustomNode."}]}},"unknown_node_classes":["SomeCustomNode"]},"uniqueKey":"error.details.oneOf.0","typeLabel":"object"},{"type":"null","additionalProperties":true,"description":"Machine-readable detail for the code. When it carries `node_errors`, that is keyed by node id and each value is a `JobNodeError`, the same shape as a job's `error.node_errors`, whether the refusal came at submit (for example `unknown_node_class`, a node class the deployment's build does not contain) or from ComfyUI after dispatch. With `unknown_node_class` errors it carries `unknown_node_classes`, the missing classes; with `waits_for_browser` errors, `browser_wait_node_classes`, the classes that wait for a browser. A submit refusal names at most fifty nodes. For `invalid_node`, `invalid_inputs` and `invalid_class_type`, when it found more than fifty, `node_errors_truncated` is true and `malformed_node_count` carries the full count; for `waits_for_browser`, `browser_wait_node_count` does. For `unknown_node_class` it names only nodes whose class is one of the at most ten listed in `unknown_node_classes`; when those nodes number more than fifty, `node_errors_truncated` is true and `unknown_node_count` is how many nodes have a listed class. Nodes whose class is past those ten are neither named nor counted.","example":{"node_errors":{"12":{"class_type":"SomeCustomNode","errors":[{"type":"unknown_node_class","message":"this deployment's build does not contain the node class SomeCustomNode."}]}},"unknown_node_classes":["SomeCustomNode"]},"uniqueKey":"error.details.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.details","typeLabel":"object | null"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"invalid_workflow","message":"Node 12 (KSampler): required input 'model' is not connected","organization_id":"org_01HXYZEXAMPLE","details":{"node_errors":{"12":{"class_type":"SomeCustomNode","errors":[{"type":"unknown_node_class","message":"this deployment's build does not contain the node class SomeCustomNode."}]}},"unknown_node_classes":["SomeCustomNode"]}}}}},"exampleType":"generated"}},"exampleType":"generated"},"19e92506-26a0-4312-a28f-9e164de52bff":{"description":"On deployment-scoped surfaces, `deployment_lookup_unavailable`: the deployment this address names could not be looked up just now. The request was refused before it did anything (nothing was created, read, changed or canceled), so the same request can be sent again after `Retry-After`. Every operation at a deployment's address can answer this way. A job submit can also answer this 503 with `database_unavailable`: the job could not be saved just now and nothing was started, so the same request can be sent again after `Retry-After`. No other operation answers `database_unavailable`. On Comfy Cloud an asset upload can also answer this 503 with `upload_busy`: the server is busy with other uploads and nothing was stored, so the same upload can be sent again after `Retry-After`. Any operation can also answer this 503 with `auth_unavailable`: the credential could not be checked just now, so the same request can be sent again after `Retry-After`. A job status read can also answer it with `output_unavailable`: an output of the job could not be prepared just now, and the job is unchanged. A transient storage failure clears on a later read after `Retry-After`; an output whose stored address is broken answers it on every read until the platform repairs the output.","headers":{"Retry-After":{"schema":{"type":"integer"},"description":"Seconds to wait before retrying."}},"content":{"application/json":{"schema":{"type":"object","description":"Shared error envelope with machine-readable codes. Core codes (v1):\n`invalid_workflow` (422), `workflow_format_ui` (422),\n`missing_asset` (422), `hash_mismatch` (409), `blob_not_found`\n(404), `idempotency_key_reuse` (422), `upload_timed_out` (422: an\nasset upload stopped sending or was too slow; retry from a faster\nconnection),\n`queue_full` (429 + Retry-After), `rate_limited` (429 + Retry-After:\nthe caller is past a request rate limit; retry), `insufficient_credits`\n(402), `not_found` (404), `unauthorized` (401), `forbidden` (403).\nDeployment-scoped surfaces add: `deployment_not_ready` (429 +\nRetry-After — the deployment can still reach ready; retry),\n`deployment_unavailable` (429 + Retry-After: the deployment is ready\nbut its GPU provider is not taking work on it yet; retry),\n`deployment_lookup_unavailable` (503 + Retry-After, on any\noperation: the deployment the address names could not be looked up\njust now; nothing was done, so retry), `database_unavailable` (503 +\nRetry-After, only on a job submit: the job could not be saved just\nnow and nothing was started, so retry), `auth_unavailable` (503 +\nRetry-After, on any operation: the credential could not be checked\njust now, which says nothing about the credential, so retry),\n`output_unavailable` (503 + Retry-After, only on a job status read: an\noutput of the job could not be prepared just now; the job is\nunchanged, so retry after `Retry-After`, and report the job if it\nkeeps answering),\n`deployment_stopped` (422 — terminal deployment state; a retry\ncannot succeed without operator action), `invalid_request` (422:\na malformed asset upload or asset-from-hash field, or a jobs-list\n`limit` that is not a positive integer), `validation_error` (422,\nCloud: an asset upload or asset-from-hash field was refused, e.g. a\ntag over the tag limits), `content_blocked` (451:\ncontent moderation flagged the asset's bytes) and `sso_required` (403:\nthe key is valid, but the account must sign in through its\norganization's single sign-on, which does not accept this key).\nComfy Cloud's asset upload adds `invalid_content_type` (422: the\nrequest is not `multipart/form-data` with a boundary),\n`invalid_body` (422: a malformed multipart body or upload field),\n`validation_error` (422: the platform refused the upload, for example\nan image over the size cap or a disallowed tag) and `upload_busy`\n(503 + Retry-After: the server is busy with other uploads and nothing\nwas stored, so retry).\nJob labels add: `metadata_invalid` (422: a submitted `metadata` breaks a\nlimit; `details.key` names the key, except for too many pairs, which\nhas no `details`), `metadata_not_supported` (422:\nthis surface keeps no job labels yet), `invalid_metadata_filter` (400)\nand `invalid_cursor` (400). A surface that does not list jobs yet\nanswers `not_implemented` (501). A 429 is disambiguated\nby `error.code` alone; clients should treat any 429 + Retry-After\nas \"back off and retry\".\n","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"invalid_workflow","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","example":"Node 12 (KSampler): required input 'model' is not connected","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"organization_id":{"type":"string","description":"On `sso_required`: the organization whose single sign-on governs this key, the one that holds the account, else the one that holds the key's workspace. It is the `organization` query parameter of Comfy Cloud's single sign-on start; treat it as opaque. Absent when the organization is unknown, and on every other code.","example":"org_01HXYZEXAMPLE","uniqueKey":"error.organization_id","typeLabel":"string"},"details":{"oneOf":[{"type":"object","additionalProperties":true,"description":"Machine-readable detail for the code. When it carries `node_errors`, that is keyed by node id and each value is a `JobNodeError`, the same shape as a job's `error.node_errors`, whether the refusal came at submit (for example `unknown_node_class`, a node class the deployment's build does not contain) or from ComfyUI after dispatch. With `unknown_node_class` errors it carries `unknown_node_classes`, the missing classes; with `waits_for_browser` errors, `browser_wait_node_classes`, the classes that wait for a browser. A submit refusal names at most fifty nodes. For `invalid_node`, `invalid_inputs` and `invalid_class_type`, when it found more than fifty, `node_errors_truncated` is true and `malformed_node_count` carries the full count; for `waits_for_browser`, `browser_wait_node_count` does. For `unknown_node_class` it names only nodes whose class is one of the at most ten listed in `unknown_node_classes`; when those nodes number more than fifty, `node_errors_truncated` is true and `unknown_node_count` is how many nodes have a listed class. Nodes whose class is past those ten are neither named nor counted.","example":{"node_errors":{"12":{"class_type":"SomeCustomNode","errors":[{"type":"unknown_node_class","message":"this deployment's build does not contain the node class SomeCustomNode."}]}},"unknown_node_classes":["SomeCustomNode"]},"uniqueKey":"error.details.oneOf.0","typeLabel":"object"},{"type":"null","additionalProperties":true,"description":"Machine-readable detail for the code. When it carries `node_errors`, that is keyed by node id and each value is a `JobNodeError`, the same shape as a job's `error.node_errors`, whether the refusal came at submit (for example `unknown_node_class`, a node class the deployment's build does not contain) or from ComfyUI after dispatch. With `unknown_node_class` errors it carries `unknown_node_classes`, the missing classes; with `waits_for_browser` errors, `browser_wait_node_classes`, the classes that wait for a browser. A submit refusal names at most fifty nodes. For `invalid_node`, `invalid_inputs` and `invalid_class_type`, when it found more than fifty, `node_errors_truncated` is true and `malformed_node_count` carries the full count; for `waits_for_browser`, `browser_wait_node_count` does. For `unknown_node_class` it names only nodes whose class is one of the at most ten listed in `unknown_node_classes`; when those nodes number more than fifty, `node_errors_truncated` is true and `unknown_node_count` is how many nodes have a listed class. Nodes whose class is past those ten are neither named nor counted.","example":{"node_errors":{"12":{"class_type":"SomeCustomNode","errors":[{"type":"unknown_node_class","message":"this deployment's build does not contain the node class SomeCustomNode."}]}},"unknown_node_classes":["SomeCustomNode"]},"uniqueKey":"error.details.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.details","typeLabel":"object | null"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"invalid_workflow","message":"Node 12 (KSampler): required input 'model' is not connected","organization_id":"org_01HXYZEXAMPLE","details":{"node_errors":{"12":{"class_type":"SomeCustomNode","errors":[{"type":"unknown_node_class","message":"this deployment's build does not contain the node class SomeCustomNode."}]}},"unknown_node_classes":["SomeCustomNode"]}}}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"0cca3caf-258c-46b0-830a-54df811489c8":{"bearerAuth":{"type":"http","scheme":"bearer","description":"`Authorization: Bearer \u003ccredential>`. The credential is one of: an account-scoped API key (`comfyui-…`), accepted on Cloud and serverless; a Comfy Cloud session JWT; or an OAuth access token issued for the Comfy Cloud resource. Which kinds a given deployment accepts is deployment configuration — an API key always works on Cloud and serverless, and a deployment that does not accept JWT bearers answers `401` with a message saying so. Self-hosted accepts unauthenticated requests by default and can be configured with a static bearer token.","scopes":[],"schemeName":"bearerAuth"}},"e8d780d5-20d5-46f3-89dc-7b2b479b2dc1":{}},"servers":{"72285c15-3f8d-4baa-a9a7-f8612f1ceb2a":{"url":"http://127.0.0.1:8189","description":"Self-hosted (comfy-api-proxy)"},"cdd21e72-90c5-4cf9-b74b-c689f9c44840":{"url":"https://cloud.comfy.org","description":"Comfy Cloud"},"0acb10d1-4830-4493-8316-0e54c376fe84":{"url":"https://{deployment}.run.comfy.app","description":"Serverless deployment","variables":{"deployment":{"description":"DNS-safe deployment id (subdomain label). Staging uses {deployment}.stg.run.comfy.app.","default":"dep-1234abcd-56ef-7890-abcd-ef1234567890"}}}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"`Authorization: Bearer \u003ccredential>`. The credential is one of: an account-scoped API key (`comfyui-…`), accepted on Cloud and serverless; a Comfy Cloud session JWT; or an OAuth access token issued for the Comfy Cloud resource. Which kinds a given deployment accepts is deployment configuration — an API key always works on Cloud and serverless, and a deployment that does not accept JWT bearers answers `401` with a message saying so. Self-hosted accepts unauthenticated requests by default and can be configured with a static bearer token.","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"`Authorization: Bearer \u003ccredential>`. The credential is one of: an account-scoped API key (`comfyui-…`), accepted on Cloud and serverless; a Comfy Cloud session JWT; or an OAuth access token issued for the Comfy Cloud resource. Which kinds a given deployment accepts is deployment configuration — an API key always works on Cloud and serverless, and a deployment that does not accept JWT bearers answers `401` with a message saying so. Self-hosted accepts unauthenticated requests by default and can be configured with a static bearer token.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"openapi-v2.yaml"},"subdomain":"dripart","siteName":"ComfyUI","title":"List jobs, newest first - ComfyUI","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/api-reference/v2/jobs/list-jobs-newest-first","matchLevel":1},"zh":{"href":"/zh/api-reference/v2/jobs/list-jobs-newest-first","matchLevel":1},"ja":{"href":"/ja/api-reference/v2/jobs/list-jobs-newest-first","matchLevel":1},"ko":{"href":"/ko/api-reference/v2/jobs/list-jobs-newest-first","matchLevel":0},"es":{"href":"/es/api-reference/v2/jobs/list-jobs-newest-first","matchLevel":1}}},"lastModified":"2026-10-27T17:48:00.739Z","originalFileLocation":"ko/api-reference/v2/jobs/list-jobs-newest-first.mdx","locale":"ko"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"dark\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Lists jobs newest first. At a deployment\u0026#x27;s address, the jobs sent to that deployment; at the workspace address, every job in the caller\u0026#x27;s workspace. A caller never sees another workspace\u0026#x27;s jobs. Filter by your own labels with metadata[]=, up to 3 times; a job is listed only when every pair matches exactly. A 4th filter, a repeated key, a key outside the key rule, or a value with a character no label may hold (a control character or a bidirectional embedding, override or isolate, as on submit) is refused 400 invalid_metadata_filter. A filter value must be URL-encoded; a raw ; or a bad % escape answers 400 invalid_metadata_filter. Pages: pass the response\u0026#x27;s next_cursor back as cursor, with the same filters, to read the next page. next_cursor is absent on the last page. Each job appears once across the pages. List items are a job\u0026#x27;s stored record, not the Job object: they carry no outputs and no urls. Read a job with GET /api/v2/jobs/{id} for its outputs. Only the serverless platform lists jobs today. Comfy Cloud answers 501 not_implemented.\">\u003cmeta data-mint-head name=\"application-name\" content=\"ComfyUI\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/dripart/lS3H5I41bE6LSXEf/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/dripart/lS3H5I41bE6LSXEf/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/dripart/lS3H5I41bE6LSXEf/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/dripart/lS3H5I41bE6LSXEf/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/dripart/lS3H5I41bE6LSXEf/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/dripart/lS3H5I41bE6LSXEf/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/dripart/lS3H5I41bE6LSXEf/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/dripart/lS3H5I41bE6LSXEf/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/dripart/lS3H5I41bE6LSXEf/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"List jobs, newest first - ComfyUI\">\u003cmeta data-mint-head property=\"og:description\" content=\"Lists jobs newest first. At a deployment\u0026#x27;s address, the jobs sent to that deployment; at the workspace address, every job in the caller\u0026#x27;s workspace. A caller never sees another workspace\u0026#x27;s jobs. Filter by your own labels with metadata[]=, up to 3 times; a job is listed only when every pair matches exactly. A 4th filter, a repeated key, a key outside the key rule, or a value with a character no label may hold (a control character or a bidirectional embedding, override or isolate, as on submit) is refused 400 invalid_metadata_filter. A filter value must be URL-encoded; a raw ; or a bad % escape answers 400 invalid_metadata_filter. Pages: pass the response\u0026#x27;s next_cursor back as cursor, with the same filters, to read the next page. next_cursor is absent on the last page. Each job appears once across the pages. List items are a job\u0026#x27;s stored record, not the Job object: they carry no outputs and no urls. Read a job with GET /api/v2/jobs/{id} for its outputs. Only the serverless platform lists jobs today. Comfy Cloud answers 501 not_implemented.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"ComfyUI\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.comfy.org/ko/api-reference/v2/jobs/list-jobs-newest-first\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://dripart.mintlify.app/_mintlify/api/og/v2?division=jobs\u0026amp;title=List+jobs%2C+newest+first\u0026amp;description=Lists+jobs+newest+first.+At+a+deployment%27s+address%2C+the+jobs+sent+to%0Athat+deployment%3B+at+the+workspace+address%2C+every+job+in+the%0Acaller%27s+workspace.+A+caller+ne\u0026amp;theme=a03fed56f9a178c9b893031e\u0026amp;signature=43769bfa16f8a635d6baf1f98abe8c183468240242631b31fd75713b549516e2\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"List jobs, newest first - ComfyUI\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Lists jobs newest first. At a deployment\u0026#x27;s address, the jobs sent to that deployment; at the workspace address, every job in the caller\u0026#x27;s workspace. A caller never sees another workspace\u0026#x27;s jobs. Filter by your own labels with metadata[]=, up to 3 times; a job is listed only when every pair matches exactly. A 4th filter, a repeated key, a key outside the key rule, or a value with a character no label may hold (a control character or a bidirectional embedding, override or isolate, as on submit) is refused 400 invalid_metadata_filter. A filter value must be URL-encoded; a raw ; or a bad % escape answers 400 invalid_metadata_filter. Pages: pass the response\u0026#x27;s next_cursor back as cursor, with the same filters, to read the next page. next_cursor is absent on the last page. Each job appears once across the pages. List items are a job\u0026#x27;s stored record, not the Job object: they carry no outputs and no urls. Read a job with GET /api/v2/jobs/{id} for its outputs. Only the serverless platform lists jobs today. Comfy Cloud answers 501 not_implemented.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://dripart.mintlify.app/_mintlify/api/og/v2?division=jobs\u0026amp;title=List+jobs%2C+newest+first\u0026amp;description=Lists+jobs+newest+first.+At+a+deployment%27s+address%2C+the+jobs+sent+to%0Athat+deployment%3B+at+the+workspace+address%2C+every+job+in+the%0Acaller%27s+workspace.+A+caller+ne\u0026amp;theme=a03fed56f9a178c9b893031e\u0026amp;signature=43769bfa16f8a635d6baf1f98abe8c183468240242631b31fd75713b549516e2\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/dripart/lS3H5I41bE6LSXEf/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"ComfyUI\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#49378B\">\u003cmeta data-mint-head name=\"googlebot\" content=\"max-video-preview:0\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.comfy.org/ko/api-reference/v2/jobs/list-jobs-newest-first\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/ko/api-reference/v2/jobs/list-jobs-newest-first.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ko\" href=\"https://docs.comfy.org/ko/api-reference/v2/jobs/list-jobs-newest-first\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://docs.comfy.org/api-reference/v2/jobs/list-jobs-newest-first\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"zh\" href=\"https://docs.comfy.org/zh/api-reference/v2/jobs/list-jobs-newest-first\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ja\" href=\"https://docs.comfy.org/ja/api-reference/v2/jobs/list-jobs-newest-first\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"es\" href=\"https://docs.comfy.org/es/api-reference/v2/jobs/list-jobs-newest-first\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://docs.comfy.org/api-reference/v2/jobs/list-jobs-newest-first\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.comfy.org/#organization\",\"name\":\"ComfyUI\",\"url\":\"https://docs.comfy.org\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/dripart/WCFdTagRdhtvk9-o/logo/light.svg?fit=max\u0026auto=format\u0026n=WCFdTagRdhtvk9-o\u0026q=85\u0026s=ec112de87239058f5a931a7e4b594965\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.comfy.org#website\",\"name\":\"ComfyUI\",\"url\":\"https://docs.comfy.org\",\"publisher\":{\"@id\":\"https://docs.comfy.org/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.comfy.org/ko/api-reference/v2/jobs/list-jobs-newest-first#webpage\",\"url\":\"https://docs.comfy.org/ko/api-reference/v2/jobs/list-jobs-newest-first\",\"name\":\"List jobs, newest first\",\"description\":\"Lists jobs newest first. At a deployment's address, the jobs sent to that deployment; at the workspace address, every job in the caller's workspace. A caller never sees another workspace's jobs. Filter by your own labels with metadata[]=, up to 3 times; a job is listed only when every pair matches exactly. A 4th filter, a repeated key, a key outside the key rule, or a value with a character no label may hold (a control character or a bidirectional embedding, override or isolate, as on submit) is refused 400 invalid_metadata_filter. A filter value must be URL-encoded; a raw ; or a bad % escape answers 400 invalid_metadata_filter. Pages: pass the response's next_cursor back as cursor, with the same filters, to read the next page. next_cursor is absent on the last page. Each job appears once across the pages. List items are a job's stored record, not the Job object: they carry no outputs and no urls. Read a job with GET /api/v2/jobs/{id} for its outputs. Only the serverless platform lists jobs today. Comfy Cloud answers 501 not_implemented.\",\"dateModified\":\"2026-10-27T17:48:00.739Z\",\"isPartOf\":{\"@id\":\"https://docs.comfy.org#website\"},\"breadcrumb\":{\"@id\":\"https://docs.comfy.org/ko/api-reference/v2/jobs/list-jobs-newest-first#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.comfy.org/ko/api-reference/v2/jobs/list-jobs-newest-first#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"워크플로 실행\",\"item\":\"https://docs.comfy.org/ko/development/run-workflows/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Comfy API v2 참조\",\"item\":\"https://docs.comfy.org/ko/api-reference/v2/assets/upload-an-asset-single-call-multipart\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"List jobs, newest first\",\"item\":\"https://docs.comfy.org/ko/api-reference/v2/jobs/list-jobs-newest-first\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.comfy.org/ko/api-reference/v2/jobs/list-jobs-newest-first#apireference\",\"headline\":\"List jobs, newest first\",\"name\":\"List jobs, newest first\",\"description\":\"Lists jobs newest first. At a deployment's address, the jobs sent to that deployment; at the workspace address, every job in the caller's workspace. A caller never sees another workspace's jobs. Filter by your own labels with metadata[]=, up to 3 times; a job is listed only when every pair matches exactly. A 4th filter, a repeated key, a key outside the key rule, or a value with a character no label may hold (a control character or a bidirectional embedding, override or isolate, as on submit) is refused 400 invalid_metadata_filter. A filter value must be URL-encoded; a raw ; or a bad % escape answers 400 invalid_metadata_filter. Pages: pass the response's next_cursor back as cursor, with the same filters, to read the next page. next_cursor is absent on the last page. Each job appears once across the pages. List items are a job's stored record, not the Job object: they carry no outputs and no urls. Read a job with GET /api/v2/jobs/{id} for its outputs. Only the serverless platform lists jobs today. Comfy Cloud answers 501 not_implemented.\",\"url\":\"https://docs.comfy.org/ko/api-reference/v2/jobs/list-jobs-newest-first\",\"mainEntityOfPage\":{\"@id\":\"https://docs.comfy.org/ko/api-reference/v2/jobs/list-jobs-newest-first#webpage\"},\"dateModified\":\"2026-10-27T17:48:00.739Z\",\"publisher\":{\"@id\":\"https://docs.comfy.org/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.comfy.org#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"ComfyUI\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"ComfyUI","nav":{"global":null,"languages":[{"language":"en","pages":[{"title":"en","href":"/api-reference/v2/jobs/list-jobs-newest-first"}]},{"language":"zh","footer":{"socials":{"github":"https://github.com/Comfy-Org/ComfyUI","x":"https://x.com/ComfyUI","discord":"https://discord.com/invite/comfyorg","youtube":"https://www.youtube.com/@comfyorg"},"links":[{"header":"资源","items":[{"label":"安装","href":"/zh/installation/system_requirements"},{"label":"教程","href":"/zh/tutorials/basic/text-to-image"},{"label":"开发","href":"/zh/development/overview"}]},{"header":"产品","items":[{"label":"功能","href":"https://www.comfy.org/?utm_source=docs"},{"label":"画廊","href":"https://www.comfy.org/gallery?utm_source=docs"},{"label":"下载","href":"https://www.comfy.org/download?utm_source=docs"}]},{"header":"公司","items":[{"label":"关于","href":"https://www.comfy.org/about?utm_source=docs"},{"label":"招聘","href":"https://www.comfy.org/careers?utm_source=docs"},{"label":"服务条款","href":"https://www.comfy.org/terms-of-service?utm_source=docs"},{"label":"隐私政策","href":"https://www.comfy.org/privacy-policy?utm_source=docs"}]}]},"pages":[{"title":"zh","href":"/zh/api-reference/v2/jobs/list-jobs-newest-first"}]},{"language":"ja","footer":{"socials":{"github":"https://github.com/Comfy-Org/ComfyUI","x":"https://x.com/ComfyUI","discord":"https://discord.com/invite/comfyorg","youtube":"https://www.youtube.com/@comfyorg"},"links":[{"header":"リソース","items":[{"label":"インストール","href":"/ja/installation/system_requirements"},{"label":"チュートリアル","href":"/ja/tutorials/basic/text-to-image"},{"label":"開発","href":"/ja/development/overview"}]},{"header":"プロダクト","items":[{"label":"機能","href":"https://www.comfy.org/?utm_source=docs"},{"label":"ギャラリー","href":"https://www.comfy.org/gallery?utm_source=docs"},{"label":"ダウンロード","href":"https://www.comfy.org/download?utm_source=docs"}]},{"header":"会社情報","items":[{"label":"概要","href":"https://www.comfy.org/about?utm_source=docs"},{"label":"採用情報","href":"https://www.comfy.org/careers?utm_source=docs"},{"label":"利用規約","href":"https://www.comfy.org/terms-of-service?utm_source=docs"},{"label":"プライバシーポリシー","href":"https://www.comfy.org/privacy-policy?utm_source=docs"}]}]},"navbar":{"links":[{"href":"/ja/tutorials/partner-nodes/pricing","label":"料金"},{"href":"https://comfy.org/download?utm_source=docs","label":"ダウンロード"}],"primary":{"type":"button","label":"Comfy Cloud","href":"https://comfy.org/cloud?utm_source=docs"}},"pages":[{"title":"ja","href":"/ja/api-reference/v2/jobs/list-jobs-newest-first"}]},{"language":"ko","footer":{"socials":{"github":"https://github.com/Comfy-Org/ComfyUI","x":"https://x.com/ComfyUI","discord":"https://discord.com/invite/comfyorg","youtube":"https://www.youtube.com/@comfyorg"},"links":[{"header":"리소스","items":[{"label":"설치","href":"/ko/installation/system_requirements"},{"label":"튜토리얼","href":"/ko/tutorials/basic/text-to-image"},{"label":"개발","href":"/ko/development/overview"}]},{"header":"제품","items":[{"label":"기능","href":"https://www.comfy.org/?utm_source=docs"},{"label":"갤러리","href":"https://www.comfy.org/gallery?utm_source=docs"},{"label":"다운로드","href":"https://www.comfy.org/download?utm_source=docs"}]},{"header":"회사 정보","items":[{"label":"소개","href":"https://www.comfy.org/about?utm_source=docs"},{"label":"채용","href":"https://www.comfy.org/careers?utm_source=docs"},{"label":"이용약관","href":"https://www.comfy.org/terms-of-service?utm_source=docs"},{"label":"개인정보 처리방침","href":"https://www.comfy.org/privacy-policy?utm_source=docs"}]}]},"navbar":{"links":[{"href":"/ko/tutorials/partner-nodes/pricing","label":"가격 정책"},{"href":"https://comfy.org/download?utm_source=docs","label":"다운로드"}],"primary":{"type":"button","label":"Comfy Cloud","href":"https://comfy.org/cloud?utm_source=docs"}},"tabs":[{"tab":"시작하기","pages":[{"title":"시작하기","href":"/ko"}]},{"tab":"내장 노드 (Built-in Nodes)","pages":[{"title":"내장 노드 (Built-in Nodes)","href":"/ko/built-in-nodes/overview"}]},{"tab":"API 개발","pages":[{"group":"Comfy로 개발하기","pages":[{"title":"개발자를 위한 ComfyUI: SDK, 서버 API 및 클라우드","sidebarTitle":"개발자 개요","href":"/ko/development/overview"},{"group":"Comfy Cloud","pages":[{"title":"v1 Cloud API 개요","sidebarTitle":"개요","href":"/ko/development/cloud/overview"},{"title":"클라우드 API 참조","icon":"book-open","href":"/ko/development/cloud/api-reference"},{"title":"OpenAPI 사양","icon":"file-lines","openapi":"/openapi-cloud.yaml","href":"/ko/development/cloud/openapi"}]},{"group":"자체 호스팅 서버","pages":[{"title":"서버 개요","sidebarTitle":"서버 개요","href":"/ko/development/comfyui-server/comms_overview"},{"title":"API 예제","href":"/ko/development/comfyui-server/api-examples"},{"title":"ComfyUI 서버 경로 (HTTP 및 WebSocket API)","sidebarTitle":"HTTP 및 WebSocket 라우트","href":"/ko/development/comfyui-server/comms_routes"},{"title":"ComfyUI 서버 메시지 (WebSocket API)","sidebarTitle":"WebSocket 메시지","icon":"comment","href":"/ko/development/comfyui-server/comms_messages"},{"title":"시작 플래그","sidebarTitle":"시작 플래그","icon":"terminal","href":"/ko/development/comfyui-server/startup-flags"},{"title":"셀프 호스팅 옵션","sidebarTitle":"호스팅 옵션","icon":"server","href":"/ko/development/deploy/self-hosting"}]},{"title":"ComfyUI 배포하기","sidebarTitle":"개요","icon":"map","href":"/ko/development/deploy/overview"},{"title":"Comfy Cloud 빠른 시작","sidebarTitle":"빠른 시작","icon":"cloud","href":"/ko/development/deploy/cloud"},{"title":"Comfy API 및 Router 예제","sidebarTitle":"예제","icon":"code","mode":"wide","href":"/ko/development/examples"}]},{"group":"워크플로 실행","pages":[{"title":"워크플로 실행","sidebarTitle":"개요","icon":"play","href":"/ko/development/run-workflows/overview"},{"title":"첫 워크플로 실행하기","sidebarTitle":"첫 워크플로","href":"/ko/development/api-development/quickstart"},{"title":"Comfy SDK: ComfyUI용 Python 및 TypeScript 클라이언트","sidebarTitle":"SDK","icon":"code","href":"/ko/development/api-development/sdks"},{"title":"자체 호스팅 ComfyUI를 위한 API 프록시","sidebarTitle":"API 프록시","icon":"plug","href":"/ko/development/comfyui-server/api-proxy"},{"title":"Comfy API: 서버리스 배포","icon":"cloud-arrow-up","href":"/ko/development/serverless/overview"},{"title":"API 키 받기","sidebarTitle":"API 키","icon":"key","href":"/ko/development/api-development/getting-an-api-key"},{"title":"Comfy API v2 개요","sidebarTitle":"Overview","href":"/ko/api-reference/v2/overview"},{"group":"Comfy API v2 참조","pages":[{"group":"assets","pages":[{"title":"Upload an asset (single-call multipart)","deprecated":null,"version":null,"openapi":"/openapi-v2.yaml post /api/v2/assets","href":"/ko/api-reference/v2/assets/upload-an-asset-single-call-multipart"},{"title":"Mint an asset over existing bytes (dedup fast-path)","deprecated":null,"version":null,"openapi":"/openapi-v2.yaml post /api/v2/assets/from-hash","href":"/ko/api-reference/v2/assets/mint-an-asset-over-existing-bytes-dedup-fast-path"},{"title":"Existence check for a blob by blake3 hash","deprecated":null,"version":null,"openapi":"/openapi-v2.yaml head /api/v2/assets/by-hash/{hash}","href":"/ko/api-reference/v2/assets/existence-check-for-a-blob-by-blake3-hash"},{"title":"Asset metadata","deprecated":null,"version":null,"openapi":"/openapi-v2.yaml get /api/v2/assets/{id}","href":"/ko/api-reference/v2/assets/asset-metadata"},{"title":"Delete an asset record","deprecated":null,"version":null,"openapi":"/openapi-v2.yaml delete /api/v2/assets/{id}","href":"/ko/api-reference/v2/assets/delete-an-asset-record"},{"title":"Asset bytes","description":"Serves the bytes directly on surfaces where the platform stores blobs\nitself (self-hosted); on Cloud and serverless issues a `302` to a\nfresh signed URL. Range requests are supported for resumable\ndownloads of large outputs.\n","deprecated":null,"version":null,"openapi":"/openapi-v2.yaml get /api/v2/assets/{id}/content","href":"/ko/api-reference/v2/assets/asset-bytes"}]},{"group":"jobs","pages":[{"title":"List jobs, newest first","deprecated":null,"version":null,"openapi":"/openapi-v2.yaml get /api/v2/jobs","href":"/ko/api-reference/v2/jobs/list-jobs-newest-first"},{"title":"Submit a workflow for execution","description":"Accepts the API-format workflow graph verbatim. Validation is\nsynchronous: graph structure, unknown node classes, and asset\nreferences (`core/ASSET` objects — every referenced `id` must exist\nand be owned by the caller). A `201` means the job is durably\nrecorded and queued.\n\nUI-format workflow JSON (the export with `nodes`/`links`) is\nrejected with `workflow_format_ui`.\n\n`Idempotency-Key` is single-use (reject-on-duplicate, NOT\nrecord-and-replay): the first request to present a given key is\nprocessed normally; ANY later request presenting the same key — a\nretry, a concurrent duplicate, or a same-key request with a different\nbody — is rejected `422` `idempotency_key_reuse` and is never\nre-executed. The key is claimed only for a request that actually\nreaches submission and is released if that submission definitively\nfails without creating a job (a validation error, or an upstream\nreject such as out-of-credits or queue-full), so a legitimate retry\nwith the same key can proceed. If a submission's outcome is unknown\n(an upstream timeout or 5xx where the job may or may not have been\ncreated), the key stays claimed and the retry is rejected: poll or\nlist your jobs to find the possibly-created job rather than\nresubmitting. Keys expire after 24h. There is no response replay and\nno `Idempotency-Replayed` header.\n\nReserved for post-MVP and rejected if present today: `webhook_url`,\n`inputs`.\n","deprecated":null,"version":null,"openapi":"/openapi-v2.yaml post /api/v2/jobs","href":"/ko/api-reference/v2/jobs/submit-a-workflow-for-execution"},{"title":"Job status (the polling workhorse)","deprecated":null,"version":null,"openapi":"/openapi-v2.yaml get /api/v2/jobs/{id}","href":"/ko/api-reference/v2/jobs/job-status-the-polling-workhorse"},{"title":"The workflow behind a job — authoring version if pinned, executed graph otherwise","deprecated":null,"version":null,"openapi":"/openapi-v2.yaml get /api/v2/jobs/{id}/workflow","href":"/ko/api-reference/v2/jobs/the-workflow-behind-a-job-—-authoring-version-if-pinned-executed-graph-otherwise"},{"title":"What the run printed","deprecated":null,"version":null,"openapi":"/openapi-v2.yaml get /api/v2/jobs/{id}/logs","href":"/ko/api-reference/v2/jobs/what-the-run-printed"},{"title":"Live event stream (SSE)","deprecated":null,"version":null,"openapi":"/openapi-v2.yaml get /api/v2/jobs/{id}/events","href":"/ko/api-reference/v2/jobs/live-event-stream-sse"},{"title":"Request cancellation","deprecated":null,"version":null,"openapi":"/openapi-v2.yaml post /api/v2/jobs/{id}/cancel","href":"/ko/api-reference/v2/jobs/request-cancellation"}]}]},{"title":"디자인 노트","sidebarTitle":"디자인 노트","icon":"compass","href":"/ko/development/api-development/sdks-design"},{"title":"워크플로 API 형식","icon":"file-code","href":"/ko/development/api-development/workflow-api-format"},{"title":"워크플로 메타데이터","icon":"file-code","href":"/ko/development/api-development/workflow-metadata"},{"title":"ComfyUI 계정 API 키 통합","sidebarTitle":"API 키 연동","icon":"puzzle-piece","href":"/ko/development/comfyui-server/api-key-integration"},{"group":"Comfy API Reference","pages":[{"title":"Comfy API 버전: v2 및 지원 중단된 v1 Cloud API","sidebarTitle":"개요","href":"/ko/development/comfy-api/overview"}]}]},{"group":"Comfy Router","pages":[{"title":"Comfy Router 빠른 시작","sidebarTitle":"빠른 시작","href":"/ko/development/comfy-router/quickstart"},{"title":"Comfy Router API 개요","sidebarTitle":"개요","href":"/ko/development/comfy-router/api"},{"title":"Comfy Router 모델 찾아보기","sidebarTitle":"모델 찾아보기","href":"/ko/development/comfy-router/discover-models"},{"title":"Comfy Router 모델 스키마와 결과","sidebarTitle":"스키마와 결과","href":"/ko/development/comfy-router/schemas"},{"title":"Comfy Router 요청을 대기열에 넣기","sidebarTitle":"대기 중인 요청","href":"/ko/development/comfy-router/queue"},{"title":"Comfy Router 오류 및 재시도","sidebarTitle":"오류 및 재시도","href":"/ko/development/comfy-router/errors"},{"title":"Comfy Router 청구","sidebarTitle":"청구","href":"/ko/development/comfy-router/billing"},{"title":"Comfy Router 헤더","sidebarTitle":"헤더","href":"/ko/development/comfy-router/headers"},{"title":"Comfy Router API 레퍼런스","sidebarTitle":"API 레퍼런스","href":"/ko/development/comfy-router/reference"},{"title":"Comfy Router 기능과 한계","sidebarTitle":"기능과 한계","href":"/ko/development/comfy-router/limitations"},{"group":"Comfy Router API 참조","pages":[{"group":"Comfy Router","pages":[{"title":"List the models Comfy Router can run.","deprecated":null,"version":null,"openapi":"/router-openapi.yaml get /v2/models","href":"/ko/api-reference/router/comfy-router/list-the-models-comfy-router-can-run"},{"title":"Read one partner model's catalog entry by canonical model ID.","deprecated":null,"version":null,"openapi":"/router-openapi.yaml get /v2/models/{provider}/{model}","href":"/ko/api-reference/router/comfy-router/read-one-partner-models-catalog-entry-by-canonical-model-id"},{"title":"Run a partner model synchronously by canonical model ID.","deprecated":null,"version":null,"openapi":"/router-openapi.yaml post /v2/models/{provider}/{model}","href":"/ko/api-reference/router/comfy-router/run-a-partner-model-synchronously-by-canonical-model-id"},{"title":"Price a model call before running it, without running it.","deprecated":null,"version":null,"openapi":"/router-openapi.yaml post /v2/models/{provider}/{model}/estimate","href":"/ko/api-reference/router/comfy-router/price-a-model-call-before-running-it-without-running-it"},{"title":"Read one partner model's input and output schemas as an OpenAPI document.","deprecated":null,"version":null,"openapi":"/router-openapi.yaml get /v2/models/{provider}/{model}/openapi.json","href":"/ko/api-reference/router/comfy-router/read-one-partner-models-input-and-output-schemas-as-an-openapi-document"},{"title":"Submit a partner model run to the queue and return immediately.","deprecated":null,"version":null,"openapi":"/router-openapi.yaml post /v2/models/{provider}/{model}/requests","href":"/ko/api-reference/router/comfy-router/submit-a-partner-model-run-to-the-queue-and-return-immediately"},{"title":"Collect the result of one submitted request.","deprecated":null,"version":null,"openapi":"/router-openapi.yaml get /v2/models/{provider}/{model}/requests/{request_id}","href":"/ko/api-reference/router/comfy-router/collect-the-result-of-one-submitted-request"},{"title":"Ask for one submitted request to be cancelled.","deprecated":null,"version":null,"openapi":"/router-openapi.yaml put /v2/models/{provider}/{model}/requests/{request_id}/cancel","href":"/ko/api-reference/router/comfy-router/ask-for-one-submitted-request-to-be-cancelled"},{"title":"Read the queue state of one submitted request.","deprecated":null,"version":null,"openapi":"/router-openapi.yaml get /v2/models/{provider}/{model}/requests/{request_id}/status","href":"/ko/api-reference/router/comfy-router/read-the-queue-state-of-one-submitted-request"}]}]},{"group":"Models","pages":[{"title":"Comfy Router 모델","sidebarTitle":"모든 모델","href":"/ko/development/comfy-router/models"},{"title":"Comfy Router 서빙 공급자","sidebarTitle":"서빙 공급자","href":"/ko/development/comfy-router/providers"},{"group":"Anthropic","pages":[{"title":"Comfy Router에서 Claude Fable 5.1 사용하기","sidebarTitle":"Claude Fable 5.1","href":"/ko/development/comfy-router/models/anthropic/claude-fable-5-1/code"},{"title":"Comfy Router로 Claude Fable 5 사용하기","sidebarTitle":"Claude Fable 5","href":"/ko/development/comfy-router/models/anthropic/claude-fable-5/code"},{"title":"Comfy Router로 Claude Haiku 4.5 20251001 사용하기","sidebarTitle":"Claude Haiku 4.5 20251001","href":"/ko/development/comfy-router/models/anthropic/claude-haiku-4-5-20251001/code"},{"title":"Comfy Router와 함께 Claude Opus 4.6 사용하기","sidebarTitle":"Claude Opus 4.6","href":"/ko/development/comfy-router/models/anthropic/claude-opus-4-6/code"},{"title":"Comfy Router와 함께 Claude Opus 4.7 사용하기","sidebarTitle":"Claude Opus 4.7","href":"/ko/development/comfy-router/models/anthropic/claude-opus-4-7/code"},{"title":"Comfy Router에서 Claude Opus 4.8 사용하기","sidebarTitle":"Claude Opus 4.8","href":"/ko/development/comfy-router/models/anthropic/claude-opus-4-8/code"},{"title":"Comfy Router에서 Claude Opus 5.5 사용하기","sidebarTitle":"Claude Opus 5.5","href":"/ko/development/comfy-router/models/anthropic/claude-opus-5-5/code"},{"title":"Comfy Router로 Claude Opus 5 사용하기","sidebarTitle":"Claude Opus 5","href":"/ko/development/comfy-router/models/anthropic/claude-opus-5/code"},{"title":"Comfy Router로 Claude Sonnet 4.5 20250929 사용하기","sidebarTitle":"Claude Sonnet 4.5 20250929","href":"/ko/development/comfy-router/models/anthropic/claude-sonnet-4-5-20250929/code"},{"title":"Comfy Router로 Claude Sonnet 4.6 사용하기","sidebarTitle":"Claude Sonnet 4.6","href":"/ko/development/comfy-router/models/anthropic/claude-sonnet-4-6/code"},{"title":"Comfy Router로 Claude Sonnet 5.5 사용하기","sidebarTitle":"Claude Sonnet 5.5","href":"/ko/development/comfy-router/models/anthropic/claude-sonnet-5-5/code"},{"title":"Comfy Router에서 Claude Sonnet 5 사용하기","sidebarTitle":"Claude Sonnet 5","href":"/ko/development/comfy-router/models/anthropic/claude-sonnet-5/code"}]},{"group":"Beeble","pages":[{"title":"Comfy Router로 SwitchX 사용하기","sidebarTitle":"SwitchX","href":"/ko/development/comfy-router/models/beeble/switchx/code"}]},{"group":"Black Forest Labs","pages":[{"title":"Comfy Router에서 Erase V1 사용하기","sidebarTitle":"Erase V1","href":"/ko/development/comfy-router/models/black-forest-labs/erase-v1/code"},{"title":"Comfy Router로 Flux 1.1 Pro Ultra 이미지 사용하기","sidebarTitle":"Flux 1.1 Pro Ultra 이미지","href":"/ko/development/comfy-router/models/black-forest-labs/flux-1-1-pro-ultra-image/code"},{"title":"Comfy Router로 FLUX.1 Kontext 사용하기","sidebarTitle":"FLUX.1 Kontext","href":"/ko/development/comfy-router/models/black-forest-labs/flux-1-kontext/code"},{"title":"Comfy Router로 FLUX 2 Max 사용하기","sidebarTitle":"FLUX 2 Max","href":"/ko/development/comfy-router/models/black-forest-labs/flux-2-max/code"},{"title":"Comfy Router로 FLUX 2 Pro 사용하기","sidebarTitle":"FLUX 2 Pro","href":"/ko/development/comfy-router/models/black-forest-labs/flux-2-pro/code"},{"title":"Comfy Router로 FLUX 3 Image 사용하기","sidebarTitle":"FLUX 3 Image","href":"/ko/development/comfy-router/models/black-forest-labs/flux-3-image/code"},{"title":"Comfy Router로 FLUX 3 Video 사용하기","sidebarTitle":"FLUX 3 Video","href":"/ko/development/comfy-router/models/black-forest-labs/flux-3-video/code"},{"title":"Comfy Router로 FLUX Pro 1.0 Expand 사용하기","sidebarTitle":"FLUX Pro 1.0 Expand","href":"/ko/development/comfy-router/models/black-forest-labs/flux-pro-1-0-expand/code"},{"title":"Comfy Router와 함께 FLUX Pro 1.0 Fill 사용하기","sidebarTitle":"FLUX Pro 1.0 Fill","href":"/ko/development/comfy-router/models/black-forest-labs/flux-pro-1-0-fill/code"},{"title":"Comfy Router로 FLUX Video Upscale 사용하기","sidebarTitle":"FLUX Video Upscale","href":"/ko/development/comfy-router/models/black-forest-labs/flux-video-upscale/code"},{"title":"Comfy Router로 Video Edit V1 사용하기","sidebarTitle":"Video Edit V1","href":"/ko/development/comfy-router/models/black-forest-labs/video-edit-v1/code"},{"title":"Comfy Router로 VTO V1 사용하기","sidebarTitle":"VTO V1","href":"/ko/development/comfy-router/models/black-forest-labs/vto-v1/code"}]},{"group":"Bria","pages":[{"title":"Comfy Router와 함께 Fibo 사용하기","sidebarTitle":"Fibo","href":"/ko/development/comfy-router/models/bria/fibo/code"},{"title":"Comfy Router로 Image Edit Add Object By Text 사용하기","sidebarTitle":"Image Edit Add Object By Text","href":"/ko/development/comfy-router/models/bria/image-edit-add-object-by-text/code"},{"title":"Comfy Router로 Image Edit Erase By Text 사용하기","sidebarTitle":"Image Edit Erase By Text","href":"/ko/development/comfy-router/models/bria/image-edit-erase-by-text/code"},{"title":"Comfy Router로 Image Edit Erase Foreground 사용하기","sidebarTitle":"Image Edit Erase Foreground","href":"/ko/development/comfy-router/models/bria/image-edit-erase-foreground/code"},{"title":"Comfy Router로 Image Edit Erase 사용하기","sidebarTitle":"Image Edit Erase","href":"/ko/development/comfy-router/models/bria/image-edit-erase/code"},{"title":"Comfy Router로 Image Edit Expand 사용하기","sidebarTitle":"Image Edit Expand","href":"/ko/development/comfy-router/models/bria/image-edit-expand/code"},{"title":"Comfy Router로 Image Edit Gen Fill 사용하기","sidebarTitle":"Image Edit Gen Fill","href":"/ko/development/comfy-router/models/bria/image-edit-gen-fill/code"},{"title":"Comfy Router로 Image Edit Increase Resolution 사용하기","sidebarTitle":"Image Edit Increase Resolution","href":"/ko/development/comfy-router/models/bria/image-edit-increase-resolution/code"},{"title":"Comfy Router에서 Image Edit Product Holding 사용하기","sidebarTitle":"Image Edit Product Holding","href":"/ko/development/comfy-router/models/bria/image-edit-product-holding/code"},{"title":"Comfy Router로 Image Edit Product Virtual Tryon 사용하기","sidebarTitle":"Image Edit Product Virtual Tryon","href":"/ko/development/comfy-router/models/bria/image-edit-product-virtual-tryon/code"},{"title":"Comfy Router로 Image Edit Relight 사용하기","sidebarTitle":"Image Edit Relight","href":"/ko/development/comfy-router/models/bria/image-edit-relight/code"},{"title":"Comfy Router로 Image Edit Remove Background Guided 사용하기","sidebarTitle":"Image Edit Remove Background Guided","href":"/ko/development/comfy-router/models/bria/image-edit-remove-background-guided/code"},{"title":"Comfy Router로 Image Edit Remove Background 사용하기","sidebarTitle":"Image Edit Remove Background","href":"/ko/development/comfy-router/models/bria/image-edit-remove-background/code"},{"title":"Comfy Router로 Image Edit Replace Background 사용하기","sidebarTitle":"Image Edit Replace Background","href":"/ko/development/comfy-router/models/bria/image-edit-replace-background/code"},{"title":"Comfy Router로 Image Edit Replace Object By Text 사용하기","sidebarTitle":"Image Edit Replace Object By Text","href":"/ko/development/comfy-router/models/bria/image-edit-replace-object-by-text/code"},{"title":"Comfy Router로 Image Edit Reseason 사용하기","sidebarTitle":"Image Edit Reseason","href":"/ko/development/comfy-router/models/bria/image-edit-reseason/code"},{"title":"Comfy Router로 Image Edit Restore 사용하기","sidebarTitle":"Image Edit Restore","href":"/ko/development/comfy-router/models/bria/image-edit-restore/code"},{"title":"Comfy Router에서 Image 사용하기","sidebarTitle":"Image","href":"/ko/development/comfy-router/models/bria/image/code"},{"title":"Comfy Router로 Video Edit Erase 사용하기","sidebarTitle":"Video Edit Erase","href":"/ko/development/comfy-router/models/bria/video-edit-erase/code"},{"title":"Comfy Router로 Video Edit Green Screen 사용하기","sidebarTitle":"Video Edit Green Screen","href":"/ko/development/comfy-router/models/bria/video-edit-green-screen/code"},{"title":"Comfy Router로 Video Edit Remove Background 사용하기","sidebarTitle":"Video Edit Remove Background","href":"/ko/development/comfy-router/models/bria/video-edit-remove-background/code"},{"title":"Comfy Router로 Video Edit Replace Background 사용하기","sidebarTitle":"Video Edit Replace Background","href":"/ko/development/comfy-router/models/bria/video-edit-replace-background/code"}]},{"group":"BytePlus","pages":[{"title":"Comfy Router로 Dreamina Seedance 2.0 260128 사용하기","sidebarTitle":"Dreamina Seedance 2.0 260128","href":"/ko/development/comfy-router/models/byteplus/dreamina-seedance-2-0-260128/code"},{"title":"Comfy Router로 Dreamina Seedance 2.0 Fast 260128 사용하기","sidebarTitle":"Dreamina Seedance 2.0 Fast 260128","href":"/ko/development/comfy-router/models/byteplus/dreamina-seedance-2-0-fast-260128/code"},{"title":"Comfy Router와 함께 Dreamina Seedance 2.0 Mini 사용하기","sidebarTitle":"Dreamina Seedance 2.0 Mini","href":"/ko/development/comfy-router/models/byteplus/dreamina-seedance-2-0-mini/code"},{"title":"Comfy Router에서 Dreamina Seedance 2.5 260628 사용하기","sidebarTitle":"Dreamina Seedance 2.5 260628","href":"/ko/development/comfy-router/models/byteplus/dreamina-seedance-2-5-260628/code"},{"title":"Comfy Router에서 Seed 2.0 Lite 260228 사용하기","sidebarTitle":"Seed 2.0 Lite 260228","href":"/ko/development/comfy-router/models/byteplus/seed-2-0-lite-260228/code"},{"title":"Comfy Router에서 Seed 2.0 Mini 260215 사용하기","sidebarTitle":"Seed 2.0 Mini 260215","href":"/ko/development/comfy-router/models/byteplus/seed-2-0-mini-260215/code"},{"title":"Comfy Router에서 Seed 2.0 Pro 260328 사용하기","sidebarTitle":"Seed 2.0 Pro 260328","href":"/ko/development/comfy-router/models/byteplus/seed-2-0-pro-260328/code"},{"title":"Comfy Router에서 Seed Audio 1.0 Multilingual 사용하기","sidebarTitle":"Seed Audio 1.0 Multilingual","href":"/ko/development/comfy-router/models/byteplus/seed-audio-1-0-multilingual/code"},{"title":"Comfy Router에서 Seed Audio 1.0 사용하기","sidebarTitle":"Seed Audio 1.0","href":"/ko/development/comfy-router/models/byteplus/seed-audio-1-0/code"},{"title":"Comfy Router로 Seedance 1.0 Pro 250528 사용하기","sidebarTitle":"Seedance 1.0 Pro 250528","href":"/ko/development/comfy-router/models/byteplus/seedance-1-0-pro-250528/code"},{"title":"Comfy Router에서 Seedance 1.0 Pro Fast 251015 사용하기","sidebarTitle":"Seedance 1.0 Pro Fast 251015","href":"/ko/development/comfy-router/models/byteplus/seedance-1-0-pro-fast-251015/code"},{"title":"Comfy Router로 Seedance 1.5 Pro 251215 사용하기","sidebarTitle":"Seedance 1.5 Pro 251215","href":"/ko/development/comfy-router/models/byteplus/seedance-1-5-pro-251215/code"},{"title":"Comfy Router에서 Seedream 4.0 250828 사용하기","sidebarTitle":"Seedream 4.0 250828","href":"/ko/development/comfy-router/models/byteplus/seedream-4-0-250828/code"},{"title":"Comfy Router에서 Seedream 4.5 251128 사용하기","sidebarTitle":"Seedream 4.5 251128","href":"/ko/development/comfy-router/models/byteplus/seedream-4-5-251128/code"},{"title":"Comfy Router로 Seedream 5.0 260128 사용하기","sidebarTitle":"Seedream 5.0 260128","href":"/ko/development/comfy-router/models/byteplus/seedream-5-0-260128/code"},{"title":"Comfy Router로 Seedream 5.0 Flash 260915 사용하기","sidebarTitle":"Seedream 5.0 Flash 260915","href":"/ko/development/comfy-router/models/byteplus/seedream-5-0-flash-260915/code"},{"title":"Comfy Router로 Seedream 5.0 Pro 260628 사용하기","sidebarTitle":"Seedream 5.0 Pro 260628","href":"/ko/development/comfy-router/models/byteplus/seedream-5-0-pro-260628/code"}]},{"group":"Elevenlabs","pages":[{"title":"Comfy Router로 Eleven Multilingual V2 사용하기","sidebarTitle":"Eleven Multilingual V2","href":"/ko/development/comfy-router/models/elevenlabs/eleven-multilingual-v2/code"},{"title":"Comfy Router로 Eleven Sfx V2 사용하기","sidebarTitle":"Eleven Sfx V2","href":"/ko/development/comfy-router/models/elevenlabs/eleven-sfx-v2/code"},{"title":"Comfy Router에서 Eleven V3 사용하기","sidebarTitle":"Eleven V3","href":"/ko/development/comfy-router/models/elevenlabs/eleven-v3/code"},{"title":"Comfy Router와 함께 Eleven V4 Turbo 사용하기","sidebarTitle":"Eleven V4 Turbo","href":"/ko/development/comfy-router/models/elevenlabs/eleven-v4-turbo/code"},{"title":"Comfy Router에서 Eleven V4 사용하기","sidebarTitle":"Eleven V4","href":"/ko/development/comfy-router/models/elevenlabs/eleven-v4/code"}]},{"group":"fal","pages":[{"title":"Comfy Router로 Crystal Upscaler 사용하기","sidebarTitle":"Crystal Upscaler","href":"/ko/development/comfy-router/models/fal/crystal-upscaler/code"},{"title":"Comfy Router로 Crystal Video Upscaler 사용하기","sidebarTitle":"Crystal Video Upscaler","href":"/ko/development/comfy-router/models/fal/crystal-video-upscaler/code"},{"title":"Comfy Router로 FLUX 3 Max 사용하기","sidebarTitle":"FLUX 3 Max","href":"/ko/development/comfy-router/models/fal/flux-3-max/code"},{"title":"Comfy Router로 H3 Max Turbo 사용하기","sidebarTitle":"H3 Max Turbo","href":"/ko/development/comfy-router/models/fal/h3-max-turbo/code"},{"title":"Comfy Router로 H3 Max 사용하기","sidebarTitle":"H3 Max","href":"/ko/development/comfy-router/models/fal/h3-max/code"},{"title":"Comfy Router에서 Patina 사용하기","sidebarTitle":"Patina","href":"/ko/development/comfy-router/models/fal/patina/code"}]},{"group":"Freepik","pages":[{"title":"Comfy Router로 AI Image Upscaler Precision V2 사용하기","sidebarTitle":"AI Image Upscaler Precision V2","href":"/ko/development/comfy-router/models/freepik/ai-image-upscaler-precision-v2/code"},{"title":"Comfy Router로 AI Skin Enhancer Creative 사용하기","sidebarTitle":"AI Skin Enhancer Creative","href":"/ko/development/comfy-router/models/freepik/ai-skin-enhancer-creative/code"},{"title":"Comfy Router로 AI Skin Enhancer Faithful 사용하기","sidebarTitle":"AI Skin Enhancer Faithful","href":"/ko/development/comfy-router/models/freepik/ai-skin-enhancer-faithful/code"},{"title":"Comfy Router로 AI Skin Enhancer Flexible 사용하기","sidebarTitle":"AI Skin Enhancer Flexible","href":"/ko/development/comfy-router/models/freepik/ai-skin-enhancer-flexible/code"}]},{"group":"Gemini Interactions","pages":[{"title":"Comfy Router에서 Gemini Omni 1.1 Flash 사용하기","sidebarTitle":"Gemini Omni 1.1 Flash","href":"/ko/development/comfy-router/models/gemini-interactions/gemini-omni-1-1-flash/code"},{"title":"Comfy Router와 함께 Gemini Omni Flash Preview 사용하기","sidebarTitle":"Gemini Omni Flash Preview","href":"/ko/development/comfy-router/models/gemini-interactions/gemini-omni-flash-preview/code"}]},{"group":"Google","pages":[{"title":"Comfy Router로 Gemini 2.5 Flash Image 사용하기","sidebarTitle":"Gemini 2.5 Flash Image","href":"/ko/development/comfy-router/models/google/gemini-2-5-flash-image/code"},{"title":"Comfy Router로 Gemini 3.1 Flash Lite 사용하기","sidebarTitle":"Gemini 3.1 Flash Lite","href":"/ko/development/comfy-router/models/google/gemini-3-1-flash-lite/code"},{"title":"Gemini 3.7 Flash를 Comfy Router와 함께 사용하기","sidebarTitle":"Gemini 3.7 Flash","href":"/ko/development/comfy-router/models/google/gemini-3-7-flash/code"},{"title":"Comfy Router로 Gemini 3.8 Flash 사용하기","sidebarTitle":"Gemini 3.8 Flash","href":"/ko/development/comfy-router/models/google/gemini-3-8-flash/code"},{"title":"Comfy Router로 Gemini Nano Banana 2.1 사용하기","sidebarTitle":"Gemini Nano Banana 2.1","href":"/ko/development/comfy-router/models/google/gemini-nano-banana-2-1/code"},{"title":"Comfy Router로 Google Gemini 사용하기","sidebarTitle":"Google Gemini","href":"/ko/development/comfy-router/models/google/gemini/code"},{"title":"Comfy Router로 Nano Banana 2 Lite 사용하기","sidebarTitle":"Nano Banana 2 Lite","href":"/ko/development/comfy-router/models/google/nano-banana-2-lite/code"},{"title":"Comfy Router로 Nano Banana 2 사용하기","sidebarTitle":"Nano Banana 2","href":"/ko/development/comfy-router/models/google/nano-banana-2/code"},{"title":"Comfy Router로 Nano Banana Pro 사용하기","sidebarTitle":"Nano Banana Pro","href":"/ko/development/comfy-router/models/google/nano-banana-pro/code"}]},{"group":"HeyGen","pages":[{"title":"Comfy Router에서 Starfish 사용하기","sidebarTitle":"Starfish","href":"/ko/development/comfy-router/models/heygen/starfish/code"}]},{"group":"Higgsfield","pages":[{"title":"Higgsfield Genjutsu Motion Transfer V1.0을 Comfy Router로 사용하기","sidebarTitle":"Higgsfield Genjutsu Motion Transfer V1.0","href":"/ko/development/comfy-router/models/higgsfield/higgsfield-genjutsu-motion-transfer-v1-0/code"},{"title":"Comfy Router로 Higgsfield Kling 3.4k 사용하기","sidebarTitle":"Higgsfield Kling 3.4k","href":"/ko/development/comfy-router/models/higgsfield/higgsfield-kling-3-4k/code"},{"title":"Comfy Router로 Higgsfield Kling 3 Pro 사용하기","sidebarTitle":"Higgsfield Kling 3 Pro","href":"/ko/development/comfy-router/models/higgsfield/higgsfield-kling-3-pro/code"}]},{"group":"Ideogram","pages":[{"title":"Comfy Router로 Ideogram 4.5 사용하기","sidebarTitle":"Ideogram 4.5","href":"/ko/development/comfy-router/models/ideogram/ideogram-4-5/code"},{"title":"Comfy Router로 Ideogram V3 사용하기","sidebarTitle":"Ideogram V3","href":"/ko/development/comfy-router/models/ideogram/ideogram-v3/code"},{"title":"Comfy Router로 Ideogram 4.0 사용하기","sidebarTitle":"Ideogram 4.0","href":"/ko/development/comfy-router/models/ideogram/ideogram-v4/code"},{"title":"Comfy Router로 P Image Ideogram 사용하기","sidebarTitle":"P Image Ideogram","href":"/ko/development/comfy-router/models/ideogram/p-image-ideogram/code"}]},{"group":"Kling","pages":[{"title":"Comfy Router로 Kling 3.0 Turbo 사용하기","sidebarTitle":"Kling 3.0 Turbo","href":"/ko/development/comfy-router/models/kling/kling-3-0-turbo/code"},{"title":"Comfy Router와 함께 Kling Image O1 사용하기","sidebarTitle":"Kling Image O1","href":"/ko/development/comfy-router/models/kling/kling-image-o1/code"},{"title":"Comfy Router로 Kling V2.5 Turbo 사용하기","sidebarTitle":"Kling V2.5 Turbo","href":"/ko/development/comfy-router/models/kling/kling-v2-5-turbo/code"},{"title":"Comfy Router로 Kling V2.6 사용하기","sidebarTitle":"Kling V2.6","href":"/ko/development/comfy-router/models/kling/kling-v2-6/code"},{"title":"Comfy Router로 Kling V3 Omni 사용하기","sidebarTitle":"Kling V3 Omni","href":"/ko/development/comfy-router/models/kling/kling-v3-omni/code"},{"title":"Comfy Router로 Kling V3 사용하기","sidebarTitle":"Kling V3","href":"/ko/development/comfy-router/models/kling/kling-v3/code"},{"title":"Comfy Router로 Kling Video O1 사용하기","sidebarTitle":"Kling Video O1","href":"/ko/development/comfy-router/models/kling/kling-video-o1/code"},{"title":"Comfy Router로 Videos Avatar Image 2video 사용하기","sidebarTitle":"Videos Avatar Image 2video","href":"/ko/development/comfy-router/models/kling/videos-avatar-image2video/code"},{"title":"Comfy Router로 Videos Lip Sync 사용하기","sidebarTitle":"Videos Lip Sync","href":"/ko/development/comfy-router/models/kling/videos-lip-sync/code"},{"title":"Comfy Router로 Videos Video Extend 사용하기","sidebarTitle":"Videos Video Extend","href":"/ko/development/comfy-router/models/kling/videos-video-extend/code"}]},{"group":"Krea","pages":[{"title":"Comfy Router로 Krea 2 Large 사용하기","sidebarTitle":"Krea 2 Large","href":"/ko/development/comfy-router/models/krea/krea-2-large/code"},{"title":"Comfy Router로 Krea 2 Medium Turbo 사용하기","sidebarTitle":"Krea 2 Medium Turbo","href":"/ko/development/comfy-router/models/krea/krea-2-medium-turbo/code"},{"title":"Comfy Router로 Krea 2 Medium 사용하기","sidebarTitle":"Krea 2 Medium","href":"/ko/development/comfy-router/models/krea/krea-2-medium/code"},{"title":"Comfy Router로 Krea 2 사용하기","sidebarTitle":"Krea 2","href":"/ko/development/comfy-router/models/krea/krea-2/code"},{"title":"Comfy Router로 Krea 3 사용하기","sidebarTitle":"Krea 3","href":"/ko/development/comfy-router/models/krea/krea-3/code"}]},{"group":"LTX","pages":[{"title":"Comfy Router로 LTX 2.5 Fast 사용하기","sidebarTitle":"LTX 2.5 Fast","href":"/ko/development/comfy-router/models/ltx/ltx-2-5-fast/code"},{"title":"Comfy Router로 LTX 2.5 Pro 사용하기","sidebarTitle":"LTX 2.5 Pro","href":"/ko/development/comfy-router/models/ltx/ltx-2-5-pro/code"}]},{"group":"Luma","pages":[{"title":"Comfy Router로 Photon 1 사용하기","sidebarTitle":"Photon 1","href":"/ko/development/comfy-router/models/luma/photon-1/code"},{"title":"Comfy Router로 Photon Flash 1 사용하기","sidebarTitle":"Photon Flash 1","href":"/ko/development/comfy-router/models/luma/photon-flash-1/code"},{"title":"Comfy Router로 Ray 2 사용하기","sidebarTitle":"Ray 2","href":"/ko/development/comfy-router/models/luma/ray-2/code"},{"title":"Comfy Router로 Ray Flash 2 사용하기","sidebarTitle":"Ray Flash 2","href":"/ko/development/comfy-router/models/luma/ray-flash-2/code"}]},{"group":"Luma 2","pages":[{"title":"Comfy Router로 Ray 3.2 사용하기","sidebarTitle":"Ray 3.2","href":"/ko/development/comfy-router/models/luma_2/ray-3-2/code"},{"title":"Comfy Router로 Uni 1 Max 사용하기","sidebarTitle":"Uni 1 Max","href":"/ko/development/comfy-router/models/luma_2/uni-1-max/code"},{"title":"Comfy Router에서 Uni 1 사용하기","sidebarTitle":"Uni 1","href":"/ko/development/comfy-router/models/luma_2/uni-1/code"}]},{"group":"Meshy","pages":[{"title":"Comfy Router로 애니메이션 사용하기","sidebarTitle":"애니메이션","href":"/ko/development/comfy-router/models/meshy/animations/code"},{"title":"Comfy Router로 Meshy 6 사용하기","sidebarTitle":"Meshy 6","href":"/ko/development/comfy-router/models/meshy/meshy-6/code"},{"title":"Comfy Router로 Meshy 7.1 사용하기","sidebarTitle":"Meshy 7.1","href":"/ko/development/comfy-router/models/meshy/meshy-7-1/code"},{"title":"Comfy Router로 Meshy 7 사용하기","sidebarTitle":"Meshy 7","href":"/ko/development/comfy-router/models/meshy/meshy-7/code"},{"title":"Comfy Router에서 Remesh 사용하기","sidebarTitle":"Remesh","href":"/ko/development/comfy-router/models/meshy/remesh/code"},{"title":"Comfy Router로 Rigging 사용하기","sidebarTitle":"Rigging","href":"/ko/development/comfy-router/models/meshy/rigging/code"}]},{"group":"MiniMax","pages":[{"title":"Comfy Router로 MiniMax H3 사용하기","sidebarTitle":"MiniMax H3","href":"/ko/development/comfy-router/models/minimax/minimax-h3/code"}]},{"group":"Moonvalley","pages":[{"title":"Comfy Router로 이미지 기반 비디오 생성 사용하기","sidebarTitle":"이미지 기반 비디오 생성","href":"/ko/development/comfy-router/models/moonvalley/image-to-video/code"},{"title":"Comfy Router로 텍스트 기반 비디오 생성 사용하기","sidebarTitle":"텍스트 기반 비디오 생성","href":"/ko/development/comfy-router/models/moonvalley/text-to-video/code"},{"title":"Comfy Router로 Video To Video 사용하기","sidebarTitle":"비디오 기반 비디오 생성","href":"/ko/development/comfy-router/models/moonvalley/video-to-video/code"}]},{"group":"OpenAI","pages":[{"title":"Comfy Router에서 GPT 4.1 Mini 사용하기","sidebarTitle":"GPT 4.1 Mini","href":"/ko/development/comfy-router/models/openai/gpt-4-1-mini/code"},{"title":"Comfy Router에서 GPT 4.1 Nano 사용하기","sidebarTitle":"GPT 4.1 Nano","href":"/ko/development/comfy-router/models/openai/gpt-4-1-nano/code"},{"title":"Comfy Router로 GPT 4.1 사용하기","sidebarTitle":"GPT 4.1","href":"/ko/development/comfy-router/models/openai/gpt-4-1/code"},{"title":"Comfy Router와 함께 GPT 4o 사용하기","sidebarTitle":"GPT 4o","href":"/ko/development/comfy-router/models/openai/gpt-4o/code"},{"title":"Comfy Router로 GPT 5.5 Pro 사용하기","sidebarTitle":"GPT 5.5 Pro","href":"/ko/development/comfy-router/models/openai/gpt-5-5-pro/code"},{"title":"GPT 5.5를 Comfy Router와 함께 사용하기","sidebarTitle":"GPT 5.5","href":"/ko/development/comfy-router/models/openai/gpt-5-5/code"},{"title":"Comfy Router로 GPT 5.6 Luna 사용하기","sidebarTitle":"GPT 5.6 Luna","href":"/ko/development/comfy-router/models/openai/gpt-5-6-luna/code"},{"title":"Comfy Router와 함께 GPT 5.6 Sol 사용하기","sidebarTitle":"GPT 5.6 Sol","href":"/ko/development/comfy-router/models/openai/gpt-5-6-sol/code"},{"title":"Comfy Router에서 GPT 5.6 Terra 사용하기","sidebarTitle":"GPT 5.6 Terra","href":"/ko/development/comfy-router/models/openai/gpt-5-6-terra/code"},{"title":"Comfy Router에서 GPT 5 Mini 사용하기","sidebarTitle":"GPT 5 Mini","href":"/ko/development/comfy-router/models/openai/gpt-5-mini/code"},{"title":"Comfy Router로 GPT 5 Nano 사용하기","sidebarTitle":"GPT 5 Nano","href":"/ko/development/comfy-router/models/openai/gpt-5-nano/code"},{"title":"Comfy Router에서 GPT 5 사용하기","sidebarTitle":"GPT 5","href":"/ko/development/comfy-router/models/openai/gpt-5/code"},{"title":"Comfy Router와 함께 GPT 6 Astra 사용하기","sidebarTitle":"GPT 6 Astra","href":"/ko/development/comfy-router/models/openai/gpt-6-astra/code"},{"title":"Comfy Router에서 GPT 6 Luna 사용하기","sidebarTitle":"GPT 6 Luna","href":"/ko/development/comfy-router/models/openai/gpt-6-luna/code"},{"title":"Comfy Router로 GPT 6 Sol 사용하기","sidebarTitle":"GPT 6 Sol","href":"/ko/development/comfy-router/models/openai/gpt-6-sol/code"},{"title":"Comfy Router로 GPT Image 1.5 사용하기","sidebarTitle":"GPT Image 1.5","href":"/ko/development/comfy-router/models/openai/gpt-image-1-5/code"},{"title":"Comfy Router에서 GPT Image 1 사용하기","sidebarTitle":"GPT Image 1","href":"/ko/development/comfy-router/models/openai/gpt-image-1/code"},{"title":"Comfy Router에서 GPT Image 2.5 Flare 사용하기","sidebarTitle":"GPT Image 2.5 Flare","href":"/ko/development/comfy-router/models/openai/gpt-image-2-5-flare/code"},{"title":"Comfy Router로 GPT Image 2.5 Sunburst 사용하기","sidebarTitle":"GPT Image 2.5 Sunburst","href":"/ko/development/comfy-router/models/openai/gpt-image-2-5-sunburst/code"},{"title":"Comfy Router에서 GPT Image 2 사용하기","sidebarTitle":"GPT Image 2","href":"/ko/development/comfy-router/models/openai/gpt-image-2/code"},{"title":"Comfy Router에서 o1-pro 사용하기","sidebarTitle":"o1-pro","href":"/ko/development/comfy-router/models/openai/o1-pro/code"},{"title":"Comfy Router에서 o1 사용하기","sidebarTitle":"o1","href":"/ko/development/comfy-router/models/openai/o1/code"},{"title":"Comfy Router와 함께 o3 사용하기","sidebarTitle":"o3","href":"/ko/development/comfy-router/models/openai/o3/code"},{"title":"Comfy Router로 o4-mini 사용하기","sidebarTitle":"o4-mini","href":"/ko/development/comfy-router/models/openai/o4-mini/code"}]},{"group":"Pika","pages":[{"title":"Comfy Router로 Pika 2.5 이미지 기반 비디오 생성 사용하기","sidebarTitle":"Pika 2.5 이미지 기반 비디오 생성","href":"/ko/development/comfy-router/models/pika/pika-2-5-image-to-video/code"},{"title":"Comfy Router로 Pika 2.5 텍스트 기반 비디오 생성 사용하기","sidebarTitle":"Pika 2.5 텍스트 기반 비디오 생성","href":"/ko/development/comfy-router/models/pika/pika-2-5-text-to-video/code"}]},{"group":"Pruna","pages":[{"title":"Comfy Router로 P Video 2 사용하기","sidebarTitle":"P Video 2","href":"/ko/development/comfy-router/models/pruna/p-video-2/code"}]},{"group":"Qwen","pages":[{"title":"Comfy Router로 Qwen Image 3.0 Pro 사용하기","sidebarTitle":"Qwen Image 3.0 Pro","href":"/ko/development/comfy-router/models/qwen/qwen-image-3-0-pro/code"},{"title":"Comfy Router로 Qwen Image 3.0 사용하기","sidebarTitle":"Qwen Image 3.0","href":"/ko/development/comfy-router/models/qwen/qwen-image-3-0/code"}]},{"group":"Recraft","pages":[{"title":"Comfy Router에서 Recraft V2 사용하기","sidebarTitle":"Recraft V2","href":"/ko/development/comfy-router/models/recraft/recraftv2/code"},{"title":"Comfy Router로 Recraft V3 사용하기","sidebarTitle":"Recraft V3","href":"/ko/development/comfy-router/models/recraft/recraftv3/code"},{"title":"Comfy Router로 Recraft V4.1 Pro Vector 사용하기","sidebarTitle":"Recraft V4.1 Pro Vector","href":"/ko/development/comfy-router/models/recraft/recraftv4-1-pro-vector/code"},{"title":"Comfy Router로 Recraft V4.1 Pro 사용하기","sidebarTitle":"Recraft V4.1 Pro","href":"/ko/development/comfy-router/models/recraft/recraftv4-1-pro/code"},{"title":"Comfy Router로 Recraft V4.1 Utility Pro Vector 사용하기","sidebarTitle":"Recraft V4.1 Utility Pro Vector","href":"/ko/development/comfy-router/models/recraft/recraftv4-1-utility-pro-vector/code"},{"title":"Comfy Router에서 Recraft V4.1 Utility Pro 사용하기","sidebarTitle":"Recraft V4.1 Utility Pro","href":"/ko/development/comfy-router/models/recraft/recraftv4-1-utility-pro/code"},{"title":"Comfy Router로 Recraft V4.1 Utility Vector 사용하기","sidebarTitle":"Recraft V4.1 Utility Vector","href":"/ko/development/comfy-router/models/recraft/recraftv4-1-utility-vector/code"},{"title":"Comfy Router로 Recraft V4.1 Utility 사용하기","sidebarTitle":"Recraft V4.1 Utility","href":"/ko/development/comfy-router/models/recraft/recraftv4-1-utility/code"},{"title":"Comfy Router로 Recraft V4.1 Vector 사용하기","sidebarTitle":"Recraft V4.1 Vector","href":"/ko/development/comfy-router/models/recraft/recraftv4-1-vector/code"},{"title":"Comfy Router로 Recraft V4.1 사용하기","sidebarTitle":"Recraft V4.1","href":"/ko/development/comfy-router/models/recraft/recraftv4-1/code"},{"title":"Comfy Router로 Recraft V4 Pro 사용하기","sidebarTitle":"Recraft V4 Pro","href":"/ko/development/comfy-router/models/recraft/recraftv4-pro/code"},{"title":"Comfy Router로 Recraft V4 Styles Pro Vector 사용하기","sidebarTitle":"Recraft V4 Styles Pro Vector","href":"/ko/development/comfy-router/models/recraft/recraftv4-styles-pro-vector/code"},{"title":"Comfy Router로 Recraft V4 Styles Pro 사용하기","sidebarTitle":"Recraft V4 Styles Pro","href":"/ko/development/comfy-router/models/recraft/recraftv4-styles-pro/code"},{"title":"Comfy Router로 Recraft V4 Styles Vector 사용하기","sidebarTitle":"Recraft V4 Styles Vector","href":"/ko/development/comfy-router/models/recraft/recraftv4-styles-vector/code"},{"title":"Comfy Router로 Recraft V4 Styles 사용하기","sidebarTitle":"Recraft V4 Styles","href":"/ko/development/comfy-router/models/recraft/recraftv4-styles/code"},{"title":"Comfy Router로 Recraft V4 사용하기","sidebarTitle":"Recraft V4","href":"/ko/development/comfy-router/models/recraft/recraftv4/code"}]},{"group":"Runway","pages":[{"title":"Comfy Router로 Aleph 2 사용하기","sidebarTitle":"Aleph 2","href":"/ko/development/comfy-router/models/runway/aleph2/code"},{"title":"Comfy Router로 Gen 4 Image 사용하기","sidebarTitle":"Gen 4 Image","href":"/ko/development/comfy-router/models/runway/gen4-image/code"},{"title":"Comfy Router로 Gen 4 Turbo 사용하기","sidebarTitle":"Gen 4 Turbo","href":"/ko/development/comfy-router/models/runway/gen4-turbo/code"}]},{"group":"Synclabs","pages":[{"title":"Comfy Router로 Sync 3 사용하기","sidebarTitle":"Sync 3","href":"/ko/development/comfy-router/models/synclabs/sync-3/code"}]},{"group":"Tencent","pages":[{"title":"Comfy Router로 Hunyuan 3D Part 사용하기","sidebarTitle":"Hunyuan 3D Part","href":"/ko/development/comfy-router/models/tencent/hunyuan-3d-part/code"},{"title":"Comfy Router로 Hunyuan 3D Smart Topology 사용하기","sidebarTitle":"Hunyuan 3D Smart Topology","href":"/ko/development/comfy-router/models/tencent/hunyuan-3d-smart-topology/code"},{"title":"Comfy Router로 Hunyuan 3D Texture Edit 사용하기","sidebarTitle":"Hunyuan 3D Texture Edit","href":"/ko/development/comfy-router/models/tencent/hunyuan-3d-texture-edit/code"},{"title":"Comfy Router로 Hunyuan 3D Uv 사용하기","sidebarTitle":"Hunyuan 3D Uv","href":"/ko/development/comfy-router/models/tencent/hunyuan-3d-uv/code"}]},{"group":"Veed","pages":[{"title":"Comfy Router로 Clean Audio Video 사용하기","sidebarTitle":"Clean Audio Video","href":"/ko/development/comfy-router/models/veed/clean-audio-video/code"},{"title":"Comfy Router로 Clean Audio 사용하기","sidebarTitle":"Clean Audio","href":"/ko/development/comfy-router/models/veed/clean-audio/code"},{"title":"Comfy Router에서 Fabric 1.0 사용하기","sidebarTitle":"Fabric 1.0","href":"/ko/development/comfy-router/models/veed/fabric-1-0/code"},{"title":"Comfy Router로 Lipsync 2.0 사용하기","sidebarTitle":"Lipsync 2.0","href":"/ko/development/comfy-router/models/veed/lipsync-2-0/code"},{"title":"Comfy Router로 Video Background Removal Fast 사용하기","sidebarTitle":"Video Background Removal Fast","href":"/ko/development/comfy-router/models/veed/video-background-removal-fast/code"},{"title":"Comfy Router로 Video Background Removal Green Screen 사용하기","sidebarTitle":"Video Background Removal Green Screen","href":"/ko/development/comfy-router/models/veed/video-background-removal-green-screen/code"},{"title":"Comfy Router로 Video Background Removal 사용하기","sidebarTitle":"Video Background Removal","href":"/ko/development/comfy-router/models/veed/video-background-removal/code"}]},{"group":"Veo","pages":[{"title":"Comfy Router로 Veo 3.1 Fast Generate 001 사용하기","sidebarTitle":"Veo 3.1 Fast Generate 001","href":"/ko/development/comfy-router/models/veo/veo-3-1-fast-generate-001/code"},{"title":"Comfy Router로 Veo 3.1 Generate 001 사용하기","sidebarTitle":"Veo 3.1 Generate 001","href":"/ko/development/comfy-router/models/veo/veo-3-1-generate-001/code"},{"title":"Comfy Router로 Veo 3.1 Lite Generate 001 사용하기","sidebarTitle":"Veo 3.1 Lite Generate 001","href":"/ko/development/comfy-router/models/veo/veo-3-1-lite-generate-001/code"}]},{"group":"Wan","pages":[{"title":"Comfy Router로 HappyHorse 1.0 I2V 사용하기","sidebarTitle":"HappyHorse 1.0 I2V","href":"/ko/development/comfy-router/models/wan/happyhorse-1-0-i2v/code"},{"title":"Comfy Router로 HappyHorse 1.0 R2V 사용하기","sidebarTitle":"HappyHorse 1.0 R2V","href":"/ko/development/comfy-router/models/wan/happyhorse-1-0-r2v/code"},{"title":"Comfy Router로 HappyHorse 1.0 T2V 사용하기","sidebarTitle":"HappyHorse 1.0 T2V","href":"/ko/development/comfy-router/models/wan/happyhorse-1-0-t2v/code"},{"title":"Comfy Router로 HappyHorse 1.0 Video Edit 사용하기","sidebarTitle":"HappyHorse 1.0 Video Edit","href":"/ko/development/comfy-router/models/wan/happyhorse-1-0-video-edit/code"},{"title":"Comfy Router로 HappyHorse 1.1 I2V 사용하기","sidebarTitle":"HappyHorse 1.1 I2V","href":"/ko/development/comfy-router/models/wan/happyhorse-1-1-i2v/code"},{"title":"Comfy Router로 HappyHorse 1.1 R2V 사용하기","sidebarTitle":"HappyHorse 1.1 R2V","href":"/ko/development/comfy-router/models/wan/happyhorse-1-1-r2v/code"},{"title":"Comfy Router로 HappyHorse 1.1 T2V 사용하기","sidebarTitle":"HappyHorse 1.1 T2V","href":"/ko/development/comfy-router/models/wan/happyhorse-1-1-t2v/code"},{"title":"Wan 2.5 I2I Preview를 Comfy Router와 함께 사용하기","sidebarTitle":"Wan 2.5 I2I Preview","href":"/ko/development/comfy-router/models/wan/wan2-5-i2i-preview/code"},{"title":"Comfy Router로 Wan 2.5 I2V Preview 사용하기","sidebarTitle":"Wan 2.5 I2V Preview","href":"/ko/development/comfy-router/models/wan/wan2-5-i2v-preview/code"},{"title":"Comfy Router로 Wan 2.5 T2I Preview 사용하기","sidebarTitle":"Wan 2.5 T2I Preview","href":"/ko/development/comfy-router/models/wan/wan2-5-t2i-preview/code"},{"title":"Comfy Router로 Wan 2.5 T2V Preview 사용하기","sidebarTitle":"Wan 2.5 T2V Preview","href":"/ko/development/comfy-router/models/wan/wan2-5-t2v-preview/code"},{"title":"Comfy Router로 Wan 2.6 I2V 사용하기","sidebarTitle":"Wan 2.6 I2V","href":"/ko/development/comfy-router/models/wan/wan2-6-i2v/code"},{"title":"Comfy Router로 Wan 2.6 R2V 사용하기","sidebarTitle":"Wan 2.6 R2V","href":"/ko/development/comfy-router/models/wan/wan2-6-r2v/code"},{"title":"Comfy Router로 Wan 2.6 T2V 사용하기","sidebarTitle":"Wan 2.6 T2V","href":"/ko/development/comfy-router/models/wan/wan2-6-t2v/code"},{"title":"Comfy Router로 Wan 2.7 I2V 사용하기","sidebarTitle":"Wan 2.7 I2V","href":"/ko/development/comfy-router/models/wan/wan2-7-i2v/code"},{"title":"Comfy Router로 Wan 2.7 R2V 사용하기","sidebarTitle":"Wan 2.7 R2V","href":"/ko/development/comfy-router/models/wan/wan2-7-r2v/code"},{"title":"Comfy Router로 Wan 2.7 T2V 사용하기","sidebarTitle":"Wan 2.7 T2V","href":"/ko/development/comfy-router/models/wan/wan2-7-t2v/code"},{"title":"Comfy Router로 Wan 2.7 Video Edit 사용하기","sidebarTitle":"Wan 2.7 Video Edit","href":"/ko/development/comfy-router/models/wan/wan2-7-videoedit/code"},{"title":"Comfy Router로 Wan 3.0 Video Prime 사용하기","sidebarTitle":"Wan 3.0 Video Prime","href":"/ko/development/comfy-router/models/wan/wan3-0-video-prime/code"},{"title":"Comfy Router로 Wan 3.0 Video 사용하기","sidebarTitle":"Wan 3.0 Video","href":"/ko/development/comfy-router/models/wan/wan3-0-video/code"}]},{"group":"WaveSpeed","pages":[{"title":"Comfy Router로 Flashvsr 사용하기","sidebarTitle":"Flashvsr","href":"/ko/development/comfy-router/models/wavespeed/flashvsr/code"},{"title":"Comfy Router로 Seedvr 2 사용하기","sidebarTitle":"Seedvr 2","href":"/ko/development/comfy-router/models/wavespeed/seedvr2/code"},{"title":"Comfy Router로 Ultimate Image Upscaler 사용하기","sidebarTitle":"Ultimate Image Upscaler","href":"/ko/development/comfy-router/models/wavespeed/ultimate-image-upscaler/code"}]},{"group":"xAI","pages":[{"title":"Comfy Router에서 Grok Imagine Image 2.0 사용하기","sidebarTitle":"Grok Imagine Image 2.0","href":"/ko/development/comfy-router/models/xai/grok-imagine-image-2-0/code"},{"title":"Comfy Router로 Grok Imagine Image Pro 사용하기","sidebarTitle":"Grok Imagine Image Pro","href":"/ko/development/comfy-router/models/xai/grok-imagine-image-pro/code"},{"title":"Comfy Router로 Grok Imagine Image Quality 사용하기","sidebarTitle":"Grok Imagine Image Quality","href":"/ko/development/comfy-router/models/xai/grok-imagine-image-quality/code"},{"title":"Comfy Router로 Grok Imagine Image 사용하기","sidebarTitle":"Grok Imagine Image","href":"/ko/development/comfy-router/models/xai/grok-imagine-image/code"},{"title":"Comfy Router로 Grok Imagine Video 1.5 Lite 사용하기","sidebarTitle":"Grok Imagine Video 1.5 Lite","href":"/ko/development/comfy-router/models/xai/grok-imagine-video-1-5-lite/code"},{"title":"Comfy Router로 Grok Imagine Video 1.5 Preview 사용하기","sidebarTitle":"Grok Imagine Video 1.5 Preview","href":"/ko/development/comfy-router/models/xai/grok-imagine-video-1-5-preview/code"},{"title":"Comfy Router로 Grok Imagine Video 1.5 사용하기","sidebarTitle":"Grok Imagine Video 1.5","href":"/ko/development/comfy-router/models/xai/grok-imagine-video-1-5/code"},{"title":"Comfy Router로 Grok Imagine Video 사용하기","sidebarTitle":"Grok Imagine Video","href":"/ko/development/comfy-router/models/xai/grok-imagine-video/code"}]},{"group":"Openrouter","pages":[{"title":"Comfy Router로 Chat Completions 사용하기","sidebarTitle":"Chat Completions","href":"/ko/development/comfy-router/models/openrouter/chat-completions/code"}]}]}]},{"group":"Comfy CLI","pages":[{"title":"Comfy CLI 시작하기","sidebarTitle":"시작하기","href":"/ko/comfy-cli/getting-started"},{"title":"Comfy CLI 명령 레퍼런스","sidebarTitle":"명령어 레퍼런스","href":"/ko/comfy-cli/reference"},{"title":"Comfy CLI 문제 해결 가이드","sidebarTitle":"문제 해결","href":"/ko/comfy-cli/troubleshooting"}]},{"group":"스펙","pages":[{"group":"Workflow JSON","pages":[{"title":"워크플로 JSON","href":"/ko/specs/workflow_json"},{"title":"워크플로우 JSON 0.4","href":"/ko/specs/workflow_json_0.4"}]},{"group":"노드 정의","pages":[{"title":"노드 정의 JSON","href":"/ko/specs/nodedef_json"},{"title":"노드 정의 JSON 1.0","href":"/ko/specs/nodedef_json_1_0"}]}]},{"group":"Demo Apps","pages":[{"title":"데모 앱","mode":"wide","href":"/ko/development/samples/overview"}]}]},{"tab":"커스텀 노드","pages":[{"title":"커스텀 노드","href":"/ko/custom-nodes/intro"}]},{"tab":"지원","pages":[{"title":"지원","href":"/ko/support/contact-support"}]},{"tab":"Cloud API 참조","pages":[{"title":"Cloud API 참조","href":"/ko/api-reference/cloud/workflow/get-information-about-current-prompt-executions"}]}]},{"language":"es","pages":[{"title":"es","href":"/es/api-reference/v2/jobs/list-jobs-newest-first"}]}]},"title":"List jobs, newest first - ComfyUI","buildId":"dpl_2oYXwqkEXirXBPk8wV1FtM5USFWi","deploymentId":"dpl_2oYXwqkEXirXBPk8wV1FtM5USFWi","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-WRhTSUDL.js","utils-ChMov4Kr.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-_REmC2bI.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-Bp6nVRCu.js","snippetPresets-DZadmXoU.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CY2WdoTl.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-DwYG-Q4l.js","shallow-BXQIGwv4.js","getApiPlaygroundDisplay-CK5nK5B9.js","CodeSnippet-TH4a2aGW.js","CodeSnippets-DwsQiOFS.js","Page-R3M_BF4L.js","getPastedJson-DD7kUzi_.js","icon-holE3QoJ.js","MethodPill-DUW0T8us.js","DuplicateIcon-CI_p4be-.js","createIcon-BdbRvavb.js","DynamicMarkdown-DN96a4Ur.js","SectionHeading-SCu36A9d.js","axios-vUo_bRtp.js","Markdown-CCeGv-zI.js","clsx-BGBGWFTt.js","lib--scc4DXi.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-Cv_O2fky.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-2C5OB2eV.js"]}