{"openapi":"3.1.0","info":{"title":"AutoRig Online","description":"Automatic 3D model rigging service","version":"1.0.0"},"paths":{"/api/ai/media/resolve":{"get":{"summary":"Resolve Media","description":"A Civitai page or CDN preview -> the original media file (other links unchanged).","operationId":"resolve_media_api_ai_media_resolve_get","parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string","maxLength":2048,"title":"Url"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/civitai-search":{"post":{"summary":"Api Civitai Search","operationId":"api_civitai_search_api_ai_civitai_search_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/fleet":{"get":{"summary":"Api Ai Fleet","description":"Who is up, who is busy, and how long each service has been taking.","operationId":"api_ai_fleet_api_ai_fleet_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/ai/graph/templates":{"get":{"summary":"Api Graph Templates","description":"Compositions that ship with the editor.","operationId":"api_graph_templates_api_ai_graph_templates_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/ai/graphs":{"post":{"summary":"Api Graph Save","description":"Store a graph and hand back the link that reopens it.","operationId":"api_graph_save_api_ai_graphs_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Graph"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"summary":"Api Graph Library","description":"The saved compositions, newest first, for the workflow library.","operationId":"api_graph_library_api_ai_graphs_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":60,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}},{"name":"q","in":"query","required":false,"schema":{"type":"string","default":"","title":"Q"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/graphs/{graph_id}":{"put":{"summary":"Api Graph Update","description":"Save an edited graph under the link it already has.\n\nOrdinary saving is an edit of one document, not a new library entry: the\ncontent-derived id only names a graph the first time it is stored, and a\nlegacy link carries on under the id it was shared with. Last write wins\nbetween two tabs, except that results the other tab finished are kept.\nOnly /duplicate makes a copy.","operationId":"api_graph_update_api_ai_graphs__graph_id__put","parameters":[{"name":"graph_id","in":"path","required":true,"schema":{"type":"string","title":"Graph Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Graph"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"summary":"Api Graph Load","description":"Reopen a saved graph, or a template if the id names one.","operationId":"api_graph_load_api_ai_graphs__graph_id__get","parameters":[{"name":"graph_id","in":"path","required":true,"schema":{"type":"string","title":"Graph Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/graphs/duplicate":{"post":{"summary":"Api Graph Duplicate","description":"Persist an independent snapshot without altering its source graph.\n\nResults are intentionally retained. A copied running task therefore keeps\nwatching the already accepted farm task rather than submitting it again;\nchanging a node's parameters remains the browser runner's normal signal to\ninvalidate that node's previous result.","operationId":"api_graph_duplicate_api_ai_graphs_duplicate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DuplicateGraphRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/graphs/{graph_id}/results":{"put":{"summary":"Api Graph Results","description":"Record what a run has produced so far, without touching the wiring.\n\nWritten as the run goes rather than once at the end: a clip takes minutes,\nand a link shared while it renders should show it arriving.","operationId":"api_graph_results_api_ai_graphs__graph_id__results_put","parameters":[{"name":"graph_id","in":"path","required":true,"schema":{"type":"string","title":"Graph Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Results"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/graphs/{graph_id}/alias":{"put":{"summary":"Api Graph Alias","description":"Give a saved graph a readable link, /nodes/<slug>.\n\nFirst come, first served: a slug that already names another graph is\nrefused (409) rather than silently re-pointed.","operationId":"api_graph_alias_api_ai_graphs__graph_id__alias_put","parameters":[{"name":"graph_id","in":"path","required":true,"schema":{"type":"string","title":"Graph Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GraphAliasRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/nodes/{slug}":{"get":{"summary":"Nodes Named Link","operationId":"nodes_named_link_nodes__slug__get","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/graphs/{graph_id}/revision":{"get":{"summary":"Api Graph Revision","description":"The stored revision alone (live sync, owner 2026-09-29).\n\nThe server is the only source of truth: every open editor tab polls this\nand pulls the graph in (merging its own unsaved edits) when it moved on,\ninstead of finding out through a refused save.","operationId":"api_graph_revision_api_ai_graphs__graph_id__revision_get","parameters":[{"name":"graph_id","in":"path","required":true,"schema":{"type":"string","title":"Graph Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/thumb":{"get":{"summary":"Api Thumb","description":"A small JPEG of a picture, cached on disk (2026-09-28).\n\nLibrary tiles and gallery cells showed full-size renders (up to 4096 px,\nseveral MB each): one /workflows page downloaded ~47 MB.","operationId":"api_thumb_api_ai_thumb_get","parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string","title":"Url"}},{"name":"w","in":"query","required":false,"schema":{"type":"integer","default":360,"title":"W"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/build":{"get":{"summary":"Api Build","description":"Live editor build and this backend's start time (ai-autoreload.js polls it).","operationId":"api_build_api_ai_build_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/ai/media-size":{"get":{"summary":"Api Media Size","description":"The ORIGINAL pixel size of a picture the editor shows as a thumbnail.\n\nThe media gate (static/js/ai-media-governor.js) displays /api/ai/thumb\ncopies; a size read from the displayed element would be the thumbnail's\n(a 960x1472 render showed \"160x245\" and auto-size used it). This reads the\noriginal's header (first 256 KB, the whole file only if needed), cached.","operationId":"api_media_size_api_ai_media_size_get","parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string","title":"Url"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/my-tasks":{"get":{"summary":"Api My Tasks","description":"The caller's last finished render outputs and the farm queue (owner-scoped).\n\nOwnership is the same as for /api/ai/cancel: the identity that submitted\nthe task (session, anon cookie, API key or address). Finished states are\ncached, so polling every few seconds asks renderfin only about open tasks.","operationId":"api_my_tasks_api_ai_my_tasks_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":10,"title":"Limit"}},{"name":"graph","in":"query","required":false,"schema":{"type":"string","default":"","title":"Graph"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/cancel":{"post":{"summary":"Api Cancel","description":"Stand down work that has not started, and leave alone work that has.\n\nA render still waiting for a card is pure waste once nobody wants it, and\nthe queue is shared, so dropping it gives the capacity back to somebody\nelse. A job already on a card has spent real GPU minutes and its output is\nusually still wanted, so it is left to finish — and the converter offers no\nway to stop one anyway, which is the honest reason its tasks are only\ncounted here rather than cancelled.","operationId":"api_cancel_api_ai_cancel_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CancelRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/graphs/{graph_id}/queue":{"get":{"summary":"Api Graph Queue","description":"This graph's queued/running jobs against everybody else's.","operationId":"api_graph_queue_api_ai_graphs__graph_id__queue_get","parameters":[{"name":"graph_id","in":"path","required":true,"schema":{"type":"string","title":"Graph Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/graphs/{graph_id}/cancel-queue":{"post":{"summary":"Api Graph Cancel Queue","description":"The editor's \"Cancel this graph's queue\": every queued job of the graph\nthe caller submitted (all of them for an admin). Running jobs finish.","operationId":"api_graph_cancel_queue_api_ai_graphs__graph_id__cancel_queue_post","parameters":[{"name":"graph_id","in":"path","required":true,"schema":{"type":"string","title":"Graph Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/graph-archive":{"get":{"summary":"Api Graphs Archived","description":"What the archive holds and how each entry got there (admin).","operationId":"api_graphs_archived_api_ai_graph_archive_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/ai/graphs/{graph_id}/archive":{"post":{"summary":"Api Graph Archive","description":"Hide a graph from the library without deleting it (admin). Its link\nstill opens; POST .../restore or any edit brings it back.","operationId":"api_graph_archive_api_ai_graphs__graph_id__archive_post","parameters":[{"name":"graph_id","in":"path","required":true,"schema":{"type":"string","title":"Graph Id"}},{"name":"kept","in":"query","required":false,"schema":{"type":"string","default":"","title":"Kept"}},{"name":"note","in":"query","required":false,"schema":{"type":"string","default":"","title":"Note"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/graphs/{graph_id}/restore":{"post":{"summary":"Api Graph Restore","description":"Put an archived graph back into the library (admin).","operationId":"api_graph_restore_api_ai_graphs__graph_id__restore_post","parameters":[{"name":"graph_id","in":"path","required":true,"schema":{"type":"string","title":"Graph Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/cache":{"delete":{"summary":"Api Purge Cache","description":"Delete the saved compositions and the files they produced.\n\nReally deletes: the point of the button is to get the disk back, so a\ntidy-up that only forgot the index would be worse than none. It deletes\nonly files a stored composition claims as its own output — the render tree\nholds work from the rest of the site too, and none of that is ours.\n\nThe farm nodes clean up after themselves, so nothing is asked of them.","operationId":"api_purge_cache_api_ai_cache_delete","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/ai/video-tools/extract-frames":{"post":{"summary":"Api Extract Frames","operationId":"api_extract_frames_api_ai_video_tools_extract_frames_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExtractFramesRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/video-tools/map":{"post":{"summary":"Api Control Map","operationId":"api_control_map_api_ai_video_tools_map_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MapRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/video-tools/scene-split":{"post":{"summary":"Api Scene Split","operationId":"api_scene_split_api_ai_video_tools_scene_split_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SceneSplitRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/video-tools/concat":{"post":{"summary":"Api Concat","operationId":"api_concat_api_ai_video_tools_concat_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConcatRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/video-tools/merge":{"post":{"summary":"Api Merge","operationId":"api_merge_api_ai_video_tools_merge_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MergeRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/video-tools/audio-mux":{"post":{"summary":"Api Audio Mux","operationId":"api_audio_mux_api_ai_video_tools_audio_mux_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AudioMuxRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/video-tools/status/{task_id}":{"get":{"summary":"Api Video Tools Status","operationId":"api_video_tools_status_api_ai_video_tools_status__task_id__get","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/video-tools":{"get":{"summary":"Api Video Tools Docs","operationId":"api_video_tools_docs_api_ai_video_tools_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/ai/wan-animate":{"post":{"summary":"Wan Animate","operationId":"wan_animate_api_ai_wan_animate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WanImageRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/normal-shade/{render_id}.png":{"get":{"summary":"Api Normal Shade","operationId":"api_normal_shade_api_ai_normal_shade__render_id__png_get","parameters":[{"name":"render_id","in":"path","required":true,"schema":{"type":"string","title":"Render Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/controlnet":{"get":{"summary":"Api Controlnet Docs","operationId":"api_controlnet_docs_api_controlnet_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"summary":"Api Controlnet","operationId":"api_controlnet_api_controlnet_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ControlNetRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/upscale":{"get":{"summary":"Api Upscale Docs","operationId":"api_upscale_docs_api_upscale_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"summary":"Api Upscale","operationId":"api_upscale_api_upscale_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpscaleRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/upscale2x":{"get":{"summary":"Api Upscale2X Docs","operationId":"api_upscale2x_docs_api_upscale2x_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"summary":"Api Upscale2X","operationId":"api_upscale2x_api_upscale2x_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Upscale2xRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/detail":{"get":{"summary":"Api Detail Docs","operationId":"api_detail_docs_api_detail_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"summary":"Api Detail","operationId":"api_detail_api_detail_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DetailRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/facefix":{"get":{"summary":"Api Facefix Docs","operationId":"api_facefix_docs_api_facefix_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"summary":"Api Facefix","operationId":"api_facefix_api_facefix_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FaceFixRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/qwen-image":{"get":{"summary":"Api Qwen Image Docs","operationId":"api_qwen_image_docs_api_qwen_image_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"summary":"Api Qwen Image","operationId":"api_qwen_image_api_qwen_image_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QwenImageRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/music":{"get":{"summary":"Api Music Docs","operationId":"api_music_docs_api_music_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"summary":"Api Music","operationId":"api_music_api_music_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MusicRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/music/video/{name}":{"head":{"summary":"Api Music Video","operationId":"api_music_video_api_music_video__name__head","parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string","title":"Name"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"summary":"Api Music Video","operationId":"api_music_video_api_music_video__name__head","parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string","title":"Name"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/camera-orbit/image":{"get":{"summary":"Api Camera Image Docs","operationId":"api_camera_image_docs_api_camera_orbit_image_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"summary":"Api Camera Image","operationId":"api_camera_image_api_camera_orbit_image_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CameraImageRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/camera-orbit/video":{"get":{"summary":"Api Camera Video Docs","operationId":"api_camera_video_docs_api_camera_orbit_video_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"summary":"Api Camera Video","operationId":"api_camera_video_api_camera_orbit_video_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CameraVideoRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/model-catalogue":{"get":{"summary":"Api Model Catalogue","description":"Checkpoints and LoRAs with their pictures, optionally for one service.","operationId":"api_model_catalogue_api_ai_model_catalogue_get","parameters":[{"name":"service","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Service"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/model-preview/{name}":{"get":{"summary":"Api Model Preview","description":"One thumbnail. Served from our own disk, never proxied from Civitai.","operationId":"api_model_preview_api_ai_model_preview__name__get","parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string","title":"Name"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/services":{"get":{"summary":"Api Ai Services","description":"The typed catalogue the pages build themselves from.","operationId":"api_ai_services_api_ai_services_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/ai/render-status/{task_id}":{"get":{"summary":"Api Render Task Status","description":"Actual queue state and assigned worker, independent of output-file timing.","operationId":"api_render_task_status_api_ai_render_status__task_id__get","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/request-cache":{"delete":{"summary":"Api Clear Request Cache","operationId":"api_clear_request_cache_api_ai_request_cache_delete","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/ai/model-settings":{"get":{"summary":"Api Ai Model Settings","description":"Resolved catalogue defaults used when a model selection changes.","operationId":"api_ai_model_settings_api_ai_model_settings_get","parameters":[{"name":"service","in":"query","required":true,"schema":{"type":"string","title":"Service"}},{"name":"checkpoint","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Checkpoint"}},{"name":"lora","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lora"}},{"name":"control_channel","in":"query","required":false,"schema":{"type":"string","default":"","title":"Control Channel"}},{"name":"mode","in":"query","required":false,"schema":{"type":"string","default":"","title":"Mode"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/models":{"get":{"summary":"Api Ai Models","description":"Models a caller may select for /api/vision and /api/text2text.","operationId":"api_ai_models_api_ai_models_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/vision":{"get":{"summary":"Api Vision Docs","description":"GET mirror documenting the POST image endpoint.","operationId":"api_vision_docs_api_vision_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"summary":"Api Vision","operationId":"api_vision_api_vision_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VisionRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/text2text":{"get":{"summary":"Api Text2Text Docs","description":"GET mirror documenting the POST text endpoint.","operationId":"api_text2text_docs_api_text2text_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"summary":"Api Text2Text","operationId":"api_text2text_api_text2text_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TextRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/status/{task_id}":{"get":{"summary":"Api Ai Status","operationId":"api_ai_status_api_ai_status__task_id__get","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/image":{"get":{"summary":"Api Image Docs","description":"GET mirror documenting the POST image endpoint.","operationId":"api_image_docs_api_image_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"summary":"Api Image","operationId":"api_image_api_image_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImageRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/video":{"get":{"summary":"Api Video Docs","description":"GET mirror documenting the POST video endpoint.","operationId":"api_video_docs_api_video_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"summary":"Api Video","operationId":"api_video_api_video_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VideoRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/3dmodel":{"get":{"summary":"Api 3Dmodel Docs","description":"GET mirror documenting the POST 3D endpoint.","operationId":"api_3dmodel_docs_api_3dmodel_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"summary":"Api 3Dmodel","description":"Turn a picture into a 3D model on a farm node cleared for Hunyuan.","operationId":"api_3dmodel_api_3dmodel_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModelRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/3dmodel/status/{task_id}":{"get":{"summary":"Api 3Dmodel Status","description":"Hunyuan has its own status path, so 3D tasks cannot share /api/ai/status.","operationId":"api_3dmodel_status_api_3dmodel_status__task_id__get","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/farm-llm/v1/models":{"get":{"summary":"Farm Llm Models","operationId":"farm_llm_models_api_farm_llm_v1_models_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/farm-llm/models":{"get":{"summary":"Farm Llm Models","operationId":"farm_llm_models_api_farm_llm_models_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/farm-llm/v1/chat/completions":{"post":{"summary":"Farm Llm Chat","operationId":"farm_llm_chat_api_farm_llm_v1_chat_completions_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/farm-llm/chat/completions":{"post":{"summary":"Farm Llm Chat","operationId":"farm_llm_chat_api_farm_llm_chat_completions_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api-name-cheap":{"get":{"tags":["namecheap-remote"],"summary":"Namecheap Remote Docs","description":"Public docs without key; with valid key — same + secret reminder.","operationId":"namecheap_remote_docs_api_name_cheap_get","parameters":[{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["namecheap-remote"],"summary":"Namecheap Remote Post","operationId":"namecheap_remote_post_api_name_cheap_post","parameters":[{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NamecheapRemoteBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/task/{task_id}/sale-offer-state":{"get":{"summary":"Sale Offer State","operationId":"sale_offer_state_api_task__task_id__sale_offer_state_get","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/task/{task_id}/sale-offers":{"post":{"summary":"Create Sale Offer","operationId":"create_sale_offer_api_task__task_id__sale_offers_post","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SaleOfferCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/model-sale/accept":{"get":{"summary":"Review Sale Offer","operationId":"review_sale_offer_model_sale_accept_get","parameters":[{"name":"token","in":"query","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/model-sale/accept":{"post":{"summary":"Accept Sale Offer","operationId":"accept_sale_offer_api_model_sale_accept_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/auth/oneclick":{"get":{"summary":"Oneclick Login","operationId":"oneclick_login_auth_oneclick_get","parameters":[{"name":"state","in":"query","required":true,"schema":{"type":"string","title":"State"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/my/tasks":{"get":{"summary":"Api My Tasks","operationId":"api_my_tasks_api_my_tasks_get","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","default":1,"title":"Page"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","default":24,"title":"Per Page"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/my/tasks/{task_id}":{"patch":{"summary":"Api My Task Patch","operationId":"api_my_task_patch_api_my_tasks__task_id__patch","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"summary":"Api My Task Delete","operationId":"api_my_task_delete_api_my_tasks__task_id__delete","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/task/{task_id}/visibility":{"patch":{"summary":"Api Task Visibility","operationId":"api_task_visibility_api_task__task_id__visibility_patch","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"summary":"Api Task Visibility","operationId":"api_task_visibility_api_task__task_id__visibility_patch","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/my/tasks/{task_id}/restore":{"post":{"summary":"Api My Task Restore","operationId":"api_my_task_restore_api_my_tasks__task_id__restore_post","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/my/tasks/bulk":{"post":{"summary":"Api My Tasks Bulk","operationId":"api_my_tasks_bulk_api_my_tasks_bulk_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/my/settings":{"get":{"summary":"Api My Settings","operationId":"api_my_settings_api_my_settings_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"summary":"Api My Settings Save","operationId":"api_my_settings_save_api_my_settings_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/my":{"get":{"summary":"My Models Page","operationId":"my_models_page_my_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/task/{task_id}/idle-ltx/{path}":{"post":{"summary":"Api Disabled Idle Ltx","operationId":"api_disabled_idle_ltx_api_task__task_id__idle_ltx__path__post","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}},{"name":"path","in":"path","required":true,"schema":{"type":"string","title":"Path"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"summary":"Api Disabled Idle Ltx","operationId":"api_disabled_idle_ltx_api_task__task_id__idle_ltx__path__post","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}},{"name":"path","in":"path","required":true,"schema":{"type":"string","title":"Path"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"summary":"Api Disabled Idle Ltx","operationId":"api_disabled_idle_ltx_api_task__task_id__idle_ltx__path__post","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}},{"name":"path","in":"path","required":true,"schema":{"type":"string","title":"Path"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"summary":"Api Disabled Idle Ltx","operationId":"api_disabled_idle_ltx_api_task__task_id__idle_ltx__path__post","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}},{"name":"path","in":"path","required":true,"schema":{"type":"string","title":"Path"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"summary":"Api Disabled Idle Ltx","operationId":"api_disabled_idle_ltx_api_task__task_id__idle_ltx__path__post","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}},{"name":"path","in":"path","required":true,"schema":{"type":"string","title":"Path"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/avatars":{"get":{"summary":"Api Avatar List","operationId":"api_avatar_list_api_ai_avatars_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"summary":"Api Avatar Create","operationId":"api_avatar_create_api_ai_avatars_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AvatarDraft"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/avatars/{avatar_id}":{"get":{"summary":"Api Avatar Read","operationId":"api_avatar_read_api_ai_avatars__avatar_id__get","parameters":[{"name":"avatar_id","in":"path","required":true,"schema":{"type":"string","title":"Avatar Id"}},{"name":"version","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Version"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"summary":"Api Avatar Update","operationId":"api_avatar_update_api_ai_avatars__avatar_id__patch","parameters":[{"name":"avatar_id","in":"path","required":true,"schema":{"type":"string","title":"Avatar Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AvatarDraft"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/avatars/{avatar_id}/versions/{version}":{"get":{"summary":"Api Avatar Version Read","operationId":"api_avatar_version_read_api_ai_avatars__avatar_id__versions__version__get","parameters":[{"name":"avatar_id","in":"path","required":true,"schema":{"type":"string","title":"Avatar Id"}},{"name":"version","in":"path","required":true,"schema":{"type":"integer","title":"Version"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/avatar-assets":{"post":{"summary":"Upload Avatar Asset","operationId":"upload_avatar_asset_api_ai_avatar_assets_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_avatar_asset_api_ai_avatar_assets_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Upload Avatar Asset Api Ai Avatar Assets Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/avatar-assets/import":{"post":{"summary":"Import Avatar Asset","operationId":"import_avatar_asset_api_ai_avatar_assets_import_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportAssetRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Import Avatar Asset Api Ai Avatar Assets Import Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/avatar-assets/{asset_id}/{sha256}.{extension}":{"get":{"summary":"Fetch Avatar Asset","operationId":"fetch_avatar_asset_api_ai_avatar_assets__asset_id___sha256___extension__get","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","title":"Asset Id"}},{"name":"sha256","in":"path","required":true,"schema":{"type":"string","title":"Sha256"}},{"name":"extension","in":"path","required":true,"schema":{"type":"string","title":"Extension"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/avatar-image":{"post":{"summary":"Avatar Image","operationId":"avatar_image_api_ai_avatar_image_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AvatarSceneRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/avatar-video":{"post":{"summary":"Avatar Video","operationId":"avatar_video_api_ai_avatar_video_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AvatarVideoRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/avatar-build":{"post":{"summary":"Create","operationId":"create_api_ai_avatar_build_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BuildRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/avatar-build/upload":{"post":{"summary":"Upload","description":"A picture or video straight from the page; the video never becomes public.","operationId":"upload_api_ai_avatar_build_upload_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_api_ai_avatar_build_upload_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/avatar-build/status/{job_id}":{"get":{"summary":"Status","operationId":"status_api_ai_avatar_build_status__job_id__get","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/avatar-ready":{"post":{"summary":"Avatar Ready","operationId":"avatar_ready_api_ai_avatar_ready_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AvatarReadyRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/video-reference":{"get":{"summary":"Api Video Reference Docs","operationId":"api_video_reference_docs_api_ai_video_reference_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"summary":"Api Video Reference","operationId":"api_video_reference_api_ai_video_reference_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VideoReferenceRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/video-references/{asset_id}/{sha256}.png":{"head":{"summary":"Get Video Reference","operationId":"get_video_reference_api_ai_video_references__asset_id___sha256__png_head","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","title":"Asset Id"}},{"name":"sha256","in":"path","required":true,"schema":{"type":"string","title":"Sha256"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"summary":"Get Video Reference","operationId":"get_video_reference_api_ai_video_references__asset_id___sha256__png_head","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","title":"Asset Id"}},{"name":"sha256","in":"path","required":true,"schema":{"type":"string","title":"Sha256"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/graph-edits/validate":{"post":{"summary":"Api Validate Graph Edits","operationId":"api_validate_graph_edits_api_ai_graph_edits_validate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GraphEditRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/graph-edits/schema":{"get":{"summary":"Api Graph Edits Schema","operationId":"api_graph_edits_schema_api_ai_graph_edits_schema_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/ai/pipelines":{"get":{"summary":"Api Ai Pipelines","description":"Every pipeline against every computer, measured over the last day.","operationId":"api_ai_pipelines_api_ai_pipelines_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/ai/queue/clear":{"post":{"summary":"Api Clear Queue","operationId":"api_clear_queue_api_ai_queue_clear_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Api Clear Queue Api Ai Queue Clear Post"}}}}}}},"/api/ai/farm/reset":{"post":{"summary":"Api Farm Reset","description":"Admin: wipe the whole farm queue (queued and running) and the boxes' queues.\n\ndry_run=1 only lists what would be cancelled. Nothing in the result\ncaches, the rendered files or the models is removed.","operationId":"api_farm_reset_api_ai_farm_reset_post","parameters":[{"name":"dry_run","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Dry Run"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Api Farm Reset Api Ai Farm Reset Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/queue/admin":{"get":{"summary":"Api Queue Admin","description":"Whether this browser would be allowed to clear the queue.","operationId":"api_queue_admin_api_ai_queue_admin_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Api Queue Admin Api Ai Queue Admin Get"}}}}}}},"/api/ai/loras/sync/manifest":{"get":{"summary":"Api Sync Manifest","operationId":"api_sync_manifest_api_ai_loras_sync_manifest_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/ai/loras/sync/agent.ps1":{"get":{"summary":"Api Sync Agent","description":"The box-side agent itself; it holds no secret, the key stays on the box.","operationId":"api_sync_agent_api_ai_loras_sync_agent_ps1_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/ai/loras/sync/blob/{sha}":{"get":{"summary":"Api Sync Blob","operationId":"api_sync_blob_api_ai_loras_sync_blob__sha__get","parameters":[{"name":"sha","in":"path","required":true,"schema":{"type":"string","title":"Sha"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/loras/sync/report":{"post":{"summary":"Api Sync Report","operationId":"api_sync_report_api_ai_loras_sync_report_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoxReport"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/loras":{"get":{"summary":"Api Loras","operationId":"api_loras_api_ai_loras_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"summary":"Api Add","operationId":"api_add_api_ai_loras_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddBody"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/loras/civitai-image/{image_id}/original":{"get":{"summary":"Api Civitai Image Original","description":"The original file of a Civitai image, served from our origin.\n\nThe page compares pixels on a canvas, which a cross-origin image would\ntaint. Only the URL Civitai's own API names for this image id is fetched,\nso this is not an open proxy; the file is kept for the next comparison.","operationId":"api_civitai_image_original_api_ai_loras_civitai_image__image_id__original_get","parameters":[{"name":"image_id","in":"path","required":true,"schema":{"type":"integer","title":"Image Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/loras/civitai-image":{"post":{"summary":"Api Civitai Image","description":"Generation data of a Civitai image, mapped onto our request fields.","operationId":"api_civitai_image_api_ai_loras_civitai_image_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportBody"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/loras/resolve":{"post":{"summary":"Api Resolve","operationId":"api_resolve_api_ai_loras_resolve_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddBody"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/loras/{entry_id}":{"patch":{"summary":"Api Patch","operationId":"api_patch_api_ai_loras__entry_id__patch","parameters":[{"name":"entry_id","in":"path","required":true,"schema":{"type":"string","title":"Entry Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PatchBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"summary":"Api Remove","operationId":"api_remove_api_ai_loras__entry_id__delete","parameters":[{"name":"entry_id","in":"path","required":true,"schema":{"type":"string","title":"Entry Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/loras/{entry_id}/retry":{"post":{"summary":"Api Retry","operationId":"api_retry_api_ai_loras__entry_id__retry_post","parameters":[{"name":"entry_id","in":"path","required":true,"schema":{"type":"string","title":"Entry Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/loras/cleanup":{"post":{"summary":"Api Cleanup","operationId":"api_cleanup_api_ai_loras_cleanup_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CleanupBody"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/loras/{entry_id}/upload":{"post":{"summary":"Api Upload","description":"The file itself, for a LoRA Civitai will not hand the site (early\naccess bought by the owner): raw request body, verified against the\nregistered SHA-256, then mirrored and synced like a download.","operationId":"api_upload_api_ai_loras__entry_id__upload_post","parameters":[{"name":"entry_id","in":"path","required":true,"schema":{"type":"string","title":"Entry Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/loras/kick":{"post":{"summary":"Api Kick","operationId":"api_kick_api_ai_loras_kick_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/ai/loras/boxes/{box}/install":{"get":{"summary":"Api Install","operationId":"api_install_api_ai_loras_boxes__box__install_get","parameters":[{"name":"box","in":"path","required":true,"schema":{"type":"string","title":"Box"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/character-swap":{"post":{"summary":"Start","operationId":"start_api_ai_character_swap_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SwapRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/character-swap/result/{name}":{"head":{"summary":"Result","operationId":"result_api_ai_character_swap_result__name__head","parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string","title":"Name"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"summary":"Result","operationId":"result_api_ai_character_swap_result__name__head","parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string","title":"Name"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/character-swap/report/{name}":{"get":{"summary":"Report","operationId":"report_api_ai_character_swap_report__name__get","parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string","title":"Name"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/character-swap/file/{job}/{name}":{"head":{"summary":"File","operationId":"file_api_ai_character_swap_file__job___name__head","parameters":[{"name":"job","in":"path","required":true,"schema":{"type":"string","title":"Job"}},{"name":"name","in":"path","required":true,"schema":{"type":"string","title":"Name"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"summary":"File","operationId":"file_api_ai_character_swap_file__job___name__head","parameters":[{"name":"job","in":"path","required":true,"schema":{"type":"string","title":"Job"}},{"name":"name","in":"path","required":true,"schema":{"type":"string","title":"Name"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/civitai/post":{"post":{"summary":"Api Civitai Post","operationId":"api_civitai_post_api_ai_civitai_post_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CivitaiPostRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/civitai/schedule":{"get":{"summary":"Api Civitai Schedule","operationId":"api_civitai_schedule_api_ai_civitai_schedule_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"summary":"Api Civitai Schedule Add","description":"Post this later: the queue posts one file every POST_EVERY.","operationId":"api_civitai_schedule_add_api_ai_civitai_schedule_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CivitaiPostRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/civitai/schedule/{item_id}/delete":{"post":{"summary":"Api Civitai Schedule Delete","operationId":"api_civitai_schedule_delete_api_ai_civitai_schedule__item_id__delete_post","parameters":[{"name":"item_id","in":"path","required":true,"schema":{"type":"string","title":"Item Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/civitai/limit":{"get":{"summary":"Api Civitai Limit","operationId":"api_civitai_limit_api_ai_civitai_limit_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/ai/civitai/jobs":{"get":{"summary":"Api Civitai Jobs","operationId":"api_civitai_jobs_api_ai_civitai_jobs_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/ai/civitai/jobs/{job_id}":{"get":{"summary":"Api Civitai Job","operationId":"api_civitai_job_api_ai_civitai_jobs__job_id__get","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/civitai/meta":{"post":{"summary":"Api Civitai Meta","operationId":"api_civitai_meta_api_ai_civitai_meta_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CivitaiMetaRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/civitai/post/{post_id}/delete":{"post":{"summary":"Api Civitai Delete","operationId":"api_civitai_delete_api_ai_civitai_post__post_id__delete_post","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"integer","title":"Post Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/queue/items":{"get":{"summary":"Api Queue Items","description":"A page of the farm's finished renders, newest first, with the joined films.","operationId":"api_queue_items_api_ai_queue_items_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":24,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}},{"name":"kind","in":"query","required":false,"schema":{"type":"string","default":"all","title":"Kind"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/queue/post":{"post":{"summary":"Api Queue Post","description":"Post this file to Civitai now (no sign-in; this farm's files only).","operationId":"api_queue_post_api_ai_queue_post_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostRow"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/queue/later":{"post":{"summary":"Api Queue Later","description":"Put this file in the deferred queue (one post every 30 minutes).","operationId":"api_queue_later_api_ai_queue_later_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostRow"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/queue/marks":{"get":{"summary":"Api Queue Marks","description":"Which files are already posted or waiting in the deferred queue.","operationId":"api_queue_marks_api_ai_queue_marks_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/ai/queue/summary":{"post":{"summary":"Api Queue Summary","description":"The editor registers a joined multi-scene clip so the phone sees it too.","operationId":"api_queue_summary_api_ai_queue_summary_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SummaryRow"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/queue/graph-reseed":{"post":{"summary":"Api Queue Graph Reseed","description":"Mark a node's scenes for a new seed; the open graph renders them again.\n\nThe phone cannot render by itself - the browser tab drives the farm - so\nthis writes the new seeds into the stored graph and drops those results.\nA tab open on that graph (Auto on) picks the change up and re-renders; the\nnext Render does the same when no tab is open.","operationId":"api_queue_graph_reseed_api_ai_queue_graph_reseed_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GraphReseedRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/queue/reseed":{"post":{"summary":"Api Queue Reseed","description":"Render this task again with a new seed (the caller's own tasks only).","operationId":"api_queue_reseed_api_ai_queue_reseed_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReseedRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/queue/task/{task_id}":{"get":{"summary":"Api Queue Task","description":"Where a render is now: for the page to follow its own new seed.","operationId":"api_queue_task_api_ai_queue_task__task_id__get","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/prompts":{"get":{"summary":"Api Prompts","operationId":"api_prompts_api_ai_prompts_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"put":{"summary":"Api Prompts Save","operationId":"api_prompts_save_api_ai_prompts_put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PromptsSave"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/text-join":{"post":{"summary":"Api Text Join","operationId":"api_text_join_api_ai_text_join_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TextJoinRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Api Text Join Api Ai Text Join Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/fleet-models":{"get":{"summary":"Api List","operationId":"api_list_api_ai_fleet_models_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"summary":"Api Add","operationId":"api_add_api_ai_fleet_models_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModelAddBody"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/fleet-models/sync/manifest":{"get":{"summary":"Api Agent Manifest","description":"What a box's sync agent should pull or delete (box key auth, as for LoRAs).\n\nOnly boxes the VPS cannot reach over SSH get items: the others are pushed\nto (and staged on the shared uplink) by the VPS itself.","operationId":"api_agent_manifest_api_ai_fleet_models_sync_manifest_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/ai/fleet-models/sync/report":{"post":{"summary":"Api Agent Report","operationId":"api_agent_report_api_ai_fleet_models_sync_report_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentReport"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/fleet-models/resolve":{"post":{"summary":"Api Resolve","operationId":"api_resolve_api_ai_fleet_models_resolve_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModelAddBody"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/fleet-models/{entry_id}/retry":{"post":{"summary":"Api Retry","operationId":"api_retry_api_ai_fleet_models__entry_id__retry_post","parameters":[{"name":"entry_id","in":"path","required":true,"schema":{"type":"string","title":"Entry Id"}},{"name":"box","in":"query","required":false,"schema":{"type":"string","default":"","title":"Box"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/fleet-models/{entry_id}":{"delete":{"summary":"Api Delete","operationId":"api_delete_api_ai_fleet_models__entry_id__delete","parameters":[{"name":"entry_id","in":"path","required":true,"schema":{"type":"string","title":"Entry Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/login":{"get":{"summary":"Auth Login","description":"Redirect to Google OAuth","operationId":"auth_login_auth_login_get","parameters":[{"name":"next","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/callback":{"get":{"summary":"Auth Callback","description":"Google OAuth callback","operationId":"auth_callback_auth_callback_get","parameters":[{"name":"code","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Code"}},{"name":"error","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/youtube/status":{"get":{"tags":["YouTube"],"summary":"Provider Status","operationId":"provider_status_api_youtube_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/youtube/agent-key":{"get":{"tags":["YouTube"],"summary":"Get Agent Key","description":"Return the dedicated provider key to an authenticated AutoRig administrator.","operationId":"get_agent_key_api_youtube_agent_key_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/youtube/skill.md":{"get":{"tags":["YouTube"],"summary":"Agent Skill","operationId":"agent_skill_api_youtube_skill_md_get","responses":{"200":{"description":"Successful Response","content":{"text/plain":{"schema":{"type":"string"}}}}}}},"/api/youtube/videos":{"post":{"tags":["YouTube"],"summary":"Upload Video","description":"Upload to U3D only when the owner explicitly provisions a key for an agent.","operationId":"upload_video_api_youtube_videos_post","parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-U3D-Agent-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-U3D-Agent-Key"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_video_api_youtube_videos_post"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/u3d-youtube/oauth/start":{"get":{"summary":"Admin U3D Youtube Oauth Start","operationId":"admin_u3d_youtube_oauth_start_api_admin_u3d_youtube_oauth_start_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/oauth/u3d-youtube/callback":{"get":{"summary":"Admin U3D Youtube Oauth Callback","operationId":"admin_u3d_youtube_oauth_callback_api_oauth_u3d_youtube_callback_get","parameters":[{"name":"code","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Code"}},{"name":"state","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"}},{"name":"error","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/youtube/oauth/start":{"get":{"summary":"Admin Youtube Oauth Start","description":"Redirect to Google OAuth (youtube.upload scope) to connect the channel for auto-uploads.","operationId":"admin_youtube_oauth_start_api_admin_youtube_oauth_start_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/oauth/youtube/callback":{"get":{"summary":"Admin Youtube Oauth Callback","description":"OAuth callback: stores refresh token for YouTube uploads.","operationId":"admin_youtube_oauth_callback_api_oauth_youtube_callback_get","parameters":[{"name":"code","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Code"}},{"name":"state","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"}},{"name":"error","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/youtube/status":{"get":{"summary":"Admin Youtube Status","description":"Whether YouTube channel OAuth is stored.","operationId":"admin_youtube_status_api_admin_youtube_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/admin/youtube/upload-task/{task_id}":{"post":{"summary":"Admin Youtube Upload Task","description":"Queue a YouTube upload for this task (must be done, safe rating, video ready).","operationId":"admin_youtube_upload_task_api_admin_youtube_upload_task__task_id__post","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/logout":{"get":{"summary":"Auth Logout","description":"Logout user","operationId":"auth_logout_auth_logout_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/auth/me":{"get":{"summary":"Auth Me","description":"Get current auth status","operationId":"auth_me_auth_me_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthStatusResponse"}}}}}}},"/api/user/notification-settings":{"patch":{"summary":"Api User Notification Settings","description":"Update email notification preferences (signed-in users only).","operationId":"api_user_notification_settings_api_user_notification_settings_patch","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserNotificationSettingsUpdate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserInfo"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/unsubscribe":{"get":{"summary":"Unsubscribe Email","description":"One-click unsubscribe from task-ready emails (signed token).","operationId":"unsubscribe_email_unsubscribe_get","parameters":[{"name":"token","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/email/marketing-unsubscribe":{"post":{"summary":"Api Marketing Unsubscribe","description":"RFC 8058 one-click unsubscribe for marketing emails.","operationId":"api_marketing_unsubscribe_api_email_marketing_unsubscribe_post","parameters":[{"name":"token","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/unsubscribe/marketing":{"get":{"summary":"Marketing Unsubscribe Page","description":"Visible unsubscribe page for marketing emails.","operationId":"marketing_unsubscribe_page_unsubscribe_marketing_get","parameters":[{"name":"token","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/webhooks/resend":{"post":{"summary":"Api Resend Webhook","description":"Persist Resend delivery events and suppress hard-bounced/complained users.","operationId":"api_resend_webhook_api_webhooks_resend_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/email/click":{"get":{"summary":"Email Campaign Click","description":"Tracked redirect for signed marketing campaign links.","operationId":"email_campaign_click_email_click_get","parameters":[{"name":"token","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/user/api-keys":{"get":{"summary":"Api List Api Keys","operationId":"api_list_api_keys_api_user_api_keys_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyListResponse"}}}}}},"post":{"summary":"Api Create Api Key","operationId":"api_create_api_key_api_user_api_keys_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyCreateResponse"}}}}}}},"/api/user/api-keys/{key_id}/revoke":{"post":{"summary":"Api Revoke Api Key","operationId":"api_revoke_api_key_api_user_api_keys__key_id__revoke_post","parameters":[{"name":"key_id","in":"path","required":true,"schema":{"type":"integer","title":"Key Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/agents/register":{"post":{"summary":"Api Agents Register","operationId":"api_agents_register_api_agents_register_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentRegisterRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentRegisterResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/agents/me":{"get":{"summary":"Api Agents Me","operationId":"api_agents_me_api_agents_me_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentMeResponse"}}}}}}},"/api/buy-credits/donation-stats":{"get":{"summary":"Api Buy Credits Donation Stats","description":"Sum successful AutoRig credit-pack sales (gumroad_purchases) in USD + optional baseline.","operationId":"api_buy_credits_donation_stats_api_buy_credits_donation_stats_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DonationStatsResponse"}}}}}}},"/buy-credits/checkout/{permalink}":{"get":{"summary":"Buy Credits Checkout","description":"Server-owned checkout redirect so payment clicks do not depend on JS fetches.","operationId":"buy_credits_checkout_buy_credits_checkout__permalink__get","parameters":[{"name":"permalink","in":"path","required":true,"schema":{"type":"string","title":"Permalink"}},{"name":"source","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source"}},{"name":"task_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Task Id"}},{"name":"required_credits","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Required Credits"}},{"name":"page_url","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Page Url"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/blender-plugin/offer":{"get":{"summary":"Blender Plugin Offer","operationId":"blender_plugin_offer_api_blender_plugin_offer_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/blender-plugin/checkout":{"get":{"summary":"Blender Plugin Checkout","description":"Server-owned Blender plugin checkout with ABCD price assignment and click telemetry.","operationId":"blender_plugin_checkout_blender_plugin_checkout_get","parameters":[{"name":"source","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source"}},{"name":"page_url","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Page Url"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/buy-credits/crypto-config":{"get":{"summary":"Api Buy Credits Crypto Config","description":"Public tiers, discount math, and receive addresses for UI and AI agents.","operationId":"api_buy_credits_crypto_config_api_buy_credits_crypto_config_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CryptoBuyConfigResponse"}}}}}}},"/api/buy-credits/crypto-submit":{"post":{"summary":"Api Buy Credits Crypto Submit","description":"Report a crypto payment tx for manual verification and crediting.","operationId":"api_buy_credits_crypto_submit_api_buy_credits_crypto_submit_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CryptoPaymentSubmitRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CryptoPaymentSubmitResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/roadmap/votes":{"get":{"summary":"Api Roadmap Votes Get","operationId":"api_roadmap_votes_get_api_roadmap_votes_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoadmapVotesResponse"}}}}}}},"/api/roadmap/vote":{"post":{"summary":"Api Roadmap Vote Post","operationId":"api_roadmap_vote_post_api_roadmap_vote_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoadmapVoteRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoadmapVotesResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/user/grant-youtube-bonus":{"post":{"summary":"Grant Youtube Bonus","description":"Compatibility endpoint for the retired YouTube credit bonus.","operationId":"grant_youtube_bonus_api_user_grant_youtube_bonus_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/user/feedback":{"post":{"summary":"Submit Feedback","description":"Submit user feedback","operationId":"submit_feedback_api_user_feedback_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeedbackCreateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/feedback":{"get":{"summary":"Get Feedback List","description":"Get all feedback items (with user avatars when linked to a Google OAuth user).","operationId":"get_feedback_list_api_feedback_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeedbackListResponse"}}}}}}},"/api/feedback/{feedback_id}":{"delete":{"summary":"Delete Feedback","description":"Delete feedback (admin only); replies referencing this row are removed first.","operationId":"delete_feedback_api_feedback__feedback_id__delete","parameters":[{"name":"feedback_id","in":"path","required":true,"schema":{"type":"integer","title":"Feedback Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/support-chat/health":{"get":{"summary":"Api Support Chat Health","description":"Cheap GET to verify reverse-proxy routes /api/support-chat/* to FastAPI.","operationId":"api_support_chat_health_api_support_chat_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/support-chat/session":{"get":{"summary":"Api Support Chat Session Get","description":"Mirror GET: usage for ``POST /api/support-chat/session``.","operationId":"api_support_chat_session_get_api_support_chat_session_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"summary":"Api Support Chat Session Post","operationId":"api_support_chat_session_post_api_support_chat_session_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SupportChatSessionPostRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SupportChatSessionPostResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/support-chat/message":{"get":{"summary":"Api Support Chat Message Get","description":"Mirror GET: usage for ``POST /api/support-chat/message``.","operationId":"api_support_chat_message_get_api_support_chat_message_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"summary":"Api Support Chat Message Post","operationId":"api_support_chat_message_post_api_support_chat_message_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SupportChatMessagePostRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SupportChatMessagePostResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/support-chat/messages":{"get":{"summary":"Api Support Chat Messages Poll","description":"Poll support messages; omit query params to receive GET usage instructions.","operationId":"api_support_chat_messages_poll_api_support_chat_messages_get","parameters":[{"name":"visitor_id_string","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Visitor Id String"}},{"name":"session_id_int","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Session Id Int"}},{"name":"after_id_int","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"After Id Int"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/task/create":{"post":{"summary":"Api Create Task","description":"Create a new conversion task.\n\n- ``application/json``: ``{\"input_url\": \"https://...\"}`` is enough; ``source`` defaults to ``link``,\n  ``type`` to ``t_pose``. Optional: ``source``, ``type``, ``ga_client_id``.\n- ``multipart/form-data`` / ``application/x-www-form-urlencoded``: same fields as before;\n  ``source`` defaults to ``link`` if omitted. Use ``source=upload`` + ``file`` for uploads.","operationId":"api_create_task_api_task_create_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskCreateResponse"}}}}}}},"/api/rig-v2/vision/animal-type":{"get":{"summary":"Api Rig V2 Vision Animal Type Docs","description":"GET mirror documenting the POST vision endpoint.","operationId":"api_rig_v2_vision_animal_type_docs_api_rig_v2_vision_animal_type_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"summary":"Api Rig V2 Vision Animal Type","description":"Classify a 512x512 JPEG render via OpenRouter, with OpenAI only as rate-limit fallback.","operationId":"api_rig_v2_vision_animal_type_api_rig_v2_vision_animal_type_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/rig-v2/vision/config":{"get":{"summary":"Api Rig V2 Vision Config","description":"Expose editable prototype prompt and available OpenAI model IDs without exposing API keys.","operationId":"api_rig_v2_vision_config_api_rig_v2_vision_config_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/rig-v2/vision/appearance":{"post":{"summary":"Api Rig V2 Vision Appearance","description":"Hair, loose clothing, tail and pose of an uploaded model, from one sheet of views.\n\nDecides which rig pipeline to offer before the task exists: the simple rig,\nor the AI pipeline that animates hair and cloth. The upload page tiles the\nfour side renders it already takes for the rig-type check into one picture.","operationId":"api_rig_v2_vision_appearance_api_rig_v2_vision_appearance_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/rig-v2/vision/appearance-depth":{"post":{"summary":"Api Rig V2 Vision Appearance Depth","description":"Appearance of an untextured model, judged on a repaint of its Z-depth.\n\nGrey clay hides the difference between hair and a hood, a robe and a body.\nThe page sends the model's front depth map; the farm paints a character\nover exactly that silhouette, and the painting is judged. Takes about a\nminute, so the page asks for it only when the model has no textures.","operationId":"api_rig_v2_vision_appearance_depth_api_rig_v2_vision_appearance_depth_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/task/{parent_task_id}/create-convert":{"post":{"summary":"Api Create Convert From Rig Task","description":"Start an Auto Convert task from a **completed** rig task.\nThe server resolves the prepared GLB URL; clients must not pass arbitrary URLs.","operationId":"api_create_convert_from_rig_task_api_task__parent_task_id__create_convert_post","parameters":[{"name":"parent_task_id","in":"path","required":true,"schema":{"type":"string","title":"Parent Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskCreateResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/gumroad/ping":{"get":{"summary":"Api Gumroad Ping Check","description":"Gumroad URL validation check (responds to GET/HEAD/OPTIONS for URL verification)","operationId":"api_gumroad_ping_check_gumroad_ping_options","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"summary":"Api Gumroad Ping","description":"Proxy-tunnel for Gumroad webhook.\nAccepts payload from Gumroad and forwards it AS-IS to free3d.online.\nAlways returns 200 \"ok\" (fallback mode) to avoid Gumroad retries.","operationId":"api_gumroad_ping_gumroad_ping_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"options":{"summary":"Api Gumroad Ping Check","description":"Gumroad URL validation check (responds to GET/HEAD/OPTIONS for URL verification)","operationId":"api_gumroad_ping_check_gumroad_ping_options","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"head":{"summary":"Api Gumroad Ping Check","description":"Gumroad URL validation check (responds to GET/HEAD/OPTIONS for URL verification)","operationId":"api_gumroad_ping_check_gumroad_ping_options","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/gumroad":{"get":{"summary":"Api Gumroad Ping Check","description":"Gumroad URL validation check (responds to GET/HEAD/OPTIONS for URL verification)","operationId":"api_gumroad_ping_check_gumroad_options","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"summary":"Api Gumroad Ping","description":"Proxy-tunnel for Gumroad webhook.\nAccepts payload from Gumroad and forwards it AS-IS to free3d.online.\nAlways returns 200 \"ok\" (fallback mode) to avoid Gumroad retries.","operationId":"api_gumroad_ping_gumroad_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"options":{"summary":"Api Gumroad Ping Check","description":"Gumroad URL validation check (responds to GET/HEAD/OPTIONS for URL verification)","operationId":"api_gumroad_ping_check_gumroad_options","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"head":{"summary":"Api Gumroad Ping Check","description":"Gumroad URL validation check (responds to GET/HEAD/OPTIONS for URL verification)","operationId":"api_gumroad_ping_check_gumroad_options","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/webhook/gumroad":{"get":{"summary":"Api Gumroad Ping Check","description":"Gumroad URL validation check (responds to GET/HEAD/OPTIONS for URL verification)","operationId":"api_gumroad_ping_check_webhook_gumroad_options","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"summary":"Api Gumroad Ping","description":"Proxy-tunnel for Gumroad webhook.\nAccepts payload from Gumroad and forwards it AS-IS to free3d.online.\nAlways returns 200 \"ok\" (fallback mode) to avoid Gumroad retries.","operationId":"api_gumroad_ping_webhook_gumroad_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"options":{"summary":"Api Gumroad Ping Check","description":"Gumroad URL validation check (responds to GET/HEAD/OPTIONS for URL verification)","operationId":"api_gumroad_ping_check_webhook_gumroad_options","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"head":{"summary":"Api Gumroad Ping Check","description":"Gumroad URL validation check (responds to GET/HEAD/OPTIONS for URL verification)","operationId":"api_gumroad_ping_check_webhook_gumroad_options","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api-gumroad":{"get":{"summary":"Api Gumroad Ping Check","description":"Gumroad URL validation check (responds to GET/HEAD/OPTIONS for URL verification)","operationId":"api_gumroad_ping_check_api_gumroad_options","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"summary":"Api Gumroad Ping","description":"Proxy-tunnel for Gumroad webhook.\nAccepts payload from Gumroad and forwards it AS-IS to free3d.online.\nAlways returns 200 \"ok\" (fallback mode) to avoid Gumroad retries.","operationId":"api_gumroad_ping_api_gumroad_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"options":{"summary":"Api Gumroad Ping Check","description":"Gumroad URL validation check (responds to GET/HEAD/OPTIONS for URL verification)","operationId":"api_gumroad_ping_check_api_gumroad_options","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"head":{"summary":"Api Gumroad Ping Check","description":"Gumroad URL validation check (responds to GET/HEAD/OPTIONS for URL verification)","operationId":"api_gumroad_ping_check_api_gumroad_options","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/task/{task_id}":{"get":{"summary":"Api Get Task","description":"Get task status and progress","operationId":"api_get_task_api_task__task_id__get","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskStatusResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/task/{task_id}/progress_log":{"get":{"summary":"Api Task Progress Log","description":"Get task progress log from worker","operationId":"api_task_progress_log_api_task__task_id__progress_log_get","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}},{"name":"full","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Full"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/task/{task_id}/worker_files":{"get":{"summary":"Api Task Worker Files","description":"Get list of files from worker for this task","operationId":"api_task_worker_files_api_task__task_id__worker_files_get","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/task/{task_id}/animal-variants":{"get":{"summary":"Api Task Animal Variants","operationId":"api_task_animal_variants_api_task__task_id__animal_variants_get","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnimalRigVariantsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/animation-libraries/taxonomy":{"get":{"summary":"Api Admin Animation Taxonomy","operationId":"api_admin_animation_taxonomy_api_admin_animation_libraries_taxonomy_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/admin/animation-libraries":{"post":{"summary":"Api Admin Create Animation Library","operationId":"api_admin_create_animation_library_api_admin_animation_libraries_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnimationLibraryCreateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"summary":"Api Admin List Animation Libraries","operationId":"api_admin_list_animation_libraries_api_admin_animation_libraries_get","parameters":[{"name":"rig_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Rig Type"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/animation-libraries/{rig_type}/{revision}":{"get":{"summary":"Api Admin Get Animation Library","operationId":"api_admin_get_animation_library_api_admin_animation_libraries__rig_type___revision__get","parameters":[{"name":"rig_type","in":"path","required":true,"schema":{"type":"string","title":"Rig Type"}},{"name":"revision","in":"path","required":true,"schema":{"type":"string","title":"Revision"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/animation-libraries/{rig_type}/{revision}/artifacts/{orientation}":{"put":{"summary":"Api Admin Put Animation Library Artifact","operationId":"api_admin_put_animation_library_artifact_api_admin_animation_libraries__rig_type___revision__artifacts__orientation__put","parameters":[{"name":"rig_type","in":"path","required":true,"schema":{"type":"string","title":"Rig Type"}},{"name":"revision","in":"path","required":true,"schema":{"type":"string","title":"Revision"}},{"name":"orientation","in":"path","required":true,"schema":{"type":"string","title":"Orientation"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnimationLibraryArtifactPutRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/animation-libraries/{rig_type}/{revision}/activate":{"post":{"summary":"Api Admin Activate Animation Library","operationId":"api_admin_activate_animation_library_api_admin_animation_libraries__rig_type___revision__activate_post","parameters":[{"name":"rig_type","in":"path","required":true,"schema":{"type":"string","title":"Rig Type"}},{"name":"revision","in":"path","required":true,"schema":{"type":"string","title":"Revision"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/animation-libraries/{rig_type}/rollback":{"post":{"summary":"Api Admin Rollback Animation Library","operationId":"api_admin_rollback_animation_library_api_admin_animation_libraries__rig_type__rollback_post","parameters":[{"name":"rig_type","in":"path","required":true,"schema":{"type":"string","title":"Rig Type"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnimationLibraryRollbackRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/animation-fitting/jobs":{"post":{"summary":"Api Admin Create Animation Fitting Job","operationId":"api_admin_create_animation_fitting_job_api_admin_animation_fitting_jobs_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnimationFittingJobCreateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"summary":"Api Admin List Animation Fitting Jobs","operationId":"api_admin_list_animation_fitting_jobs_api_admin_animation_fitting_jobs_get","parameters":[{"name":"rig_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Rig Type"}},{"name":"semantic_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Semantic Id"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":100,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/animation-fitting/jobs/{job_id}":{"get":{"summary":"Api Admin Get Animation Fitting Job","operationId":"api_admin_get_animation_fitting_job_api_admin_animation_fitting_jobs__job_id__get","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/animation-fitting/jobs/{job_id}/candidates":{"post":{"summary":"Api Admin Add Animation Fitting Candidate","operationId":"api_admin_add_animation_fitting_candidate_api_admin_animation_fitting_jobs__job_id__candidates_post","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnimationCandidateCreateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/animation-fitting/candidates/{candidate_id}/decision":{"post":{"summary":"Api Admin Decide Animation Fitting Candidate","operationId":"api_admin_decide_animation_fitting_candidate_api_admin_animation_fitting_candidates__candidate_id__decision_post","parameters":[{"name":"candidate_id","in":"path","required":true,"schema":{"type":"string","title":"Candidate Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnimationCandidateDecisionRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/task/{task_id}/animal-variants/{animal_type}/{orientation}/preview.fbx":{"get":{"summary":"Api Animal Variant Preview Fbx","operationId":"api_animal_variant_preview_fbx_api_task__task_id__animal_variants__animal_type___orientation__preview_fbx_get","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}},{"name":"animal_type","in":"path","required":true,"schema":{"type":"string","title":"Animal Type"}},{"name":"orientation","in":"path","required":true,"schema":{"type":"string","title":"Orientation"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/task/{task_id}/animal-variants/{animal_type}/{orientation}/skeleton.json":{"get":{"summary":"Api Animal Variant Skeleton","operationId":"api_animal_variant_skeleton_api_task__task_id__animal_variants__animal_type___orientation__skeleton_json_get","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}},{"name":"animal_type","in":"path","required":true,"schema":{"type":"string","title":"Animal Type"}},{"name":"orientation","in":"path","required":true,"schema":{"type":"string","title":"Orientation"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/task/{task_id}/animal-variants/{animal_type}/{orientation}/download/{kind}":{"get":{"summary":"Api Animal Variant Download","operationId":"api_animal_variant_download_api_task__task_id__animal_variants__animal_type___orientation__download__kind__get","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}},{"name":"animal_type","in":"path","required":true,"schema":{"type":"string","title":"Animal Type"}},{"name":"orientation","in":"path","required":true,"schema":{"type":"string","title":"Orientation"}},{"name":"kind","in":"path","required":true,"schema":{"type":"string","title":"Kind"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/task/{task_id}/animations/download-pack":{"get":{"summary":"Api Download Animal Animation Pack","operationId":"api_download_animal_animation_pack_api_task__task_id__animations_download_pack_get","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}},{"name":"animal_type","in":"query","required":true,"schema":{"type":"string","title":"Animal Type"}},{"name":"orientation","in":"query","required":false,"schema":{"type":"string","default":"front","title":"Orientation"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/task/{task_id}/retry":{"post":{"summary":"Api Retry Task","description":"Retry a stuck task (only if older than 2 hours and not done)","operationId":"api_retry_task_api_task__task_id__retry_post","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskCreateResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/task/{task_id}/restart":{"post":{"summary":"Api Restart Task","description":"Restart task with the same task_id (available after 1 minute)","operationId":"api_restart_task_api_task__task_id__restart_post","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskCreateResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/task/{task_id}/purchases":{"get":{"summary":"Api Get Purchase State","description":"Get purchase state for a task","operationId":"api_get_purchase_state_api_task__task_id__purchases_get","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PurchaseStateResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"summary":"Api Purchase Files","description":"Purchase files for a task","operationId":"api_purchase_files_api_task__task_id__purchases_post","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PurchaseRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PurchaseResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/task/{task_id}/animations/catalog":{"get":{"summary":"Api Get Animation Catalog","description":"Return custom animation catalog + availability + purchase state for a task.","operationId":"api_get_animation_catalog_api_task__task_id__animations_catalog_get","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}},{"name":"animal_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Animal Type"}},{"name":"orientation","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Orientation"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnimationCatalogResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/task/{task_id}/animations/purchase":{"post":{"summary":"Api Purchase Animation","description":"Legacy animation purchase endpoint; new purchases unlock the whole task.","operationId":"api_purchase_animation_api_task__task_id__animations_purchase_post","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnimationPurchaseRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnimationPurchaseResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/task/{task_id}/animations/preview/{animation_id}":{"get":{"summary":"Api Preview Animation","description":"Stream selected custom animation FBX for in-viewer preview.\n\nUnlike download endpoint, preview does not require purchase.\nFor completed tasks we allow public preview access so animation playback works\nacross browsers/sessions (e.g. when owner cookies are missing in another browser).","operationId":"api_preview_animation_api_task__task_id__animations_preview__animation_id__get","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}},{"name":"animation_id","in":"path","required":true,"schema":{"type":"string","title":"Animation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/task/{task_id}/animations/download/{animation_id}":{"get":{"summary":"Api Download Animation","description":"Download selected custom animation FBX if purchased.","operationId":"api_download_animation_api_task__task_id__animations_download__animation_id__get","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}},{"name":"animation_id","in":"path","required":true,"schema":{"type":"string","title":"Animation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/task/{task_id}/animations/download-with-base/{animation_id}":{"get":{"summary":"Api Download Animation With Base","description":"Download a ZIP containing the package-level _all_animations FBX and the selected custom animation FBX.\nThis avoids browser blocking of multiple automatic downloads from one click.","operationId":"api_download_animation_with_base_api_task__task_id__animations_download_with_base__animation_id__get","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}},{"name":"animation_id","in":"path","required":true,"schema":{"type":"string","title":"Animation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/history":{"get":{"summary":"Api Get History","description":"Get task history for current user","operationId":"api_get_history_api_history_get","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","default":1,"title":"Page"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","default":10,"title":"Per Page"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskHistoryResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/gallery":{"get":{"summary":"Api Get Gallery","description":"Get public gallery of completed tasks with videos","operationId":"api_get_gallery_api_gallery_get","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","default":1,"title":"Page"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","default":12,"title":"Per Page"}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","default":"likes","title":"Sort"}},{"name":"rig_type","in":"query","required":false,"schema":{"type":"string","default":"all","title":"Rig Type"}},{"name":"author","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Author"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GalleryResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/task/{task_id}/card":{"get":{"summary":"Api Get Task Card","description":"Get task card info (likes, sales, author) for display","operationId":"api_get_task_card_api_task__task_id__card_get","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskCardInfo"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/task/{task_id}/owner_tasks":{"get":{"summary":"Api Get Owner Tasks","description":"Get all tasks from the same owner as the specified task","operationId":"api_get_owner_tasks_api_task__task_id__owner_tasks_get","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","default":1,"title":"Page"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","default":12,"title":"Per Page"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/gallery/{task_id}/like":{"post":{"summary":"Api Toggle Like","description":"Toggle like on a task (requires authentication)","operationId":"api_toggle_like_api_gallery__task_id__like_post","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LikeResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/queue/status":{"get":{"summary":"Api Queue Status","description":"Get global queue status across all workers","operationId":"api_queue_status_api_queue_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueueStatusResponse"}}}}}}},"/api/admin/scheduler-priority":{"get":{"summary":"Api Admin Scheduler Priority","description":"Operational counters for the interactive/background scheduler.","operationId":"api_admin_scheduler_priority_api_admin_scheduler_priority_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/admin/workers":{"get":{"summary":"Api Admin Workers","description":"List configured conversion workers (admin only).","operationId":"api_admin_workers_api_admin_workers_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminWorkerListResponse"}}}}}},"post":{"summary":"Api Admin Create Worker","description":"Create a new worker endpoint (admin only).","operationId":"api_admin_create_worker_api_admin_workers_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminWorkerCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminWorkerItem"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/workers/{worker_id}":{"put":{"summary":"Api Admin Update Worker","description":"Update worker endpoint (admin only).","operationId":"api_admin_update_worker_api_admin_workers__worker_id__put","parameters":[{"name":"worker_id","in":"path","required":true,"schema":{"type":"integer","title":"Worker Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminWorkerUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminWorkerItem"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"summary":"Api Admin Delete Worker","description":"Delete worker endpoint (admin only).","operationId":"api_admin_delete_worker_api_admin_workers__worker_id__delete","parameters":[{"name":"worker_id","in":"path","required":true,"schema":{"type":"integer","title":"Worker Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/stats":{"get":{"summary":"Api Admin Stats","description":"Get admin dashboard stats (admin only)","operationId":"api_admin_stats_api_admin_stats_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminStatsResponse"}}}}}}},"/api/admin/overlay-metrics":{"get":{"summary":"Api Admin Overlay Metrics","description":"Статистика для панели оверлея: текущие статусы по БД + периодные счётчики завершений.","operationId":"api_admin_overlay_metrics_api_admin_overlay_metrics_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminOverlayMetricsResponse"}}}}}}},"/api/admin/overlay-metrics/reset":{"post":{"summary":"Api Admin Overlay Metrics Reset","description":"Обнулить периодные счётчики (завершения и сумму длительностей) в БД.","operationId":"api_admin_overlay_metrics_reset_api_admin_overlay_metrics_reset_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminBulkAffectedResponse"}}}}}}},"/api/admin/users":{"get":{"summary":"Api Admin Users","description":"Get list of users (admin only)","operationId":"api_admin_users_api_admin_users_get","parameters":[{"name":"query","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Query"}},{"name":"sort_by","in":"query","required":false,"schema":{"type":"string","default":"created_at","title":"Sort By"}},{"name":"sort_desc","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Sort Desc"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","default":1,"title":"Page"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","default":20,"title":"Per Page"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminUserListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/user/{user_id}/balance":{"post":{"summary":"Api Admin Update Balance","description":"Update user balance (admin only)","operationId":"api_admin_update_balance_api_admin_user__user_id__balance_post","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"integer","title":"User Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminBalanceUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminBalanceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/user/{user_id}/tasks":{"get":{"summary":"Api Admin User Tasks","description":"Get tasks for a specific user (admin only)","operationId":"api_admin_user_tasks_api_admin_user__user_id__tasks_get","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"integer","title":"User Id"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","default":1,"title":"Page"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","default":20,"title":"Per Page"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminUserTasksResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/tasks":{"get":{"summary":"Api Admin All Tasks","description":"Get all tasks with filtering, sorting, and pagination (admin only)","operationId":"api_admin_all_tasks_api_admin_tasks_get","parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"pipeline_kind","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pipeline Kind"}},{"name":"query","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Query"}},{"name":"sort_by","in":"query","required":false,"schema":{"type":"string","default":"created_at","title":"Sort By"}},{"name":"sort_desc","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Sort Desc"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","default":1,"title":"Page"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","default":20,"title":"Per Page"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminTaskListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/task/{task_id}/inspect":{"get":{"summary":"Api Admin Task Inspect","description":"Extended task fields for admin overlay (admin only).","operationId":"api_admin_task_inspect_api_admin_task__task_id__inspect_get","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminTaskInspectResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/tasks/bulk-restart-count":{"post":{"summary":"Api Admin Bulk Restart Count","description":"Admin only. Для задач в status=error — полный requeue в created (как в карточке).\nДля остальных — только restart_count=0.","operationId":"api_admin_bulk_restart_count_api_admin_tasks_bulk_restart_count_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminBulkTaskIdsRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminBulkAffectedResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/tasks/bulk-restart-count-recent":{"post":{"summary":"Api Admin Bulk Restart Count Recent","description":"Set restart_count=0 for all tasks created within the last `hours` (admin only).","operationId":"api_admin_bulk_restart_count_recent_api_admin_tasks_bulk_restart_count_recent_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminBulkRestartCountRecentRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminBulkAffectedResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/tasks/bulk-requeue":{"post":{"summary":"Api Admin Bulk Requeue","description":"Requeue tasks to status=created with cleared worker state (admin only).","operationId":"api_admin_bulk_requeue_api_admin_tasks_bulk_requeue_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminBulkTaskIdsRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminBulkAffectedResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/tasks/bulk-delete":{"post":{"summary":"Api Admin Bulk Delete Tasks","description":"Delete tasks and on-disk artifacts (admin only).","operationId":"api_admin_bulk_delete_tasks_api_admin_tasks_bulk_delete_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminBulkTaskIdsRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminBulkAffectedResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/task/{task_id}":{"delete":{"summary":"Api Admin Delete Task","description":"Delete a task by id including artifacts (admin only).","operationId":"api_admin_delete_task_api_admin_task__task_id__delete","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/service/restart":{"post":{"summary":"Api Admin Restart Service","description":"Restart backend service (admin only).\nImplementation: restart background worker in-process, then terminate the process.\nWith systemd Restart=always, the service will come back up automatically.","operationId":"api_admin_restart_service_api_admin_service_restart_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/admin/tasks/all":{"delete":{"summary":"Api Admin Delete All Tasks","description":"Delete ALL tasks from database and restart service (admin only).\nDANGEROUS: This action cannot be undone!","operationId":"api_admin_delete_all_tasks_api_admin_tasks_all_delete","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/admin/tasks/purge-no-poster-video":{"post":{"summary":"Api Admin Purge No Poster Video","description":"1) Purge terminal rows with no poster filename in JSON.\n2) Purge gallery-eligible rows whose poster/video URLs 404 on workers (files TTL-expired).\nAdmin only — same as background jobs.","operationId":"api_admin_purge_no_poster_video_api_admin_tasks_purge_no_poster_video_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/admin/cleanup":{"post":{"summary":"Api Admin Cleanup","description":"Manually trigger disk cleanup (admin only).\nRuns pressure cleanup until MIN_FREE_SPACE_GB is available.","operationId":"api_admin_cleanup_api_admin_cleanup_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/admin/disk-stats":{"get":{"summary":"Api Admin Disk Stats","description":"Get disk usage statistics (admin only).\nIncludes per-directory size breakdown (GB) for main data categories.","operationId":"api_admin_disk_stats_api_admin_disk_stats_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/admin/settings/task-cache-max":{"patch":{"summary":"Api Admin Settings Task Cache Max","operationId":"api_admin_settings_task_cache_max_api_admin_settings_task_cache_max_patch","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminTaskCacheMaxUpdate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/tasks/restart-incomplete":{"post":{"summary":"Api Admin Restart Incomplete Tasks","description":"Restart all incomplete tasks (status: created, processing, error).\nAdmin only. No age gate. Runs in background to avoid timeout.","operationId":"api_admin_restart_incomplete_tasks_api_admin_tasks_restart_incomplete_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/u/{token}/{filename}":{"get":{"summary":"Serve Upload","description":"Serve uploaded files","operationId":"serve_upload_u__token___filename__get","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}},{"name":"filename","in":"path","required":true,"schema":{"type":"string","title":"Filename"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/video/{task_id}":{"get":{"summary":"Proxy Video","description":"Proxy video from worker to serve over HTTPS","operationId":"proxy_video_api_video__task_id__get","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/file/{task_id}/{file_index}":{"get":{"summary":"Proxy File","description":"Proxy file from worker to serve over HTTPS","operationId":"proxy_file_api_file__task_id___file_index__get","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}},{"name":"file_index","in":"path","required":true,"schema":{"type":"integer","title":"File Index"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/file/{task_id}/download/{filename}":{"get":{"summary":"Proxy File By Name","description":"Proxy file from worker by filename to serve over HTTPS","operationId":"proxy_file_by_name_api_file__task_id__download__filename__get","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}},{"name":"filename","in":"path","required":true,"schema":{"type":"string","title":"Filename"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/task/{task_id}/cached-files":{"get":{"summary":"Api Task Cached Files","description":"Get list of cached files for a task.\nReturns files from /static/tasks/{task_id}/ if cached,\notherwise triggers caching and returns status.","operationId":"api_task_cached_files_api_task__task_id__cached_files_get","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/task/{task_id}/downloads/bundle-url":{"get":{"summary":"Api Task Worker Bundle Url","description":"Validate download access and return the stable same-origin bundle URL.\nWorker availability is handled by /bundle.zip, which can fall back to cached primary files.","operationId":"api_task_worker_bundle_url_api_task__task_id__downloads_bundle_url_get","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/task/{task_id}/downloads/bundle":{"get":{"summary":"Api Task Download Bundle","description":"Stream worker ZIP over HTTPS (proxied). Same purchase checks as bundle-url; avoids http:// worker in the browser.","operationId":"api_task_download_bundle_api_task__task_id__downloads_bundle_get","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/task/{task_id}/bundle.zip":{"get":{"summary":"Api Task Download Bundle Zip","description":"Same as /downloads/bundle — stable path next to model.glb / prepared.glb (avoids missing route on some deploys).","operationId":"api_task_download_bundle_zip_api_task__task_id__bundle_zip_get","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/task/{task_id}/viewer":{"get":{"summary":"Api Proxy Viewer","description":"Proxy 3D viewer HTML file from worker to avoid mixed content issues","operationId":"api_proxy_viewer_api_task__task_id__viewer_get","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/task/{task_id}/viewer-resource":{"get":{"summary":"Api Proxy Viewer Resource","description":"Proxy resources (like .mview files) for the 3D viewer","operationId":"api_proxy_viewer_resource_api_task__task_id__viewer_resource_get","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}},{"name":"path","in":"query","required":true,"schema":{"type":"string","title":"Path"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/task/{task_id}/model.glb":{"get":{"summary":"Api Proxy Model Glb","description":"Proxy the main model GLB file from worker","operationId":"api_proxy_model_glb_api_task__task_id__model_glb_get","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/task/{task_id}/animation-manifest":{"get":{"summary":"Api Task Animation Manifest","operationId":"api_task_animation_manifest_api_task__task_id__animation_manifest_get","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}},{"name":"rig_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Rig Type"}},{"name":"orientation","in":"query","required":false,"schema":{"type":"string","default":"front","title":"Orientation"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/task/{task_id}/animations.glb":{"get":{"summary":"Api Proxy Animations Glb","description":"Get a revisioned manifest artifact, with an exact legacy fallback.","operationId":"api_proxy_animations_glb_api_task__task_id__animations_glb_get","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}},{"name":"rig_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Rig Type"}},{"name":"orientation","in":"query","required":false,"schema":{"type":"string","default":"front","title":"Orientation"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/task/{task_id}/animations.fbx":{"head":{"summary":"Api Head Animations Fbx","description":"Check whether the package-level FBX animation file is available.","operationId":"api_head_animations_fbx_api_task__task_id__animations_fbx_head","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"summary":"Api Proxy Animations Fbx","description":"Proxy animations FBX file from worker (searches ready_urls)","operationId":"api_proxy_animations_fbx_api_task__task_id__animations_fbx_get","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/task/{task_id}/prepared.glb":{"get":{"summary":"Api Proxy Prepared Glb","description":"Get prepared GLB file with server-side caching for fast loading","operationId":"api_proxy_prepared_glb_api_task__task_id__prepared_glb_get","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/task/{task_id}/blueprint/skeleton.json":{"get":{"summary":"Api Proxy Blueprint Skeleton","operationId":"api_proxy_blueprint_skeleton_api_task__task_id__blueprint_skeleton_json_get","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"head":{"summary":"Api Proxy Blueprint Skeleton","operationId":"api_proxy_blueprint_skeleton_api_task__task_id__blueprint_skeleton_json_head","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/task/{task_id}/blueprint/rig-preview.mp4":{"get":{"summary":"Api Proxy Blueprint Rig Preview","operationId":"api_proxy_blueprint_rig_preview_api_task__task_id__blueprint_rig_preview_mp4_get","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"head":{"summary":"Api Proxy Blueprint Rig Preview","operationId":"api_proxy_blueprint_rig_preview_api_task__task_id__blueprint_rig_preview_mp4_head","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/task/{task_id}/blueprint/model.glb":{"get":{"summary":"Api Proxy Blueprint Model Glb","operationId":"api_proxy_blueprint_model_glb_api_task__task_id__blueprint_model_glb_get","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"head":{"summary":"Api Proxy Blueprint Model Glb","operationId":"api_proxy_blueprint_model_glb_api_task__task_id__blueprint_model_glb_head","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/thumb/{task_id}":{"get":{"summary":"Api Proxy Thumb","description":"Proxy video poster/thumbnail image from worker","operationId":"api_proxy_thumb_api_thumb__task_id__get","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"head":{"summary":"Api Proxy Thumb","description":"Proxy video poster/thumbnail image from worker","operationId":"api_proxy_thumb_api_thumb__task_id__head","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/thumb/{task_id}":{"get":{"summary":"Api Proxy Thumb","description":"Proxy video poster/thumbnail image from worker","operationId":"api_proxy_thumb_thumb__task_id__get","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"head":{"summary":"Api Proxy Thumb","description":"Proxy video poster/thumbnail image from worker","operationId":"api_proxy_thumb_thumb__task_id__head","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/free3d/search":{"get":{"summary":"Api Free3D Search","description":"Proxy search requests to Free3D API with normalized fail-safe response.","operationId":"api_free3d_search_api_free3d_search_get","parameters":[{"name":"q","in":"query","required":false,"schema":{"type":"string","default":"","title":"Q"}},{"name":"query","in":"query","required":false,"schema":{"type":"string","default":"","title":"Query"}},{"name":"topK","in":"query","required":false,"schema":{"type":"integer","default":20,"title":"Topk"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","default":"relevance","title":"Sort"}},{"name":"type","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Type"}},{"name":"category","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"}},{"name":"categories","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Categories"}},{"name":"mode","in":"query","required":false,"schema":{"type":"string","default":"semantic","title":"Mode"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/free3d/image/{guid}/{filename}":{"get":{"summary":"Api Free3D Image","description":"Proxy image files from free3d.online","operationId":"api_free3d_image_api_free3d_image__guid___filename__get","parameters":[{"name":"guid","in":"path","required":true,"schema":{"type":"string","title":"Guid"}},{"name":"filename","in":"path","required":true,"schema":{"type":"string","title":"Filename"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/free3d/glb/{guid}/{filename}":{"get":{"summary":"Api Free3D Glb","description":"Proxy GLB model files from free3d.online","operationId":"api_free3d_glb_api_free3d_glb__guid___filename__get","parameters":[{"name":"guid","in":"path","required":true,"schema":{"type":"string","title":"Guid"}},{"name":"filename","in":"path","required":true,"schema":{"type":"string","title":"Filename"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/notify/credits-click":{"post":{"summary":"Notify Credits Click","description":"Notify Telegram about a purchase button click.","operationId":"notify_credits_click_api_notify_credits_click_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/telegram/auth":{"post":{"summary":"Telegram Auth","description":"Authenticate user via Telegram Web App","operationId":"telegram_auth_api_telegram_auth_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/telegram/config":{"get":{"summary":"Telegram Config","description":"Get Telegram bot configuration for frontend","operationId":"telegram_config_api_telegram_config_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/viewer-themes":{"get":{"summary":"Api Viewer Themes","description":"Auto-discovered 3D viewer themes (image + companion JSON settings, name order).","operationId":"api_viewer_themes_api_viewer_themes_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/viewer-backdrops":{"get":{"summary":"Api Viewer Backdrops","description":"Backward-compatible alias for theme-aware viewer backgrounds.","operationId":"api_viewer_backdrops_api_viewer_backdrops_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/admin/viewer-themes/{theme_id}":{"put":{"summary":"Api Admin Save Viewer Theme","operationId":"api_admin_save_viewer_theme_api_admin_viewer_themes__theme_id__put","parameters":[{"name":"theme_id","in":"path","required":true,"schema":{"type":"string","title":"Theme Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/task/{task_id}/viewer-theme/auto-select":{"post":{"summary":"Api Task Viewer Theme Auto Select","operationId":"api_task_viewer_theme_auto_select_api_task__task_id__viewer_theme_auto_select_post","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/viewer-default-settings":{"get":{"summary":"Api Get Viewer Default Settings","description":"Public: get global default viewer settings JSON.","operationId":"api_get_viewer_default_settings_api_viewer_default_settings_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/admin/viewer-default-settings":{"post":{"summary":"Api Set Viewer Default Settings","description":"Admin-only: overwrite global default viewer settings JSON file.","operationId":"api_set_viewer_default_settings_api_admin_viewer_default_settings_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/admin/viewer-default-camera":{"post":{"summary":"Api Set Viewer Default Camera","description":"Admin-only: merge the live 3D viewer camera into global default settings.","operationId":"api_set_viewer_default_camera_api_admin_viewer_default_camera_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/task/{task_id}/animation-corrections":{"get":{"summary":"Api Get Task Animation Corrections","description":"Public published corrections; owner/admin additionally receives its draft.","operationId":"api_get_task_animation_corrections_api_task__task_id__animation_corrections_get","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"summary":"Api Put Task Animation Corrections","description":"Owner/admin: replace the private draft without changing public preview.","operationId":"api_put_task_animation_corrections_api_task__task_id__animation_corrections_put","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/task/{task_id}/animation-corrections/publish":{"post":{"summary":"Api Publish Task Animation Corrections","description":"Owner/admin: atomically publish the draft and enqueue revisioned exports.","operationId":"api_publish_task_animation_corrections_api_task__task_id__animation_corrections_publish_post","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/task/{task_id}/animation-corrections/export/retry":{"post":{"summary":"Api Retry Task Animation Correction Export","operationId":"api_retry_task_animation_correction_export_api_task__task_id__animation_corrections_export_retry_post","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/internal/task/{task_id}/animation-corrections/export/{revision}":{"post":{"summary":"Api Apply Task Animation Correction Export Result","operationId":"api_apply_task_animation_correction_export_result_api_internal_task__task_id__animation_corrections_export__revision__post","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}},{"name":"revision","in":"path","required":true,"schema":{"type":"integer","title":"Revision"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/task/{task_id}/viewer-settings":{"get":{"summary":"Api Get Task Viewer Settings","description":"Get viewer settings for a task.\n\n- If requester is owner/admin: return per-task settings if present, otherwise global defaults.\n- If requester is not owner/admin: return ONLY global defaults (do not leak per-task settings).","operationId":"api_get_task_viewer_settings_api_task__task_id__viewer_settings_get","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"summary":"Api Set Task Viewer Settings","description":"Owner/admin: save per-task viewer settings JSON.","operationId":"api_set_task_viewer_settings_api_task__task_id__viewer_settings_post","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/task/{task_id}/face-rig/analysis":{"get":{"summary":"Api Get Face Rig Analysis","operationId":"api_get_face_rig_analysis_api_task__task_id__face_rig_analysis_get","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/task/{task_id}/face-rig/analyze-head":{"post":{"summary":"Api Proxy Face Rig Analyze Head","description":"Proxy face-rig head analysis requests to the external HTTPS worker.","operationId":"api_proxy_face_rig_analyze_head_api_task__task_id__face_rig_analyze_head_post","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_api_proxy_face_rig_analyze_head_api_task__task_id__face_rig_analyze_head_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/skill.md":{"get":{"summary":"Serve Skill Md","operationId":"serve_skill_md_skill_md_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/llm.txt":{"get":{"summary":"Serve Llm Txt","description":"Root llm.txt for crawlers and LLM tooling (plain-text site summary + links).","operationId":"serve_llm_txt_llm_txt_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/llms.txt":{"get":{"summary":"Serve Llms Txt","description":"De-facto LLM discovery file; keep /llm.txt as backward-compatible alias.","operationId":"serve_llms_txt_llms_txt_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/{task_id}/viewer":{"get":{"summary":"V3 Viewer Page","operationId":"v3_viewer_page__task_id__viewer_get","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/task/{task_id}/viewer":{"get":{"summary":"V3 Viewer Page","operationId":"v3_viewer_page_task__task_id__viewer_get","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/viewer/{task_id}":{"get":{"summary":"V3 Viewer Page","operationId":"v3_viewer_page_viewer__task_id__get","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/viewer":{"get":{"summary":"V3 Viewer Page","operationId":"v3_viewer_page_viewer_get","parameters":[{"name":"task_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v3/task/{task_id}/manifest":{"get":{"summary":"V3 Manifest","operationId":"v3_manifest_api_v3_task__task_id__manifest_get","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v3/task/{task_id}/artifact/{artifact_name}":{"get":{"summary":"V3 Artifact","operationId":"v3_artifact_api_v3_task__task_id__artifact__artifact_name__get","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}},{"name":"artifact_name","in":"path","required":true,"schema":{"type":"string","title":"Artifact Name"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v3/viewer/examples":{"get":{"summary":"V3 Examples","operationId":"v3_examples_api_v3_viewer_examples_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/task/{task_id}/v3-shell":{"get":{"summary":"Task V3 Shell","operationId":"task_v3_shell_api_task__task_id__v3_shell_get","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/task/{task_id}/v3":{"get":{"summary":"Task V3","operationId":"task_v3_api_task__task_id__v3_get","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/task/{task_id}/v3-view":{"get":{"summary":"Task V3 View","operationId":"task_v3_view_api_task__task_id__v3_view_get","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/task/{task_id}/rig-version":{"get":{"summary":"Task Rig Version","operationId":"task_rig_version_api_task__task_id__rig_version_get","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/task/{task_id}/rerig":{"post":{"summary":"Task Rerig Button","description":"The page's «re-rig with the new pipeline» button (owner 2026-10-19): one request per (task, rig version,\nrig-path sha) for mt/rerig_open.py; the answer is the rig-version state with `button`.","operationId":"task_rerig_button_api_task__task_id__rerig_post","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/task-page/live":{"get":{"summary":"Task Page Live State","operationId":"task_page_live_state_api_task_page_live_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/task-viewer/{task_id}/files/{run}/{rel}":{"head":{"summary":"Task Viewer File","operationId":"task_viewer_file_api_task_viewer__task_id__files__run___rel__head","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}},{"name":"run","in":"path","required":true,"schema":{"type":"string","title":"Run"}},{"name":"rel","in":"path","required":true,"schema":{"type":"string","title":"Rel"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"summary":"Task Viewer File","operationId":"task_viewer_file_api_task_viewer__task_id__files__run___rel__head","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}},{"name":"run","in":"path","required":true,"schema":{"type":"string","title":"Run"}},{"name":"rel","in":"path","required":true,"schema":{"type":"string","title":"Rel"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/task-viewer/{task_id}/{rest}":{"head":{"summary":"Task Viewer Shared","operationId":"task_viewer_shared_api_task_viewer__task_id___rest__head","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}},{"name":"rest","in":"path","required":true,"schema":{"type":"string","title":"Rest"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"summary":"Task Viewer Shared","operationId":"task_viewer_shared_api_task_viewer__task_id___rest__head","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}},{"name":"rest","in":"path","required":true,"schema":{"type":"string","title":"Rest"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"summary":"Task Viewer Shared","operationId":"task_viewer_shared_api_task_viewer__task_id___rest__head","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}},{"name":"rest","in":"path","required":true,"schema":{"type":"string","title":"Rest"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/task/{task_id}/parts/child":{"post":{"summary":"Parts Child","operationId":"parts_child_api_task__task_id__parts_child_post","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/task/{task_id}/parts/supersede":{"post":{"summary":"Parts Supersede","operationId":"parts_supersede_api_task__task_id__parts_supersede_post","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/task/{task_id}/parts":{"get":{"summary":"Parts Of","operationId":"parts_of_api_task__task_id__parts_get","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/funnel/event":{"post":{"summary":"Funnel Event","operationId":"funnel_event_api_funnel_event_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/admin/funnel":{"get":{"summary":"Admin Funnel","operationId":"admin_funnel_api_admin_funnel_get","parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","default":7,"title":"Days"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/task/{task_id}/downloads-v3":{"get":{"summary":"Downloads Manifest","operationId":"downloads_manifest_api_task__task_id__downloads_v3_get","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/task/{task_id}/unlock-v3":{"post":{"summary":"Downloads Unlock","description":"Spend UNLOCK_CREDITS of a task pack on this task: every download of it opens for good (owner 2026-10-16:\n«каждая открывает все скачивания таска безлимитно»). -> the manifest with the new access; 402 (the plan, the\npack, the credits) when the credits are short.","operationId":"downloads_unlock_api_task__task_id__unlock_v3_post","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/task/{task_id}/downloads-v3-custom":{"post":{"summary":"Downloads Custom","description":"{target: unity|unreal|blender|glb, clips: \"all\"|[names], mesh: bool, mixamo: bool, version: \"v1\"|null}\n-> the custom export's format id (x-<hash>.<ext>), queued or ready, with the same progress contract.","operationId":"downloads_custom_api_task__task_id__downloads_v3_custom_post","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/task/{task_id}/downloads-v3/{fmt}":{"post":{"summary":"Downloads Request","operationId":"downloads_request_api_task__task_id__downloads_v3__fmt__post","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}},{"name":"fmt","in":"path","required":true,"schema":{"type":"string","title":"Fmt"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"summary":"Downloads Status","operationId":"downloads_status_api_task__task_id__downloads_v3__fmt__get","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}},{"name":"fmt","in":"path","required":true,"schema":{"type":"string","title":"Fmt"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/task/{task_id}/downloads-v3/{fmt}/file":{"get":{"summary":"Downloads File","operationId":"downloads_file_api_task__task_id__downloads_v3__fmt__file_get","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}},{"name":"fmt","in":"path","required":true,"schema":{"type":"string","title":"Fmt"}},{"name":"v","in":"query","required":false,"schema":{"type":"string","default":"","title":"V"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/view-as":{"post":{"summary":"Admin View As","operationId":"admin_view_as_api_admin_view_as_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v3-export/worker/next":{"get":{"summary":"Worker Next","operationId":"worker_next_api_v3_export_worker_next_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v3-export/worker/script":{"get":{"summary":"Worker Script","operationId":"worker_script_api_v3_export_worker_script_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v3-export/worker/jobs/{jid}/source.glb":{"get":{"summary":"Worker Source","operationId":"worker_source_api_v3_export_worker_jobs__jid__source_glb_get","parameters":[{"name":"jid","in":"path","required":true,"schema":{"type":"string","title":"Jid"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v3-export/worker/jobs/{jid}/progress":{"post":{"summary":"Worker Progress","operationId":"worker_progress_api_v3_export_worker_jobs__jid__progress_post","parameters":[{"name":"jid","in":"path","required":true,"schema":{"type":"string","title":"Jid"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v3-export/worker/jobs/{jid}/result":{"put":{"summary":"Worker Result","operationId":"worker_result_api_v3_export_worker_jobs__jid__result_put","parameters":[{"name":"jid","in":"path","required":true,"schema":{"type":"string","title":"Jid"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v3-export/worker/jobs/{jid}/fail":{"post":{"summary":"Worker Fail","operationId":"worker_fail_api_v3_export_worker_jobs__jid__fail_post","parameters":[{"name":"jid","in":"path","required":true,"schema":{"type":"string","title":"Jid"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/task/{task_id}/v3-textures":{"get":{"summary":"V3 Textures Get","operationId":"v3_textures_get_api_task__task_id__v3_textures_get","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/task/{task_id}/v3-source-files":{"post":{"summary":"V3 Source Files","description":"Texturing · V3: the missing texture / material files (or a ZIP) added to the same task; the source is\nnormalised again with them and the task runs a new attempt. Nothing already uploaded is overwritten.","operationId":"v3_source_files_api_task__task_id__v3_source_files_post","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/favicon.ico":{"get":{"summary":"Favicon Ico","description":"Browsers request /favicon.ico by default; serve existing SVG (no separate .ico asset).","operationId":"favicon_ico_favicon_ico_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/":{"get":{"summary":"Index","description":"Serve main page","operationId":"index__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/task":{"get":{"summary":"Task Page","description":"Serve task page with dynamic OG meta tags for Telegram/social sharing","operationId":"task_page_task_get","parameters":[{"name":"id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/task/{task_id}/purchase-intent":{"post":{"summary":"Api Purchase Intent","description":"Notify when user clicks download-to-purchase.","operationId":"api_purchase_intent_api_task__task_id__purchase_intent_post","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin":{"get":{"summary":"Admin Page","description":"Serve admin page","operationId":"admin_page_admin_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/admin/workers":{"get":{"summary":"Admin Workers Page","description":"Serve admin workers page (dedicated).","operationId":"admin_workers_page_admin_workers_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/gallery":{"get":{"summary":"Gallery Page","description":"Serve Gallery page","operationId":"gallery_page_gallery_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/dashboard":{"get":{"summary":"Dashboard Page","description":"User dashboard: notification settings.","operationId":"dashboard_page_dashboard_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/guides":{"get":{"summary":"Guides Page","description":"Guides page","operationId":"guides_page_guides_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/buy-credits":{"get":{"summary":"Buy Credits Page","description":"Serve Buy Credits page","operationId":"buy_credits_page_buy_credits_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/blender-plugin":{"get":{"summary":"Blender Plugin Page","description":"Native Blender plugin landing page.","operationId":"blender_plugin_page_blender_plugin_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/animal-rig":{"get":{"summary":"Animal Rig Page","description":"AutoRig V2 animal and non-humanoid rigging landing page.","operationId":"animal_rig_page_animal_rig_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/vision":{"get":{"summary":"Vision Page","description":"Image understanding playground served by the farm's own GPUs.","operationId":"vision_page_vision_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/text2text":{"get":{"summary":"Text2Text Page","description":"Text prompt playground served by the farm's own GPUs.","operationId":"text2text_page_text2text_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/text":{"get":{"summary":"Text Page","description":"Canonical path for the text service; /text2text is the older name.","operationId":"text_page_text_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/image":{"get":{"summary":"Image Page","description":"Prompt to picture, rendered on the farm.","operationId":"image_page_image_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/video":{"get":{"summary":"Video Page","description":"A frame animated into a clip on the farm.","operationId":"video_page_video_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/3dmodel":{"get":{"summary":"Model3D Page","description":"A picture turned into geometry by the farm's own Hunyuan3D.","operationId":"model3d_page_3dmodel_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/system_prompts":{"get":{"summary":"System Prompts Page","description":"Every system prompt of the graphs and the server's own rules, edited live.","operationId":"system_prompts_page_system_prompts_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/queue":{"get":{"summary":"Queue Page","description":"Every finished render of this device, a page at a time, made for a phone.","operationId":"queue_page_queue_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/nodes":{"get":{"summary":"Nodes Page","description":"Wire the services together and render the whole composition at once.","operationId":"nodes_page_nodes_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/workflows":{"get":{"summary":"Workflows Page","description":"Every saved composition at once, with what went in and what came out.","operationId":"workflows_page_workflows_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/models":{"get":{"summary":"Models Page","description":"Which computer can run which pipeline, and what it took in a day.","operationId":"models_page_models_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/lora":{"get":{"summary":"Lora Page","description":"The farm's LoRA manager: install from a Civitai link, see every box.","operationId":"lora_page_lora_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/avatars":{"get":{"summary":"Avatars Page","operationId":"avatars_page_avatars_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/developers":{"get":{"summary":"Developers Page","description":"API documentation and key management for developers.","operationId":"developers_page_developers_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/payment/success":{"get":{"summary":"Payment Success Page","description":"Serve payment success info page (no credit logic here).","operationId":"payment_success_page_payment_success_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/glb-auto-rig":{"get":{"summary":"Glb Auto Rig Page","description":"GLB auto-rigging landing page","operationId":"glb_auto_rig_page_glb_auto_rig_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/fbx-auto-rig":{"get":{"summary":"Fbx Auto Rig Page","description":"FBX auto-rigging landing page","operationId":"fbx_auto_rig_page_fbx_auto_rig_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/obj-auto-rig":{"get":{"summary":"Obj Auto Rig Page","description":"OBJ auto-rigging landing page","operationId":"obj_auto_rig_page_obj_auto_rig_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/how-it-works":{"get":{"summary":"How It Works Page","description":"How it works page","operationId":"how_it_works_page_how_it_works_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/faq":{"get":{"summary":"Faq Page","description":"FAQ page","operationId":"faq_page_faq_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/terms":{"get":{"summary":"Terms Of Use Page","description":"Terms of Use (website).","operationId":"terms_of_use_page_terms_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/user-agreement":{"get":{"summary":"User Agreement Page","description":"User Agreement (content license, previews, promotional use).","operationId":"user_agreement_page_user_agreement_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/t-pose-rig":{"get":{"summary":"T Pose Rig Page","description":"T-pose rig page","operationId":"t_pose_rig_page_t_pose_rig_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/mixamo-alternative":{"get":{"summary":"Mixamo Alternative Page","operationId":"mixamo_alternative_page_mixamo_alternative_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/mixamo-alternative-ru":{"get":{"summary":"Mixamo Alternative Ru Page","operationId":"mixamo_alternative_ru_page_mixamo_alternative_ru_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/mixamo-alternative-zh":{"get":{"summary":"Mixamo Alternative Zh Page","operationId":"mixamo_alternative_zh_page_mixamo_alternative_zh_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/mixamo-alternative-hi":{"get":{"summary":"Mixamo Alternative Hi Page","operationId":"mixamo_alternative_hi_page_mixamo_alternative_hi_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/rig-glb-unity":{"get":{"summary":"Rig Glb Unity Page","operationId":"rig_glb_unity_page_rig_glb_unity_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/rig-glb-unity-ru":{"get":{"summary":"Rig Glb Unity Ru Page","operationId":"rig_glb_unity_ru_page_rig_glb_unity_ru_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/rig-glb-unity-zh":{"get":{"summary":"Rig Glb Unity Zh Page","operationId":"rig_glb_unity_zh_page_rig_glb_unity_zh_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/rig-glb-unity-hi":{"get":{"summary":"Rig Glb Unity Hi Page","operationId":"rig_glb_unity_hi_page_rig_glb_unity_hi_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/rig-fbx-unreal":{"get":{"summary":"Rig Fbx Unreal Page","operationId":"rig_fbx_unreal_page_rig_fbx_unreal_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/rig-fbx-unreal-ru":{"get":{"summary":"Rig Fbx Unreal Ru Page","operationId":"rig_fbx_unreal_ru_page_rig_fbx_unreal_ru_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/rig-fbx-unreal-zh":{"get":{"summary":"Rig Fbx Unreal Zh Page","operationId":"rig_fbx_unreal_zh_page_rig_fbx_unreal_zh_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/rig-fbx-unreal-hi":{"get":{"summary":"Rig Fbx Unreal Hi Page","operationId":"rig_fbx_unreal_hi_page_rig_fbx_unreal_hi_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/glb-vs-fbx":{"get":{"summary":"Glb Vs Fbx Page","operationId":"glb_vs_fbx_page_glb_vs_fbx_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/glb-vs-fbx-ru":{"get":{"summary":"Glb Vs Fbx Ru Page","operationId":"glb_vs_fbx_ru_page_glb_vs_fbx_ru_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/glb-vs-fbx-zh":{"get":{"summary":"Glb Vs Fbx Zh Page","operationId":"glb_vs_fbx_zh_page_glb_vs_fbx_zh_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/glb-vs-fbx-hi":{"get":{"summary":"Glb Vs Fbx Hi Page","operationId":"glb_vs_fbx_hi_page_glb_vs_fbx_hi_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/t-pose-vs-a-pose":{"get":{"summary":"T Pose Vs A Pose Page","operationId":"t_pose_vs_a_pose_page_t_pose_vs_a_pose_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/t-pose-vs-a-pose-ru":{"get":{"summary":"T Pose Vs A Pose Ru Page","operationId":"t_pose_vs_a_pose_ru_page_t_pose_vs_a_pose_ru_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/t-pose-vs-a-pose-zh":{"get":{"summary":"T Pose Vs A Pose Zh Page","operationId":"t_pose_vs_a_pose_zh_page_t_pose_vs_a_pose_zh_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/t-pose-vs-a-pose-hi":{"get":{"summary":"T Pose Vs A Pose Hi Page","operationId":"t_pose_vs_a_pose_hi_page_t_pose_vs_a_pose_hi_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/animation-retargeting":{"get":{"summary":"Animation Retargeting Page","operationId":"animation_retargeting_page_animation_retargeting_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/animation-retargeting-ru":{"get":{"summary":"Animation Retargeting Ru Page","operationId":"animation_retargeting_ru_page_animation_retargeting_ru_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/animation-retargeting-zh":{"get":{"summary":"Animation Retargeting Zh Page","operationId":"animation_retargeting_zh_page_animation_retargeting_zh_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/animation-retargeting-hi":{"get":{"summary":"Animation Retargeting Hi Page","operationId":"animation_retargeting_hi_page_animation_retargeting_hi_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/face-rig-animation":{"get":{"summary":"Face Rig Animation Page","operationId":"face_rig_animation_page_face_rig_animation_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/face-rig-animation-ru":{"get":{"summary":"Face Rig Animation Ru Page","operationId":"face_rig_animation_ru_page_face_rig_animation_ru_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/face-rig-animation-zh":{"get":{"summary":"Face Rig Animation Zh Page","operationId":"face_rig_animation_zh_page_face_rig_animation_zh_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/face-rig-animation-hi":{"get":{"summary":"Face Rig Animation Hi Page","operationId":"face_rig_animation_hi_page_face_rig_animation_hi_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/auto-rig-obj":{"get":{"summary":"Auto Rig Obj Page","operationId":"auto_rig_obj_page_auto_rig_obj_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/auto-rig-obj-ru":{"get":{"summary":"Auto Rig Obj Ru Page","operationId":"auto_rig_obj_ru_page_auto_rig_obj_ru_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/auto-rig-obj-zh":{"get":{"summary":"Auto Rig Obj Zh Page","operationId":"auto_rig_obj_zh_page_auto_rig_obj_zh_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/auto-rig-obj-hi":{"get":{"summary":"Auto Rig Obj Hi Page","operationId":"auto_rig_obj_hi_page_auto_rig_obj_hi_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/image-to-rigged-3d-character":{"get":{"summary":"Image To Rigged 3D Character Page","operationId":"image_to_rigged_3d_character_page_image_to_rigged_3d_character_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/image-to-rigged-3d-character-ru":{"get":{"summary":"Image To Rigged 3D Character Ru Page","operationId":"image_to_rigged_3d_character_ru_page_image_to_rigged_3d_character_ru_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/image-to-rigged-3d-character-zh":{"get":{"summary":"Image To Rigged 3D Character Zh Page","operationId":"image_to_rigged_3d_character_zh_page_image_to_rigged_3d_character_zh_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/image-to-rigged-3d-character-hi":{"get":{"summary":"Image To Rigged 3D Character Hi Page","operationId":"image_to_rigged_3d_character_hi_page_image_to_rigged_3d_character_hi_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/sitemap.xml":{"get":{"summary":"Sitemap Index","description":"Sitemap index: static marketing pages + SEO-gated public task urlsets by part.","operationId":"sitemap_index_sitemap_xml_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"head":{"summary":"Sitemap Index","description":"Sitemap index: static marketing pages + SEO-gated public task urlsets by part.","operationId":"sitemap_index_sitemap_xml_head","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/sitemap/pages.xml":{"get":{"summary":"Sitemap Pages","description":"Marketing / guide urlset (was static/sitemap.xml).","operationId":"sitemap_pages_sitemap_pages_xml_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"head":{"summary":"Sitemap Pages","description":"Marketing / guide urlset (was static/sitemap.xml).","operationId":"sitemap_pages_sitemap_pages_xml_head","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/sitemap-mirror.xml":{"get":{"summary":"Sitemap Mirror","description":"Mirror sitemap index from the latest daily refresh (`backend/scripts/daily_sitemap_refresh.py`).\nFalls back to live /sitemap.xml when mirror file is absent.","operationId":"sitemap_mirror_sitemap_mirror_xml_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"head":{"summary":"Sitemap Mirror","description":"Mirror sitemap index from the latest daily refresh (`backend/scripts/daily_sitemap_refresh.py`).\nFalls back to live /sitemap.xml when mirror file is absent.","operationId":"sitemap_mirror_sitemap_mirror_xml_head","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/sitemap/gallery/part/{part}.xml":{"get":{"summary":"Sitemap Gallery Indexing Part","description":"Chunk (max 50) of SEO-gated public /task?id={task_id} URLs.","operationId":"sitemap_gallery_indexing_part_sitemap_gallery_part__part__xml_get","parameters":[{"name":"part","in":"path","required":true,"schema":{"type":"integer","title":"Part"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"head":{"summary":"Sitemap Gallery Indexing Part","description":"Chunk (max 50) of SEO-gated public /task?id={task_id} URLs.","operationId":"sitemap_gallery_indexing_part_sitemap_gallery_part__part__xml_head","parameters":[{"name":"part","in":"path","required":true,"schema":{"type":"integer","title":"Part"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/sitemap/gallery/all/part/{part}.xml":{"get":{"summary":"Sitemap Gallery Public Part","description":"Diagnostic full public chunk (max 50) of /task?id={task_id} URLs, without SEO gate.","operationId":"sitemap_gallery_public_part_sitemap_gallery_all_part__part__xml_get","parameters":[{"name":"part","in":"path","required":true,"schema":{"type":"integer","title":"Part"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"head":{"summary":"Sitemap Gallery Public Part","description":"Diagnostic full public chunk (max 50) of /task?id={task_id} URLs, without SEO gate.","operationId":"sitemap_gallery_public_part_sitemap_gallery_all_part__part__xml_head","parameters":[{"name":"part","in":"path","required":true,"schema":{"type":"integer","title":"Part"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/sitemap/gallery/indexing/part/{part}.xml":{"get":{"summary":"Sitemap Gallery Indexing Part Only","description":"SEO-gated chunk (max 50) of /task?id={task_id} URLs.","operationId":"sitemap_gallery_indexing_part_only_sitemap_gallery_indexing_part__part__xml_get","parameters":[{"name":"part","in":"path","required":true,"schema":{"type":"integer","title":"Part"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"head":{"summary":"Sitemap Gallery Indexing Part Only","description":"SEO-gated chunk (max 50) of /task?id={task_id} URLs.","operationId":"sitemap_gallery_indexing_part_only_sitemap_gallery_indexing_part__part__xml_head","parameters":[{"name":"part","in":"path","required":true,"schema":{"type":"integer","title":"Part"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/sitemap/videos.xml":{"get":{"summary":"Sitemap Videos","description":"Google Video sitemap for public model pages with uploaded YouTube previews.","operationId":"sitemap_videos_sitemap_videos_xml_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"head":{"summary":"Sitemap Videos","description":"Google Video sitemap for public model pages with uploaded YouTube previews.","operationId":"sitemap_videos_sitemap_videos_xml_head","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/robots.txt":{"get":{"summary":"Robots","description":"Serve robots.txt for crawlers","operationId":"robots_robots_txt_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/793f81f63218433f87e43c0afd353c14.txt":{"get":{"summary":"Indexnow Key File","description":"Serve the IndexNow API key from the site root.","operationId":"indexnow_key_file_793f81f63218433f87e43c0afd353c14_txt_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"head":{"summary":"Indexnow Key File","description":"Serve the IndexNow API key from the site root.","operationId":"indexnow_key_file_793f81f63218433f87e43c0afd353c14_txt_head","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/yandex_7bb48a0ce446816a.html":{"get":{"summary":"Yandex Verification","description":"Yandex Webmaster verification file","operationId":"yandex_verification_yandex_7bb48a0ce446816a_html_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/BingSiteAuth.xml":{"get":{"summary":"Bing Verification","description":"Bing Webmaster verification file","operationId":"bing_verification_BingSiteAuth_xml_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/scene":{"post":{"summary":"Create Scene","description":"Create a new scene from one or two tasks","operationId":"create_scene_api_scene_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SceneCreateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SceneResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/scene/{scene_id}":{"get":{"summary":"Get Scene","description":"Get scene data","operationId":"get_scene_api_scene__scene_id__get","parameters":[{"name":"scene_id","in":"path","required":true,"schema":{"type":"string","title":"Scene Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SceneResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"summary":"Update Scene","description":"Update scene transforms, hierarchy, or metadata","operationId":"update_scene_api_scene__scene_id__put","parameters":[{"name":"scene_id","in":"path","required":true,"schema":{"type":"string","title":"Scene Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SceneUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SceneResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/scene/{scene_id}/add":{"post":{"summary":"Add Model To Scene","description":"Add a model to an existing scene","operationId":"add_model_to_scene_api_scene__scene_id__add_post","parameters":[{"name":"scene_id","in":"path","required":true,"schema":{"type":"string","title":"Scene Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SceneAddModelRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SceneResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/generate/from-image":{"post":{"summary":"Api Generate From Image","description":"Upload a picture, get back a task that becomes a model and then a rig.","operationId":"api_generate_from_image_api_generate_from_image_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_api_generate_from_image_api_generate_from_image_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/language":{"get":{"summary":"Api Language Contract","operationId":"api_language_contract_api_language_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/me/language":{"get":{"summary":"Api Me Language Get","operationId":"api_me_language_get_api_me_language_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"summary":"Api Me Language Post","operationId":"api_me_language_post_api_me_language_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LanguageUpdate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/language/resolve":{"get":{"summary":"Api Language Resolve","operationId":"api_language_resolve_api_language_resolve_get","parameters":[{"name":"task_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Task Id"}},{"name":"support_session_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Support Session Id"}},{"name":"email","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"}},{"name":"anon_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Anon Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/age-gate/consent":{"post":{"tags":["site-mode"],"summary":"Age Gate Consent","operationId":"age_gate_consent_api_age_gate_consent_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/age-gate/withdraw":{"post":{"tags":["site-mode"],"summary":"Age Gate Withdraw","operationId":"age_gate_withdraw_api_age_gate_withdraw_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/age-gate/status":{"get":{"tags":["site-mode"],"summary":"Age Gate Status","operationId":"age_gate_status_api_age_gate_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/site-mode":{"get":{"tags":["site-mode"],"summary":"Site Mode Info","operationId":"site_mode_info_api_site_mode_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/site-mode/stage":{"get":{"tags":["site-mode"],"summary":"Site Mode Stage","description":"Admin-only staging: see the adult mode or the enforced main split on this host.","operationId":"site_mode_stage_api_site_mode_stage_get","parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","default":"nsfw","title":"Mode"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"AddBody":{"properties":{"url":{"type":"string","maxLength":600,"title":"Url"},"base":{"type":"string","maxLength":80,"title":"Base","description":"Base model, required for Hugging Face links","default":""},"force":{"type":"boolean","title":"Force","default":false},"boxes":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Boxes"}},"type":"object","required":["url"],"title":"AddBody"},"AdminBalanceResponse":{"properties":{"user_id":{"type":"integer","title":"User Id"},"email":{"type":"string","title":"Email"},"old_balance":{"type":"integer","title":"Old Balance"},"new_balance":{"type":"integer","title":"New Balance"}},"type":"object","required":["user_id","email","old_balance","new_balance"],"title":"AdminBalanceResponse","description":"Response after balance update"},"AdminBalanceUpdate":{"properties":{"delta":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Delta","description":"Add/subtract from balance"},"set_to":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Set To","description":"Set balance to exact value"}},"type":"object","title":"AdminBalanceUpdate","description":"Request to update user balance"},"AdminBulkAffectedResponse":{"properties":{"affected":{"type":"integer","title":"Affected"}},"type":"object","required":["affected"],"title":"AdminBulkAffectedResponse"},"AdminBulkRestartCountRecentRequest":{"properties":{"hours":{"type":"number","title":"Hours","default":24.0}},"type":"object","title":"AdminBulkRestartCountRecentRequest"},"AdminBulkTaskIdsRequest":{"properties":{"task_ids":{"items":{"type":"string"},"type":"array","title":"Task Ids"}},"type":"object","required":["task_ids"],"title":"AdminBulkTaskIdsRequest"},"AdminOverlayMetricsResponse":{"properties":{"tasks_by_status":{"additionalProperties":true,"type":"object","title":"Tasks By Status"},"total_tasks":{"type":"integer","title":"Total Tasks"},"rating_percent":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Rating Percent"},"session_completed":{"type":"integer","title":"Session Completed","default":0},"session_total_duration_seconds":{"type":"number","title":"Session Total Duration Seconds","default":0.0},"session_avg_seconds":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Session Avg Seconds"}},"type":"object","required":["tasks_by_status","total_tasks"],"title":"AdminOverlayMetricsResponse","description":"Сводка для админ-оверлея: live по БД + периодные счётчики (сбрасываются вручную)."},"AdminStatsResponse":{"properties":{"total_users":{"type":"integer","title":"Total Users"},"total_tasks":{"type":"integer","title":"Total Tasks"},"tasks_by_status":{"additionalProperties":true,"type":"object","title":"Tasks By Status"},"total_credits":{"type":"integer","title":"Total Credits"}},"type":"object","required":["total_users","total_tasks","tasks_by_status","total_credits"],"title":"AdminStatsResponse","description":"Response for admin dashboard stats"},"AdminTaskCacheMaxUpdate":{"properties":{"task_cache_max_gb":{"type":"number","maximum":100000.0,"exclusiveMinimum":0.0,"title":"Task Cache Max Gb"}},"type":"object","required":["task_cache_max_gb"],"title":"AdminTaskCacheMaxUpdate","description":"Persisted cap for total size of static/tasks (GB)."},"AdminTaskInspectResponse":{"properties":{"task_id":{"type":"string","title":"Task Id"},"owner_type":{"type":"string","title":"Owner Type"},"owner_id":{"type":"string","title":"Owner Id"},"owner_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Owner Email"},"status":{"type":"string","title":"Status"},"progress":{"type":"integer","title":"Progress"},"ready_count":{"type":"integer","title":"Ready Count"},"total_count":{"type":"integer","title":"Total Count"},"restart_count":{"type":"integer","title":"Restart Count","default":0},"input_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Input Url"},"input_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Input Type"},"pipeline_kind":{"type":"string","title":"Pipeline Kind","default":"rig"},"input_bytes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Input Bytes"},"poster_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Poster Url"},"worker_api":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Worker Api"},"worker_task_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Worker Task Id"},"progress_page":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Progress Page"},"guid":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Guid"},"error_message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error Message"},"last_progress_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Progress At"},"fbx_glb_output_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fbx Glb Output Url"},"fbx_glb_model_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fbx Glb Model Name"},"fbx_glb_ready":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Fbx Glb Ready"},"fbx_glb_error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fbx Glb Error"},"video_ready":{"type":"boolean","title":"Video Ready","default":false},"video_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Video Url"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"age_seconds":{"type":"integer","title":"Age Seconds","default":0}},"type":"object","required":["task_id","owner_type","owner_id","status","progress","ready_count","total_count","created_at","updated_at"],"title":"AdminTaskInspectResponse","description":"Extended task snapshot for admin overlay detail panel"},"AdminTaskListItem":{"properties":{"task_id":{"type":"string","title":"Task Id"},"owner_type":{"type":"string","title":"Owner Type"},"owner_id":{"type":"string","title":"Owner Id"},"owner_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Owner Email"},"status":{"type":"string","title":"Status"},"progress":{"type":"integer","title":"Progress"},"ready_count":{"type":"integer","title":"Ready Count"},"total_count":{"type":"integer","title":"Total Count"},"input_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Input Url"},"worker_api":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Worker Api"},"worker_task_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Worker Task Id"},"guid":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Guid"},"restart_count":{"type":"integer","title":"Restart Count","default":0},"pipeline_kind":{"type":"string","title":"Pipeline Kind","default":"rig"},"error_message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error Message"},"video_ready":{"type":"boolean","title":"Video Ready","default":false},"content_rating":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content Rating"},"content_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Content Score"},"content_classifier_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content Classifier Version"},"input_bytes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Input Bytes"},"poster_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Poster Url"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"age_seconds":{"type":"integer","title":"Age Seconds","default":0}},"type":"object","required":["task_id","owner_type","owner_id","status","progress","ready_count","total_count","created_at","updated_at"],"title":"AdminTaskListItem","description":"Task item for admin all-tasks list"},"AdminTaskListResponse":{"properties":{"tasks":{"items":{"$ref":"#/components/schemas/AdminTaskListItem"},"type":"array","title":"Tasks"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"per_page":{"type":"integer","title":"Per Page"}},"type":"object","required":["tasks","total","page","per_page"],"title":"AdminTaskListResponse","description":"Response for admin all-tasks list"},"AdminUserListItem":{"properties":{"id":{"type":"integer","title":"Id"},"email":{"type":"string","title":"Email"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"balance_credits":{"type":"integer","title":"Balance Credits"},"total_tasks":{"type":"integer","title":"Total Tasks"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"last_login_at":{"type":"string","format":"date-time","title":"Last Login At"}},"type":"object","required":["id","email","name","balance_credits","total_tasks","created_at","last_login_at"],"title":"AdminUserListItem","description":"User item for admin list"},"AdminUserListResponse":{"properties":{"users":{"items":{"$ref":"#/components/schemas/AdminUserListItem"},"type":"array","title":"Users"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"per_page":{"type":"integer","title":"Per Page"}},"type":"object","required":["users","total","page","per_page"],"title":"AdminUserListResponse","description":"Response for admin user list"},"AdminUserTaskItem":{"properties":{"task_id":{"type":"string","title":"Task Id"},"status":{"type":"string","title":"Status"},"progress":{"type":"integer","title":"Progress"},"ready_count":{"type":"integer","title":"Ready Count"},"total_count":{"type":"integer","title":"Total Count"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"input_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Input Url"},"content_rating":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content Rating"}},"type":"object","required":["task_id","status","progress","ready_count","total_count","created_at","updated_at"],"title":"AdminUserTaskItem","description":"Task item for admin user tasks list"},"AdminUserTasksResponse":{"properties":{"tasks":{"items":{"$ref":"#/components/schemas/AdminUserTaskItem"},"type":"array","title":"Tasks"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"per_page":{"type":"integer","title":"Per Page"}},"type":"object","required":["tasks","total","page","per_page"],"title":"AdminUserTasksResponse","description":"Response for admin user tasks list"},"AdminWorkerCreate":{"properties":{"url":{"type":"string","title":"Url"},"enabled":{"type":"boolean","title":"Enabled","default":true},"weight":{"type":"integer","title":"Weight","default":0},"physical_resource_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Physical Resource Id"},"pool":{"type":"string","title":"Pool","default":"full_converter"},"role":{"type":"string","title":"Role","default":"shared"},"capabilities":{"additionalProperties":true,"type":"object","title":"Capabilities"}},"type":"object","required":["url"],"title":"AdminWorkerCreate"},"AdminWorkerItem":{"properties":{"id":{"type":"integer","title":"Id"},"url":{"type":"string","title":"Url"},"enabled":{"type":"boolean","title":"Enabled"},"weight":{"type":"integer","title":"Weight"},"physical_resource_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Physical Resource Id"},"pool":{"type":"string","title":"Pool","default":"full_converter"},"role":{"type":"string","title":"Role","default":"shared"},"capabilities":{"additionalProperties":true,"type":"object","title":"Capabilities"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"done_tasks":{"type":"integer","title":"Done Tasks","default":0},"total_tasks":{"type":"integer","title":"Total Tasks","default":0},"done_share_pct":{"type":"number","title":"Done Share Pct","default":0.0}},"type":"object","required":["id","url","enabled","weight","created_at","updated_at"],"title":"AdminWorkerItem"},"AdminWorkerListResponse":{"properties":{"workers":{"items":{"$ref":"#/components/schemas/AdminWorkerItem"},"type":"array","title":"Workers"}},"type":"object","required":["workers"],"title":"AdminWorkerListResponse"},"AdminWorkerUpdate":{"properties":{"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"},"enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Enabled"},"weight":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Weight"},"physical_resource_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Physical Resource Id"},"pool":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pool"},"role":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Role"},"capabilities":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Capabilities"}},"type":"object","title":"AdminWorkerUpdate"},"AgentMeResponse":{"properties":{"agent_id":{"type":"string","title":"Agent Id"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"registered_as_agent":{"type":"boolean","title":"Registered As Agent","default":false},"free_used":{"type":"integer","title":"Free Used","default":0},"free_remaining":{"type":"integer","title":"Free Remaining","default":0},"account_note":{"type":"string","title":"Account Note","description":"How credits and purchases relate to this identity"}},"type":"object","required":["agent_id","account_note"],"title":"AgentMeResponse"},"AgentRegisterRequest":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":128},{"type":"null"}],"title":"Name","description":"Public display name for the agent"},"description":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Description","description":"Short description of what the agent does"}},"type":"object","title":"AgentRegisterRequest"},"AgentRegisterResponse":{"properties":{"api_key":{"type":"string","title":"Api Key","description":"Shown only once; store securely"},"agent_id":{"type":"string","title":"Agent Id","description":"Stable anonymous id (UUID) tied to this key"}},"type":"object","required":["api_key","agent_id"],"title":"AgentRegisterResponse"},"AgentReport":{"properties":{"items":{"additionalProperties":{"additionalProperties":true,"type":"object"},"type":"object","title":"Items"}},"type":"object","title":"AgentReport"},"AnimalRigVariantItem":{"properties":{"animal_type":{"type":"string","title":"Animal Type"},"orientation":{"type":"string","title":"Orientation"},"label":{"type":"string","title":"Label"},"is_primary":{"type":"boolean","title":"Is Primary","default":false},"status":{"type":"string","title":"Status","default":"pending"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"},"preview_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Preview Url"},"animation_manifest_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Animation Manifest Url"},"animation_glb_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Animation Glb Url"},"animation_library_revision":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Animation Library Revision"},"animation_clip_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Animation Clip Count"},"animation_manifest_sha256":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Animation Manifest Sha256"},"animation_glb_sha256":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Animation Glb Sha256"},"blend":{"$ref":"#/components/schemas/AnimalVariantFileState"},"fbx":{"$ref":"#/components/schemas/AnimalVariantFileState"},"skeleton":{"$ref":"#/components/schemas/AnimalVariantFileState"}},"type":"object","required":["animal_type","orientation","label"],"title":"AnimalRigVariantItem","description":"One selectable animal rig variant."},"AnimalRigVariantsResponse":{"properties":{"available":{"type":"boolean","title":"Available","default":false},"task_id":{"type":"string","title":"Task Id"},"current_animal_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Current Animal Type"},"selected_animal_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Selected Animal Type"},"selected_orientation":{"type":"string","title":"Selected Orientation","default":"front"},"progress_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Progress Text"},"purchased_all":{"type":"boolean","title":"Purchased All","default":false},"login_required":{"type":"boolean","title":"Login Required","default":false},"all_files_credits":{"type":"integer","title":"All Files Credits","default":10},"variants":{"items":{"$ref":"#/components/schemas/AnimalRigVariantItem"},"type":"array","title":"Variants","default":[]}},"type":"object","required":["task_id"],"title":"AnimalRigVariantsResponse","description":"Selectable animal rig variants for a task."},"AnimalVariantFileState":{"properties":{"ready":{"type":"boolean","title":"Ready","default":false},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"},"size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Size"},"filename":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Filename"}},"type":"object","title":"AnimalVariantFileState","description":"Availability for one animal variant artifact."},"AnimationCandidateCreateRequest":{"properties":{"seed":{"type":"integer","title":"Seed"},"status":{"type":"string","maxLength":32,"title":"Status","default":"qa_complete"},"raw_video_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Raw Video Url"},"raw_video_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Raw Video Path"},"decoded_frames_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Decoded Frames Path"},"fitted_clip_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fitted Clip Url"},"fitted_clip_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fitted Clip Path"},"fitted_clip_sha256":{"type":"string","title":"Fitted Clip Sha256"},"duration":{"type":"number","exclusiveMinimum":0.0,"title":"Duration"},"fps":{"type":"number","exclusiveMinimum":0.0,"title":"Fps"},"root_motion_available":{"type":"boolean","title":"Root Motion Available","default":false},"metrics":{"additionalProperties":true,"type":"object","title":"Metrics"},"provenance":{"additionalProperties":true,"type":"object","title":"Provenance"},"rank_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Rank Score"},"rank":{"anyOf":[{"type":"integer","maximum":16.0,"minimum":1.0},{"type":"null"}],"title":"Rank"},"qa_passed":{"type":"boolean","title":"Qa Passed","default":false}},"type":"object","required":["seed","fitted_clip_sha256","duration","fps"],"title":"AnimationCandidateCreateRequest"},"AnimationCandidateDecisionRequest":{"properties":{"decision":{"type":"string","title":"Decision"},"reason":{"anyOf":[{"type":"string","maxLength":4000},{"type":"null"}],"title":"Reason"}},"type":"object","required":["decision"],"title":"AnimationCandidateDecisionRequest"},"AnimationCatalogItem":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"type":{"type":"string","title":"Type"},"type_label":{"type":"string","title":"Type Label"},"tags":{"items":{"type":"string"},"type":"array","title":"Tags","default":[]},"credits":{"type":"integer","title":"Credits","default":1},"format":{"type":"string","title":"Format","default":"fbx"},"preview_gif":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Preview Gif"},"available":{"type":"boolean","title":"Available","default":false},"ready":{"type":"boolean","title":"Ready","default":false},"purchased":{"type":"boolean","title":"Purchased","default":false},"file_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Name"},"preview_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Preview Url"},"download_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Download Url"},"download_with_base_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Download With Base Url"},"source_kind":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Kind"},"animal_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Animal Type"},"orientation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Orientation"},"action_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Action Name"},"download_scope":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Download Scope"},"pack_credits":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Pack Credits"},"pack_purchased":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Pack Purchased"}},"type":"object","required":["id","name","type","type_label"],"title":"AnimationCatalogItem"},"AnimationCatalogResponse":{"properties":{"types":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Types"},"animations":{"items":{"$ref":"#/components/schemas/AnimationCatalogItem"},"type":"array","title":"Animations"},"purchased_all":{"type":"boolean","title":"Purchased All","default":false},"purchased_ids":{"items":{"type":"string"},"type":"array","title":"Purchased Ids","default":[]},"login_required":{"type":"boolean","title":"Login Required","default":false},"user_credits":{"type":"integer","title":"User Credits","default":0},"pricing":{"additionalProperties":true,"type":"object","title":"Pricing"}},"type":"object","required":["types","animations","pricing"],"title":"AnimationCatalogResponse"},"AnimationFittingJobCreateRequest":{"properties":{"rig_type":{"type":"string","title":"Rig Type"},"semantic_id":{"type":"string","title":"Semantic Id"},"library_revision":{"type":"string","title":"Library Revision"},"workflow_name":{"type":"string","maxLength":128,"minLength":1,"title":"Workflow Name"},"workflow_fingerprint":{"type":"string","maxLength":128,"minLength":1,"title":"Workflow Fingerprint"},"worker_url":{"type":"string","title":"Worker Url"},"prompt":{"type":"string","maxLength":12000,"minLength":1,"title":"Prompt"},"prompt_id":{"anyOf":[{"type":"string","maxLength":128},{"type":"null"}],"title":"Prompt Id"},"candidate_target":{"type":"integer","maximum":16.0,"minimum":1.0,"title":"Candidate Target","default":8},"candidate_limit":{"type":"integer","maximum":16.0,"minimum":1.0,"title":"Candidate Limit","default":16},"config":{"additionalProperties":true,"type":"object","title":"Config"}},"type":"object","required":["rig_type","semantic_id","library_revision","workflow_name","workflow_fingerprint","worker_url","prompt"],"title":"AnimationFittingJobCreateRequest"},"AnimationLibraryArtifactPutRequest":{"properties":{"manifest":{"additionalProperties":true,"type":"object","title":"Manifest"},"manifest_sha256":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Manifest Sha256"},"animation_glb_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Animation Glb Url"},"animation_glb_path":{"type":"string","title":"Animation Glb Path"},"artifact_sha256":{"type":"string","title":"Artifact Sha256"},"package_zip_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Package Zip Url"},"package_zip_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Package Zip Path"}},"type":"object","required":["manifest","animation_glb_path","artifact_sha256"],"title":"AnimationLibraryArtifactPutRequest"},"AnimationLibraryCreateRequest":{"properties":{"rig_type":{"type":"string","title":"Rig Type"},"revision":{"type":"string","title":"Revision"},"template_skeleton_sha256":{"type":"string","title":"Template Skeleton Sha256"},"qa_profile_revision":{"type":"string","maxLength":128,"minLength":1,"title":"Qa Profile Revision"},"notes":{"anyOf":[{"type":"string","maxLength":4000},{"type":"null"}],"title":"Notes"}},"type":"object","required":["rig_type","revision","template_skeleton_sha256","qa_profile_revision"],"title":"AnimationLibraryCreateRequest"},"AnimationLibraryRollbackRequest":{"properties":{"target_revision":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Target Revision"}},"type":"object","title":"AnimationLibraryRollbackRequest"},"AnimationPurchaseRequest":{"properties":{"animation_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Animation Id"},"all":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"All"},"animal_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Animal Type"},"orientation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Orientation"}},"type":"object","title":"AnimationPurchaseRequest"},"AnimationPurchaseResponse":{"properties":{"success":{"type":"boolean","title":"Success"},"purchased_animation_ids":{"items":{"type":"string"},"type":"array","title":"Purchased Animation Ids"},"purchased_all":{"type":"boolean","title":"Purchased All"},"credits_remaining":{"type":"integer","title":"Credits Remaining"}},"type":"object","required":["success","purchased_animation_ids","purchased_all","credits_remaining"],"title":"AnimationPurchaseResponse"},"AnonInfo":{"properties":{"anon_id":{"type":"string","title":"Anon Id"},"free_used":{"type":"integer","title":"Free Used"},"free_remaining":{"type":"integer","title":"Free Remaining"}},"type":"object","required":["anon_id","free_used","free_remaining"],"title":"AnonInfo","description":"Anonymous user info"},"ApiKeyCreateResponse":{"properties":{"api_key":{"type":"string","title":"Api Key"},"key":{"$ref":"#/components/schemas/ApiKeyItem"}},"type":"object","required":["api_key","key"],"title":"ApiKeyCreateResponse","description":"Returned only once at creation/regeneration."},"ApiKeyItem":{"properties":{"id":{"type":"integer","title":"Id"},"key_prefix":{"type":"string","title":"Key Prefix"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"revoked_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Revoked At"},"last_used_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Used At"}},"type":"object","required":["id","key_prefix","created_at"],"title":"ApiKeyItem","description":"API key metadata (masked)."},"ApiKeyListResponse":{"properties":{"keys":{"items":{"$ref":"#/components/schemas/ApiKeyItem"},"type":"array","title":"Keys"}},"type":"object","required":["keys"],"title":"ApiKeyListResponse"},"AudioMuxRequest":{"properties":{"video_url":{"type":"string","maxLength":4096,"minLength":8,"title":"Video Url"},"source_url":{"type":"string","maxLength":4096,"title":"Source Url","default":""}},"type":"object","required":["video_url"],"title":"AudioMuxRequest"},"AuthStatusResponse":{"properties":{"authenticated":{"type":"boolean","title":"Authenticated"},"user":{"anyOf":[{"$ref":"#/components/schemas/UserInfo"},{"type":"null"}]},"anon":{"anyOf":[{"$ref":"#/components/schemas/AnonInfo"},{"type":"null"}]},"credits_remaining":{"type":"integer","title":"Credits Remaining"},"login_required":{"type":"boolean","title":"Login Required"},"language":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Language"},"language_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Language Code"}},"type":"object","required":["authenticated","credits_remaining","login_required"],"title":"AuthStatusResponse","description":"Authentication status response"},"AvatarAdapter":{"properties":{"status":{"type":"string","enum":["not_requested","candidate","training","ready","failed","retired"],"title":"Status","default":"not_requested"},"pipeline_family":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Pipeline Family"},"artifact_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Artifact Url"},"sha256":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sha256"},"trigger_token":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Trigger Token"},"note":{"type":"string","maxLength":1000,"title":"Note","default":""}},"type":"object","title":"AvatarAdapter","description":"Truthful state of an optional identity adapter."},"AvatarDraft":{"properties":{"display_name":{"type":"string","maxLength":120,"minLength":1,"title":"Display Name"},"identity_prompt":{"type":"string","maxLength":4000,"minLength":1,"title":"Identity Prompt"},"appearance":{"type":"string","maxLength":4000,"title":"Appearance","default":""},"wardrobe":{"type":"string","maxLength":4000,"title":"Wardrobe","default":""},"negative_identity_prompt":{"type":"string","maxLength":2000,"title":"Negative Identity Prompt","default":""},"references":{"items":{"$ref":"#/components/schemas/AvatarReference"},"type":"array","maxItems":12,"minItems":1,"title":"References"},"provenance":{"$ref":"#/components/schemas/AvatarProvenance"},"adapter":{"$ref":"#/components/schemas/AvatarAdapter"},"format_version":{"type":"integer","maximum":2.0,"minimum":1.0,"title":"Format Version","default":1},"body":{"type":"string","maxLength":2000,"title":"Body","default":""},"views":{"additionalProperties":{"$ref":"#/components/schemas/AvatarView"},"type":"object","title":"Views"},"expressions":{"additionalProperties":{"$ref":"#/components/schemas/AvatarView"},"type":"object","title":"Expressions"},"sheet":{"anyOf":[{"$ref":"#/components/schemas/AvatarView"},{"type":"null"}]},"sources":{"items":{"$ref":"#/components/schemas/AvatarSource"},"type":"array","maxItems":8,"title":"Sources"},"loras":{"items":{"$ref":"#/components/schemas/AvatarLora"},"type":"array","maxItems":8,"title":"Loras"},"extensions":{"additionalProperties":true,"type":"object","title":"Extensions"}},"type":"object","required":["display_name","identity_prompt","references"],"title":"AvatarDraft"},"AvatarLora":{"properties":{"name":{"type":"string","maxLength":200,"minLength":1,"title":"Name"},"pipeline_family":{"type":"string","maxLength":100,"title":"Pipeline Family","default":""},"strength":{"type":"number","maximum":2.0,"minimum":0.0,"title":"Strength","default":1.0},"trigger_token":{"type":"string","maxLength":100,"title":"Trigger Token","default":""},"status":{"type":"string","enum":["candidate","training","ready","failed","retired"],"title":"Status","default":"candidate"},"note":{"type":"string","maxLength":500,"title":"Note","default":""}},"type":"object","required":["name"],"title":"AvatarLora","description":"A LoRA that carries this identity for one model family."},"AvatarProvenance":{"properties":{"source_kind":{"type":"string","enum":["uploaded","generated","mixed"],"title":"Source Kind","default":"uploaded"},"source_task_ids":{"items":{"type":"string"},"type":"array","maxItems":32,"title":"Source Task Ids"},"source_model":{"type":"string","maxLength":200,"title":"Source Model","default":""},"source_workflow":{"type":"string","maxLength":200,"title":"Source Workflow","default":""},"parameters_sha256":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parameters Sha256"},"note":{"type":"string","maxLength":1000,"title":"Note","default":""}},"type":"object","title":"AvatarProvenance"},"AvatarReadyRequest":{"properties":{"avatar":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar"},"avatar_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Id"},"image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url"},"video_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Video Url"}},"additionalProperties":true,"type":"object","title":"AvatarReadyRequest"},"AvatarReference":{"properties":{"asset_id":{"anyOf":[{"type":"string","maxLength":128,"minLength":4},{"type":"null"}],"title":"Asset Id"},"role":{"type":"string","enum":["face","body","wardrobe","style","motion","voice"],"title":"Role"},"media_type":{"type":"string","enum":["image","video","audio"],"title":"Media Type"},"canonical_url":{"type":"string","title":"Canonical Url"},"sha256":{"type":"string","title":"Sha256"},"source_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Url"},"width":{"anyOf":[{"type":"integer","maximum":16384.0,"minimum":1.0},{"type":"null"}],"title":"Width"},"height":{"anyOf":[{"type":"integer","maximum":16384.0,"minimum":1.0},{"type":"null"}],"title":"Height"},"duration_seconds":{"anyOf":[{"type":"number","maximum":3600.0,"exclusiveMinimum":0.0},{"type":"null"}],"title":"Duration Seconds"},"note":{"type":"string","maxLength":500,"title":"Note","default":""}},"type":"object","required":["role","media_type","canonical_url","sha256"],"title":"AvatarReference","description":"An immutable reference asset already promoted to durable storage.\n\n``source_url`` preserves provenance.  Generation consumes ``canonical_url``;\ncallers must copy scratch/expiring uploads to their persistent asset store\nbefore creating the profile and provide the checksum of those exact bytes."},"AvatarSceneRequest":{"properties":{"avatar":{"type":"string","title":"Avatar"},"avatar_secondary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Secondary"},"image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url"},"prompt":{"type":"string","maxLength":6000,"minLength":1,"title":"Prompt"},"width":{"type":"integer","maximum":2048.0,"minimum":256.0,"title":"Width","default":960},"height":{"type":"integer","maximum":2048.0,"minimum":256.0,"title":"Height","default":540},"seed":{"type":"integer","maximum":9007199254740991.0,"minimum":0.0,"title":"Seed","default":0}},"type":"object","required":["avatar","prompt"],"title":"AvatarSceneRequest"},"AvatarSource":{"properties":{"kind":{"type":"string","enum":["image","video"],"title":"Kind"},"sha256":{"type":"string","title":"Sha256"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"},"width":{"anyOf":[{"type":"integer","maximum":16384.0,"minimum":1.0},{"type":"null"}],"title":"Width"},"height":{"anyOf":[{"type":"integer","maximum":16384.0,"minimum":1.0},{"type":"null"}],"title":"Height"},"duration_seconds":{"anyOf":[{"type":"number","maximum":36000.0,"minimum":0.0},{"type":"null"}],"title":"Duration Seconds"},"frame_time_seconds":{"anyOf":[{"type":"number","maximum":36000.0,"minimum":0.0},{"type":"null"}],"title":"Frame Time Seconds"},"frame_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Frame Url"},"frame_sha256":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Frame Sha256"},"frame_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Frame Score"},"note":{"type":"string","maxLength":500,"title":"Note","default":""}},"type":"object","required":["kind","sha256"],"title":"AvatarSource","description":"The media an Avatar was built from, and which frame was used."},"AvatarVideoRequest":{"properties":{"avatar":{"type":"string","title":"Avatar"},"avatar_secondary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Secondary"},"control_video_url":{"type":"string","title":"Control Video Url"},"image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url"},"prompt":{"type":"string","maxLength":2000,"title":"Prompt","default":""},"width":{"type":"integer","maximum":2048.0,"minimum":256.0,"title":"Width","default":960},"height":{"type":"integer","maximum":2048.0,"minimum":256.0,"title":"Height","default":540},"frame_count":{"type":"integer","maximum":97.0,"minimum":9.0,"title":"Frame Count","default":97},"seed":{"type":"integer","maximum":9007199254740991.0,"minimum":0.0,"title":"Seed","default":0},"control_strength":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Control Strength","default":1.0}},"additionalProperties":false,"type":"object","required":["avatar","control_video_url"],"title":"AvatarVideoRequest"},"AvatarView":{"properties":{"canonical_url":{"type":"string","title":"Canonical Url"},"sha256":{"type":"string","title":"Sha256"},"asset_id":{"anyOf":[{"type":"string","maxLength":128},{"type":"null"}],"title":"Asset Id"},"width":{"type":"integer","maximum":16384.0,"minimum":1.0,"title":"Width"},"height":{"type":"integer","maximum":16384.0,"minimum":1.0,"title":"Height"},"yaw_deg":{"anyOf":[{"type":"number","maximum":180.0,"minimum":-180.0},{"type":"null"}],"title":"Yaw Deg"},"framing":{"type":"string","enum":["face","upper_body","full_body","other"],"title":"Framing","default":"other"},"expression":{"type":"string","maxLength":60,"title":"Expression","default":"neutral"},"provenance":{"$ref":"#/components/schemas/AvatarViewProvenance"},"qa":{"$ref":"#/components/schemas/AvatarViewQA"}},"type":"object","required":["canonical_url","sha256","width","height"],"title":"AvatarView","description":"One picture of the character in a named slot."},"AvatarViewProvenance":{"properties":{"engine":{"type":"string","maxLength":100,"title":"Engine","default":""},"workflow":{"type":"string","maxLength":200,"title":"Workflow","default":""},"checkpoint":{"type":"string","maxLength":200,"title":"Checkpoint","default":""},"prompt":{"type":"string","maxLength":6000,"title":"Prompt","default":""},"seed":{"type":"integer","maximum":9007199254740991.0,"minimum":0.0,"title":"Seed","default":0},"task_id":{"type":"string","maxLength":200,"title":"Task Id","default":""},"reference_slots":{"items":{"type":"string"},"type":"array","maxItems":8,"title":"Reference Slots"},"worker":{"type":"string","maxLength":100,"title":"Worker","default":""},"seconds":{"type":"number","maximum":86400.0,"minimum":0.0,"title":"Seconds","default":0}},"type":"object","title":"AvatarViewProvenance"},"AvatarViewQA":{"properties":{"status":{"type":"string","enum":["passed","failed","unchecked","accepted_with_warnings"],"title":"Status","default":"unchecked"},"attempts":{"type":"integer","maximum":10.0,"minimum":1.0,"title":"Attempts","default":1},"identity_score":{"anyOf":[{"type":"number","maximum":1.0,"minimum":0.0},{"type":"null"}],"title":"Identity Score"},"identity_method":{"type":"string","maxLength":100,"title":"Identity Method","default":""},"angle_ok":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Angle Ok"},"face_detected":{"type":"string","enum":["frontal","profile","none","unknown"],"title":"Face Detected","default":"unknown"},"notes":{"type":"string","maxLength":1000,"title":"Notes","default":""}},"type":"object","title":"AvatarViewQA","description":"What the automatic check found; never claims more than it measured."},"Body_api_generate_from_image_api_generate_from_image_post":{"properties":{"file":{"anyOf":[{"type":"string","format":"binary"},{"type":"null"}],"title":"File"}},"type":"object","title":"Body_api_generate_from_image_api_generate_from_image_post"},"Body_api_proxy_face_rig_analyze_head_api_task__task_id__face_rig_analyze_head_post":{"properties":{"metadata":{"type":"string","title":"Metadata"},"force":{"type":"string","title":"Force","default":"0"},"front_rgb_pbr":{"type":"string","format":"binary","title":"Front Rgb Pbr"},"front_depth":{"type":"string","format":"binary","title":"Front Depth"},"front_alpha":{"type":"string","format":"binary","title":"Front Alpha"},"front_albedo":{"anyOf":[{"type":"string","format":"binary"},{"type":"null"}],"title":"Front Albedo"},"front_normal":{"anyOf":[{"type":"string","format":"binary"},{"type":"null"}],"title":"Front Normal"},"left_3q_rgb_pbr":{"anyOf":[{"type":"string","format":"binary"},{"type":"null"}],"title":"Left 3Q Rgb Pbr"},"right_3q_rgb_pbr":{"anyOf":[{"type":"string","format":"binary"},{"type":"null"}],"title":"Right 3Q Rgb Pbr"}},"type":"object","required":["metadata","front_rgb_pbr","front_depth","front_alpha"],"title":"Body_api_proxy_face_rig_analyze_head_api_task__task_id__face_rig_analyze_head_post"},"Body_upload_api_ai_avatar_build_upload_post":{"properties":{"file":{"type":"string","format":"binary","title":"File"},"display_name":{"type":"string","title":"Display Name","default":""},"outfit":{"type":"string","title":"Outfit","default":""},"views":{"type":"string","title":"Views","default":""},"avatar":{"type":"string","title":"Avatar","default":""}},"type":"object","required":["file"],"title":"Body_upload_api_ai_avatar_build_upload_post"},"Body_upload_avatar_asset_api_ai_avatar_assets_post":{"properties":{"file":{"type":"string","format":"binary","title":"File"}},"type":"object","required":["file"],"title":"Body_upload_avatar_asset_api_ai_avatar_assets_post"},"Body_upload_video_api_youtube_videos_post":{"properties":{"file":{"type":"string","format":"binary","title":"File"},"title":{"type":"string","maxLength":100,"minLength":1,"title":"Title"},"description":{"type":"string","maxLength":5000,"title":"Description","default":""},"tags":{"type":"string","maxLength":500,"title":"Tags","default":""},"privacy_status":{"type":"string","title":"Privacy Status","default":"public"}},"type":"object","required":["file","title"],"title":"Body_upload_video_api_youtube_videos_post"},"BoxReport":{"properties":{"loras_dirs":{"items":{"type":"string"},"type":"array","title":"Loras Dirs"},"free_bytes":{"type":"integer","title":"Free Bytes","default":0},"files":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Files"},"items":{"additionalProperties":{"additionalProperties":true,"type":"object"},"type":"object","title":"Items"},"agent_version":{"type":"string","title":"Agent Version","default":""},"comfy_root":{"type":"string","title":"Comfy Root","default":""}},"type":"object","title":"BoxReport"},"BuildRequest":{"properties":{"image_url":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}],"title":"Image Url"},"image_base64":{"anyOf":[{"type":"string","maxLength":17825792},{"type":"null"}],"title":"Image Base64"},"video_url":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}],"title":"Video Url"},"avatar":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Avatar"},"display_name":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}],"title":"Display Name"},"outfit":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Outfit"},"views":{"anyOf":[{"type":"string","maxLength":400},{"type":"null"}],"title":"Views"},"qa":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Qa","default":true},"seed":{"anyOf":[{"type":"integer","maximum":2147483647.0,"minimum":0.0},{"type":"null"}],"title":"Seed"},"engine":{"anyOf":[{"type":"string","maxLength":12},{"type":"null"}],"title":"Engine"},"retry_engine":{"anyOf":[{"type":"string","maxLength":12},{"type":"null"}],"title":"Retry Engine"},"model":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Model"},"judge_model":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Judge Model"},"private":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Private"},"render_quality":{"anyOf":[{"type":"string","maxLength":16},{"type":"null"}],"title":"Render Quality"}},"additionalProperties":false,"type":"object","title":"BuildRequest"},"CameraImageRequest":{"properties":{"image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url","description":"Picture (a clip URL gives its first frame)"},"image_base64":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Base64"},"video_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Video Url","description":"Clip: its first frame is used"},"preset":{"type":"string","title":"Preset","description":"A preset name or custom","default":"orbit_right_45"},"yaw":{"anyOf":[{"type":"number","maximum":180.0,"minimum":-180.0},{"type":"null"}],"title":"Yaw","description":"custom: degrees, + = camera to the right"},"pitch":{"anyOf":[{"type":"number","maximum":90.0,"minimum":-60.0},{"type":"null"}],"title":"Pitch","description":"custom: degrees, + = camera above"},"zoom":{"anyOf":[{"type":"number","maximum":4.0,"minimum":0.25},{"type":"null"}],"title":"Zoom","description":"custom: >1 closer, <1 further"},"prompt":{"anyOf":[{"type":"string","maxLength":4000},{"type":"null"}],"title":"Prompt","description":"Extra words appended to the camera prompt"},"width":{"anyOf":[{"type":"integer","maximum":2048.0,"minimum":256.0},{"type":"null"}],"title":"Width"},"height":{"anyOf":[{"type":"integer","maximum":2048.0,"minimum":256.0},{"type":"null"}],"title":"Height"},"seed":{"anyOf":[{"type":"integer","maximum":9007199254740991.0,"minimum":0.0},{"type":"null"}],"title":"Seed"},"verify":{"type":"boolean","title":"Verify","description":"30-150 deg views: Vision checks the side, one re-render if mirrored","default":true},"render_quality":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Render Quality"},"structured":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Structured"},"system_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Prompt"}},"type":"object","title":"CameraImageRequest"},"CameraVideoRequest":{"properties":{"video_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Video Url","description":"Clip to re-shoot (autorig.online or Civitai)"},"image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url","description":"The editor's Media socket: a clip URL lands here"},"azimuth":{"type":"string","title":"Azimuth","default":"to the right"},"elevation":{"type":"string","title":"Elevation","default":"same height"},"distance":{"type":"string","title":"Distance","default":"same distance"},"strength":{"type":"number","maximum":2.5,"minimum":0.5,"title":"Strength","description":"CrossView LoRA strength (1.2-1.8 on distilled)","default":1.5},"guide_strength":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Guide Strength","description":"How strongly the source clip is followed","default":1.0},"frame_count":{"anyOf":[{"type":"integer","maximum":193.0,"minimum":9.0},{"type":"null"}],"title":"Frame Count","description":"0/empty = the clip's length"},"width":{"anyOf":[{"type":"integer","maximum":2048.0,"minimum":256.0},{"type":"null"}],"title":"Width"},"height":{"anyOf":[{"type":"integer","maximum":2048.0,"minimum":256.0},{"type":"null"}],"title":"Height"},"seed":{"anyOf":[{"type":"integer","maximum":9007199254740991.0,"minimum":0.0},{"type":"null"}],"title":"Seed"},"render_quality":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Render Quality"},"prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt"}},"type":"object","title":"CameraVideoRequest"},"CancelRequest":{"properties":{"task_ids":{"items":{"type":"string"},"type":"array","title":"Task Ids"},"reason":{"type":"string","maxLength":200,"title":"Reason","default":""}},"type":"object","title":"CancelRequest"},"CivitaiMetaRequest":{"properties":{"media_url":{"type":"string","maxLength":4096,"title":"Media Url"},"prompt":{"type":"string","maxLength":12000,"title":"Prompt","default":""},"resources":{"items":{"type":"string"},"type":"array","maxItems":20,"title":"Resources"},"service":{"type":"string","title":"Service","default":""},"caption_only":{"type":"boolean","title":"Caption Only","description":"Answer with the Vision caption only (first, fast step)","default":false},"caption":{"type":"string","maxLength":4000,"title":"Caption","description":"A caption from the first step; skips Vision","default":""}},"type":"object","required":["media_url"],"title":"CivitaiMetaRequest"},"CivitaiPostItem":{"properties":{"media_url":{"type":"string","maxLength":4096,"title":"Media Url"},"source_urls":{"items":{"type":"string"},"type":"array","maxItems":60,"title":"Source Urls"}},"type":"object","required":["media_url"],"title":"CivitaiPostItem"},"CivitaiPostRequest":{"properties":{"media_url":{"type":"string","maxLength":4096,"title":"Media Url"},"title":{"type":"string","maxLength":300,"title":"Title","default":""},"description":{"type":"string","maxLength":12000,"title":"Description","default":""},"prompt":{"type":"string","maxLength":12000,"title":"Prompt","default":""},"tags":{"items":{"type":"string"},"type":"array","maxItems":40,"title":"Tags"},"nsfw_level":{"type":"string","title":"Nsfw Level","description":"PG, PG-13, R, X or XXX; the owner confirms it"},"resources":{"items":{"$ref":"#/components/schemas/CivitaiResource"},"type":"array","maxItems":20,"title":"Resources"},"publish":{"type":"boolean","title":"Publish","default":false},"dry_run":{"type":"boolean","title":"Dry Run","default":false},"poster_url":{"anyOf":[{"type":"string","maxLength":4096},{"type":"null"}],"title":"Poster Url","description":"Still for audio"},"upscale":{"type":"boolean","title":"Upscale","description":"Ignored: posts use the file as it is","default":false},"generation":{"additionalProperties":true,"type":"object","title":"Generation","description":"seed, steps, sampler, cfg, model..."},"extra_items":{"items":{"$ref":"#/components/schemas/CivitaiPostItem"},"type":"array","maxItems":19,"title":"Extra Items","description":"More files for the same post (one post, up to 20 files)"},"title_is_placeholder":{"type":"boolean","title":"Title Is Placeholder","description":"The dialog still shows the node's label","default":false},"source_urls":{"items":{"type":"string"},"type":"array","maxItems":60,"title":"Source Urls","description":"Render outputs upstream of this node (for tools that only join, mux or cut renders: their prompt, models and settings)"},"background":{"type":"boolean","title":"Background","description":"Answer at once with a job id; poll /api/ai/civitai/jobs/<id>","default":false},"auto_meta":{"type":"boolean","title":"Auto Meta","description":"Write title/description/tags with the LLM when the title is empty or generic (Video, Image, ...)","default":true}},"type":"object","required":["media_url","nsfw_level"],"title":"CivitaiPostRequest"},"CivitaiResource":{"properties":{"model_version_id":{"type":"integer","minimum":1.0,"title":"Model Version Id"},"name":{"type":"string","title":"Name","default":""},"weight":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Weight"},"type":{"type":"string","title":"Type","default":""}},"type":"object","required":["model_version_id"],"title":"CivitaiResource"},"CleanupBody":{"properties":{"box":{"type":"string","title":"Box"},"file":{"type":"string","title":"File"}},"type":"object","required":["box","file"],"title":"CleanupBody"},"ConcatRequest":{"properties":{"clip":{"title":"Clip"},"clip_2":{"title":"Clip 2"},"clip_3":{"title":"Clip 3"},"clips":{"items":{"items":{"type":"string"},"type":"array"},"type":"array","maxItems":4,"title":"Clips"},"shots_json":{"type":"string","maxLength":200000,"title":"Shots Json","default":""},"out_width":{"type":"integer","maximum":4096.0,"minimum":0.0,"title":"Out Width","default":0},"out_height":{"type":"integer","maximum":4096.0,"minimum":0.0,"title":"Out Height","default":0},"fps":{"type":"integer","maximum":60.0,"minimum":8.0,"title":"Fps","default":24},"trim":{"type":"boolean","title":"Trim","default":true},"chain":{"type":"boolean","title":"Chain","default":false},"fit":{"type":"string","pattern":"^(trim|resample|native)$","title":"Fit","default":"trim"},"source_url":{"type":"string","maxLength":4096,"title":"Source Url","default":""}},"type":"object","title":"ConcatRequest"},"ControlNetRequest":{"properties":{"image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url","description":"Source image, public http(s) URL"},"image_base64":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Base64","description":"Source image as base64 or data URL"},"channel":{"type":"string","title":"Channel","description":"pose, depth, canny or normal"},"width":{"anyOf":[{"type":"integer","maximum":2048.0,"minimum":64.0},{"type":"null"}],"title":"Width","description":"Map width; omitted = the source image's own width"},"height":{"anyOf":[{"type":"integer","maximum":2048.0,"minimum":64.0},{"type":"null"}],"title":"Height","description":"Map height; omitted = the source image's own height"},"wait_seconds":{"anyOf":[{"type":"number","maximum":180.0,"minimum":0.0},{"type":"null"}],"title":"Wait Seconds"}},"type":"object","required":["channel"],"title":"ControlNetRequest"},"CryptoBuyConfigResponse":{"properties":{"discount_fraction":{"type":"number","title":"Discount Fraction"},"btc_usd_rate":{"type":"number","title":"Btc Usd Rate"},"networks":{"items":{"$ref":"#/components/schemas/CryptoNetworkItem"},"type":"array","title":"Networks"},"tiers":{"items":{"$ref":"#/components/schemas/CryptoTierItem"},"type":"array","title":"Tiers"}},"type":"object","required":["discount_fraction","btc_usd_rate","networks","tiers"],"title":"CryptoBuyConfigResponse"},"CryptoNetworkItem":{"properties":{"id":{"type":"string","title":"Id"},"label":{"type":"string","title":"Label"},"asset":{"type":"string","title":"Asset"},"address":{"type":"string","title":"Address"},"warning":{"type":"string","title":"Warning"}},"type":"object","required":["id","label","asset","address","warning"],"title":"CryptoNetworkItem"},"CryptoPaymentSubmitRequest":{"properties":{"tier":{"type":"string","maxLength":64,"minLength":1,"title":"Tier"},"network_id":{"type":"string","maxLength":32,"minLength":1,"title":"Network Id"},"tx_id":{"type":"string","maxLength":256,"minLength":8,"title":"Tx Id"},"contact_note":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Contact Note"}},"type":"object","required":["tier","network_id","tx_id"],"title":"CryptoPaymentSubmitRequest"},"CryptoPaymentSubmitResponse":{"properties":{"ok":{"type":"boolean","title":"Ok","default":true},"id":{"type":"integer","title":"Id"}},"type":"object","required":["id"],"title":"CryptoPaymentSubmitResponse"},"CryptoTierItem":{"properties":{"tier_key":{"type":"string","title":"Tier Key"},"credits":{"type":"integer","title":"Credits"},"usd_standard":{"type":"number","title":"Usd Standard"},"usd_discounted":{"type":"number","title":"Usd Discounted"},"usdt_amount":{"type":"number","title":"Usdt Amount"},"btc_amount_approx":{"type":"number","title":"Btc Amount Approx"},"usd_per_credit_discounted":{"type":"number","title":"Usd Per Credit Discounted"}},"type":"object","required":["tier_key","credits","usd_standard","usd_discounted","usdt_amount","btc_amount_approx","usd_per_credit_discounted"],"title":"CryptoTierItem"},"DetailRequest":{"properties":{"image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url","description":"Source image, public http(s) URL"},"image_base64":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Base64","description":"Source image as base64 or data URL"},"strength":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Strength","description":"How much texture to invent","default":0.35},"tile":{"type":"boolean","title":"Tile","description":"Tile the diffusion pass; required over ~1.5 MP","default":true},"prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt","description":"Subject text, if there is one"},"wait_seconds":{"anyOf":[{"type":"number","maximum":180.0,"minimum":0.0},{"type":"null"}],"title":"Wait Seconds"}},"type":"object","title":"DetailRequest"},"DonationStatsResponse":{"properties":{"raised_usd":{"type":"number","title":"Raised Usd"},"goal_usd":{"type":"integer","title":"Goal Usd"},"currency":{"type":"string","title":"Currency","default":"USD"},"purchase_count":{"type":"integer","title":"Purchase Count","default":0}},"type":"object","required":["raised_usd","goal_usd"],"title":"DonationStatsResponse"},"DuplicateGraphRequest":{"properties":{"currentGraph":{"$ref":"#/components/schemas/Graph"}},"type":"object","required":["currentGraph"],"title":"DuplicateGraphRequest"},"ExtractFramesRequest":{"properties":{"video_url":{"type":"string","maxLength":4096,"minLength":8,"title":"Video Url"},"template":{"type":"string","pattern":"^(start_end|start_middle_end|start_only|end_only|every_n|n_per_scene)$","title":"Template","default":"start_only"},"detect_scenes":{"type":"boolean","title":"Detect Scenes","default":true},"n":{"type":"integer","maximum":64.0,"minimum":1.0,"title":"N","description":"every_n: step in frames; n_per_scene: frames per scene","default":4},"offset":{"type":"integer","maximum":48.0,"minimum":0.0,"title":"Offset","description":"skip this many frames after a cut / before the next one","default":0},"sensitivity":{"type":"number","maximum":60.0,"minimum":2.0,"title":"Sensitivity","default":12.0},"local_ratio":{"type":"number","maximum":50.0,"minimum":1.5,"title":"Local Ratio","default":6.0},"min_shot_seconds":{"type":"number","maximum":10.0,"minimum":0.0,"title":"Min Shot Seconds","default":0.5},"fps":{"type":"integer","maximum":60.0,"minimum":8.0,"title":"Fps","default":24},"max_frames_out":{"type":"integer","maximum":64.0,"minimum":1.0,"title":"Max Frames Out","default":64}},"type":"object","required":["video_url"],"title":"ExtractFramesRequest"},"FaceFixRequest":{"properties":{"image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url","description":"Source image, public http(s) URL"},"image_base64":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Base64","description":"Source image as base64 or data URL"},"fidelity":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Fidelity","description":"1 keeps the original face, 0 rebuilds it","default":0.6},"hands_eyes":{"type":"boolean","title":"Hands Eyes","description":"Also repair the bare skin the parser finds","default":false},"prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt","description":"Subject text, if there is one"},"wait_seconds":{"anyOf":[{"type":"number","maximum":180.0,"minimum":0.0},{"type":"null"}],"title":"Wait Seconds"}},"type":"object","title":"FaceFixRequest"},"FeedbackCreateRequest":{"properties":{"text":{"type":"string","maxLength":2000,"minLength":1,"title":"Text"},"parent_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parent Id"}},"type":"object","required":["text"],"title":"FeedbackCreateRequest","description":"Request to submit feedback"},"FeedbackItem":{"properties":{"id":{"type":"integer","title":"Id"},"user_email":{"type":"string","title":"User Email"},"user_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Name"},"text":{"type":"string","title":"Text"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"parent_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parent Id"},"user_picture":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Picture"},"parent_user_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parent User Name"},"parent_preview":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parent Preview"}},"type":"object","required":["id","user_email","user_name","text","created_at"],"title":"FeedbackItem","description":"Feedback item for display"},"FeedbackListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/FeedbackItem"},"type":"array","title":"Items"}},"type":"object","required":["items"],"title":"FeedbackListResponse","description":"Response for feedback list"},"GalleryItem":{"properties":{"task_id":{"type":"string","title":"Task Id"},"video_url":{"type":"string","title":"Video Url"},"thumbnail_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Thumbnail Url"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"time_ago":{"type":"string","title":"Time Ago"},"like_count":{"type":"integer","title":"Like Count","default":0},"liked_by_me":{"type":"boolean","title":"Liked By Me","default":false},"sales_count":{"type":"integer","title":"Sales Count","default":0},"author_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Author Email"},"author_nickname":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Author Nickname"},"author_handle":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Author Handle"},"author_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Author Name"},"author_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Author Url"},"version":{"type":"integer","title":"Version","default":1},"content_rating":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content Rating"},"category":{"type":"string","title":"Category","default":"humanoid"},"rig_icon_key":{"type":"string","title":"Rig Icon Key","default":"humanoid"}},"type":"object","required":["task_id","video_url","created_at","time_ago"],"title":"GalleryItem","description":"Gallery item for public gallery"},"GalleryResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/GalleryItem"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"per_page":{"type":"integer","title":"Per Page"},"has_more":{"type":"boolean","title":"Has More"},"stats":{"$ref":"#/components/schemas/GalleryStats"}},"type":"object","required":["items","total","page","per_page","has_more","stats"],"title":"GalleryResponse","description":"Response for gallery"},"GalleryStats":{"properties":{"completed_total":{"type":"integer","title":"Completed Total"},"completed_last_24h":{"type":"integer","title":"Completed Last 24H"}},"type":"object","required":["completed_total","completed_last_24h"],"title":"GalleryStats","description":"Public gallery counters not tied to current retained gallery rows."},"Graph":{"properties":{"name":{"type":"string","title":"Name","default":"Untitled"},"instance_id":{"type":"string","maxLength":64,"title":"Instance Id","default":""},"comparison_anchor_id":{"type":"string","maxLength":64,"title":"Comparison Anchor Id","default":""},"render_quality":{"type":"string","maxLength":16,"title":"Render Quality","default":"preview"},"nodes":{"items":{"$ref":"#/components/schemas/GraphNode"},"type":"array","title":"Nodes"},"links":{"items":{"$ref":"#/components/schemas/GraphLink"},"type":"array","title":"Links"},"results":{"additionalProperties":true,"type":"object","title":"Results"},"isolation":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Isolation"}},"type":"object","title":"Graph"},"GraphAliasRequest":{"properties":{"slug":{"type":"string","maxLength":80,"title":"Slug"}},"type":"object","required":["slug"],"title":"GraphAliasRequest"},"GraphEditRequest":{"properties":{"graph":{"$ref":"#/components/schemas/Graph"},"operations":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Operations"}},"type":"object","required":["graph"],"title":"GraphEditRequest"},"GraphLink":{"properties":{"from":{"type":"string","title":"From"},"output":{"type":"string","title":"Output","default":""},"to":{"type":"string","title":"To"},"input":{"type":"string","title":"Input","default":""}},"type":"object","required":["from","to"],"title":"GraphLink"},"GraphNode":{"properties":{"id":{"type":"string","title":"Id"},"kind":{"type":"string","title":"Kind","default":"service"},"service":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Service"},"entity_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity Type"},"value":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Value"},"x":{"type":"number","title":"X","default":0},"y":{"type":"number","title":"Y","default":0},"params":{"additionalProperties":true,"type":"object","title":"Params"}},"type":"object","required":["id"],"title":"GraphNode"},"GraphReseedRequest":{"properties":{"graph_id_string":{"type":"string","maxLength":64,"minLength":4,"title":"Graph Id String"},"node_id_string":{"type":"string","maxLength":64,"minLength":1,"title":"Node Id String"},"index_int":{"type":"integer","maximum":511.0,"minimum":-1.0,"title":"Index Int","default":-1}},"type":"object","required":["graph_id_string","node_id_string"],"title":"GraphReseedRequest"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ImageRequest":{"properties":{"prompt":{"type":"string","title":"Prompt","description":"What to draw; <lora:NAME:WEIGHT> tags pick LoRAs","default":""},"prompt_edit":{"anyOf":[{"type":"string","maxLength":4000},{"type":"null"}],"title":"Prompt Edit","description":"An instruction applied to `prompt` by the text LLM before rendering (any language); alone it is the prompt"},"prompt_translate":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Prompt Translate","description":"Translate a non-English prompt to English","default":true},"system_prompt":{"anyOf":[{"type":"string","maxLength":12000},{"type":"null"}],"title":"System Prompt","description":"Used only when prompt is empty and pictures are given; {images} = image 1..N"},"image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url","description":"Reference image URL"},"image_base64":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Base64","description":"Reference image, inline"},"wait_seconds":{"anyOf":[{"type":"number","maximum":180.0,"minimum":0.0},{"type":"null"}],"title":"Wait Seconds"},"mode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mode","description":"z_depth, t_pose, open_pose or inpaint"},"negative_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Negative Prompt","description":"What to avoid"},"width":{"anyOf":[{"type":"integer","maximum":2048.0,"minimum":256.0},{"type":"null"}],"title":"Width"},"height":{"anyOf":[{"type":"integer","maximum":2048.0,"minimum":256.0},{"type":"null"}],"title":"Height"},"steps":{"anyOf":[{"type":"integer","maximum":100.0,"minimum":1.0},{"type":"null"}],"title":"Steps"},"cfg":{"anyOf":[{"type":"number","maximum":30.0,"minimum":0.0},{"type":"null"}],"title":"Cfg"},"sampler":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sampler"},"scheduler":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Scheduler"},"creativity":{"anyOf":[{"type":"number","maximum":1.0,"minimum":0.0},{"type":"null"}],"title":"Creativity"},"seed":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Seed","description":"0 or absent randomises"},"checkpoint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Checkpoint","description":"Model file from /api/ai/model-catalogue"},"lora":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lora","description":"LoRA file from /api/ai/model-catalogue"},"lora_strength":{"anyOf":[{"type":"number","maximum":2.0,"minimum":0.0},{"type":"null"}],"title":"Lora Strength"},"loras":{"anyOf":[{"type":"string"},{"items":{"anyOf":[{"type":"string"},{"additionalProperties":true,"type":"object"}]},"type":"array"},{"type":"null"}],"title":"Loras","description":"LoRA stack: [{name, strength, strength_clip}] or '<lora:NAME:W> ...'"},"lora_trigger_text":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Lora Trigger Text","description":"Extra trigger phrases of the selected LoRAs, one per line or separated by '|': put verbatim right after the automatic trigger, after the prompt edit and translation"},"clip_skip":{"anyOf":[{"type":"integer","maximum":12.0,"minimum":1.0},{"type":"null"}],"title":"Clip Skip"},"control_pose":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Control Pose","description":"Precomputed pose control-map URL"},"control_depth":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Control Depth","description":"Precomputed depth control-map URL"},"control_canny":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Control Canny","description":"Precomputed canny control-map URL"},"control_strength":{"type":"number","maximum":2.0,"minimum":0.0,"title":"Control Strength","default":0.8},"control_start":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Control Start","default":0.0},"control_end":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Control End","default":1.0},"reference_image_urls":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Reference Image Urls","description":"More pictures after image_url, in order: image 1 is image_url, image 2 the first entry here; 3 in all. Since 2026-09-26 these edits run on Qwen-Image 2.1 turbo. A video URL stands for its first frame"},"internal_pipeline":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Internal Pipeline","description":"Internal callers only (avatar build): keep the named model for an edit"}},"type":"object","title":"ImageRequest"},"ImportAssetRequest":{"properties":{"url":{"type":"string","title":"Url"}},"type":"object","required":["url"],"title":"ImportAssetRequest"},"ImportBody":{"properties":{"url":{"type":"string","maxLength":500,"title":"Url"}},"type":"object","required":["url"],"title":"ImportBody"},"LanguageUpdate":{"properties":{"language":{"anyOf":[{"type":"string","maxLength":32},{"type":"null"}],"title":"Language"},"explicit":{"type":"boolean","title":"Explicit","default":true},"ui_language":{"anyOf":[{"type":"string","maxLength":32},{"type":"null"}],"title":"Ui Language"},"browser_languages":{"anyOf":[{"items":{"type":"string"},"type":"array","maxItems":12},{"type":"null"}],"title":"Browser Languages"}},"type":"object","title":"LanguageUpdate"},"LikeResponse":{"properties":{"task_id":{"type":"string","title":"Task Id"},"like_count":{"type":"integer","title":"Like Count"},"liked_by_me":{"type":"boolean","title":"Liked By Me"}},"type":"object","required":["task_id","like_count","liked_by_me"],"title":"LikeResponse","description":"Response for like action"},"MapRequest":{"properties":{"channel":{"type":"string","pattern":"^(pose|depth|canny|normal)$","title":"Channel"},"image_url":{"type":"string","maxLength":4096,"title":"Image Url","default":""},"width":{"anyOf":[{"type":"integer","maximum":2048.0,"minimum":64.0},{"type":"null"}],"title":"Width"},"height":{"anyOf":[{"type":"integer","maximum":2048.0,"minimum":64.0},{"type":"null"}],"title":"Height"},"contrast":{"type":"number","maximum":4.0,"minimum":0.0,"title":"Contrast","default":1.0},"black":{"type":"integer","maximum":254.0,"minimum":0.0,"title":"Black","default":0},"white":{"type":"integer","maximum":255.0,"minimum":1.0,"title":"White","default":255},"gamma":{"type":"number","maximum":5.0,"minimum":0.1,"title":"Gamma","default":1.0},"blur":{"type":"number","maximum":20.0,"minimum":0.0,"title":"Blur","description":"% of the long side","default":0.0},"invert":{"type":"boolean","title":"Invert","default":false},"adjust_sig":{"type":"string","maxLength":400,"title":"Adjust Sig","default":""}},"type":"object","required":["channel"],"title":"MapRequest","description":"A ControlNet map (/api/controlnet) with the node's adjustments applied.\n\nThe adjusted map is the node's output, so what flows downstream (and what an\nAPI caller gets) is exactly what the node previews. Defaults change nothing."},"MergeRequest":{"properties":{"video_1":{"title":"Video 1"},"video_2":{"title":"Video 2"},"video_3":{"title":"Video 3"},"video_4":{"title":"Video 4"},"video_5":{"title":"Video 5"},"video_6":{"title":"Video 6"},"video_7":{"title":"Video 7"},"video_8":{"title":"Video 8"},"video_9":{"title":"Video 9"},"video_10":{"title":"Video 10"},"video_11":{"title":"Video 11"},"video_12":{"title":"Video 12"},"video_13":{"title":"Video 13"},"video_14":{"title":"Video 14"},"video_15":{"title":"Video 15"},"video_16":{"title":"Video 16"},"video_17":{"title":"Video 17"},"video_18":{"title":"Video 18"},"video_19":{"title":"Video 19"},"video_20":{"title":"Video 20"},"out_width":{"type":"integer","maximum":4096.0,"minimum":0.0,"title":"Out Width","default":0},"out_height":{"type":"integer","maximum":4096.0,"minimum":0.0,"title":"Out Height","default":0},"fps":{"type":"integer","maximum":60.0,"minimum":8.0,"title":"Fps","default":24}},"type":"object","title":"MergeRequest","description":"Merge videos (owner 2026-10-05): video_1..video_20, each a clip URL or a list of them, joined in socket order."},"ModelAddBody":{"properties":{"url":{"type":"string","maxLength":600,"title":"Url"},"base":{"type":"string","maxLength":80,"title":"Base","description":"Base model, required for Hugging Face links","default":""},"file":{"type":"string","maxLength":200,"title":"File","description":"Civitai file id, name or precision (fp8/int8); default primary","default":""},"title":{"type":"string","maxLength":120,"title":"Title","default":""},"boxes":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Boxes"},"hidden":{"type":"boolean","title":"Hidden","description":"Register but never offer it in pickers (tests)","default":false}},"type":"object","required":["url"],"title":"ModelAddBody"},"ModelRequest":{"properties":{"image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url","description":"Picture of the subject"},"image_base64":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Base64","description":"Picture, inline"},"quality":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Quality","description":"draft, standard or high"},"background_method":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Background Method","description":"auto, alpha or solid"},"prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt","description":"Text instead of a picture (the farm draws it first)"},"purpose":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Purpose","description":"concept, background, prop, hero, character"},"urgency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Urgency","description":"interactive (default) or background"},"deadline_seconds":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Deadline Seconds","description":"How long the caller can wait"}},"type":"object","title":"ModelRequest"},"MusicRequest":{"properties":{"prompt":{"anyOf":[{"type":"string","maxLength":4000},{"type":"null"}],"title":"Prompt","description":"Text idea or a finished Stable Audio prompt"},"negative":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Negative","description":"What to avoid"},"negative_prompt":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Negative Prompt","description":"Alias of negative"},"duration_s":{"anyOf":[{"type":"number","maximum":380.0,"minimum":0.0},{"type":"null"}],"title":"Duration S","description":"Clip length; 0/empty = the video's length, else 30 s"},"seed":{"anyOf":[{"type":"integer","maximum":9007199254740992.0,"minimum":0.0},{"type":"null"}],"title":"Seed"},"instrumental":{"type":"boolean","title":"Instrumental","description":"Add vocals to the negative prompt","default":true},"image_url":{"anyOf":[{"type":"string","maxLength":4096},{"type":"null"}],"title":"Image Url"},"image_base64":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Base64"},"video_url":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}],"title":"Video Url"},"media_url":{"anyOf":[{"type":"string","maxLength":4096},{"type":"null"}],"title":"Media Url","description":"Picture or clip; routed by its extension"},"system_prompt":{"anyOf":[{"type":"string","maxLength":4000},{"type":"null"}],"title":"System Prompt","description":"Instruction for the prompt writer (the node's system prompt)"},"structured":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Structured"},"reprompt":{"type":"boolean","title":"Reprompt","description":"Let the language model write the prompt","default":true},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model","description":"Vision/Text model id from /api/ai/models"},"audio_model":{"type":"string","title":"Audio Model","description":"medium (12 GB boxes) or small (music-small)","default":"medium"},"render_quality":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Render Quality","description":"preview | fast | normal | highquality"},"steps":{"anyOf":[{"type":"integer","maximum":100.0,"minimum":0.0},{"type":"null"}],"title":"Steps"},"with_video":{"type":"boolean","title":"With Video","description":"For a clip, also publish the clip with the music","default":true}},"type":"object","title":"MusicRequest"},"NamecheapRecordIn":{"properties":{"host":{"type":"string","title":"Host","description":"Subdomain label or \"@\" for root"},"record_type":{"type":"string","title":"Record Type","description":"A, AAAA, CNAME, TXT, MX","default":"A"},"address":{"type":"string","title":"Address","description":"Target IP, hostname, or TXT body"},"ttl":{"type":"string","title":"Ttl","description":"60–60000","default":"300"}},"type":"object","required":["host","address"],"title":"NamecheapRecordIn","description":"Host label without the zone (e.g. facerig → facerig.autorig.online)."},"NamecheapRemoteBody":{"properties":{"domain_name":{"type":"string","title":"Domain Name","description":"DNS zone, e.g. autorig.online","examples":["autorig.online"]},"action":{"type":"string","title":"Action","description":"get_hosts | upsert_records | replace_all_records","default":"upsert_records"},"records":{"anyOf":[{"items":{"$ref":"#/components/schemas/NamecheapRecordIn"},"type":"array"},{"type":"null"}],"title":"Records","description":"Required for upsert_records / replace_all_records"}},"type":"object","required":["domain_name"],"title":"NamecheapRemoteBody"},"PatchBody":{"properties":{"recommended_strength":{"anyOf":[{"type":"number","maximum":4.0,"minimum":-4.0},{"type":"null"}],"title":"Recommended Strength"},"boxes":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Boxes"},"trained_words":{"anyOf":[{"items":{"type":"string"},"type":"array","maxItems":50},{"type":"null"}],"title":"Trained Words"},"primary_trigger":{"anyOf":[{"type":"string","maxLength":400},{"type":"null"}],"title":"Primary Trigger"},"auto_trigger":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Auto Trigger"}},"type":"object","title":"PatchBody"},"PostRow":{"properties":{"media_url_string":{"type":"string","maxLength":4096,"minLength":8,"title":"Media Url String"},"nsfw_level_string":{"type":"string","maxLength":8,"title":"Nsfw Level String","default":"R"},"prompt_string":{"type":"string","maxLength":4000,"title":"Prompt String","default":""},"tags_array":{"items":{"type":"string"},"type":"array","maxItems":10,"title":"Tags Array"},"seed_int":{"type":"integer","maximum":9007199254740991.0,"minimum":0.0,"title":"Seed Int","default":0}},"type":"object","required":["media_url_string"],"title":"PostRow"},"PromptRow":{"properties":{"key":{"type":"string","maxLength":32,"title":"Key","default":""},"rule":{"type":"string","maxLength":64,"title":"Rule","default":""},"text":{"type":"string","maxLength":12000,"title":"Text"},"label":{"type":"string","maxLength":200,"title":"Label","default":""},"original":{"type":"string","maxLength":12000,"title":"Original","default":""}},"type":"object","required":["text"],"title":"PromptRow"},"PromptsSave":{"properties":{"rows_array":{"items":{"$ref":"#/components/schemas/PromptRow"},"type":"array","title":"Rows Array"}},"type":"object","title":"PromptsSave"},"PurchaseRequest":{"properties":{"file_indices":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"File Indices"},"all":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"All"}},"type":"object","title":"PurchaseRequest","description":"Request to purchase files"},"PurchaseResponse":{"properties":{"success":{"type":"boolean","title":"Success"},"purchased_files":{"items":{"type":"integer"},"type":"array","title":"Purchased Files"},"purchased_all":{"type":"boolean","title":"Purchased All"},"credits_remaining":{"type":"integer","title":"Credits Remaining"}},"type":"object","required":["success","purchased_files","purchased_all","credits_remaining"],"title":"PurchaseResponse","description":"Response after purchase"},"PurchaseStateResponse":{"properties":{"purchased_all":{"type":"boolean","title":"Purchased All","default":false},"purchased_files":{"items":{"type":"integer"},"type":"array","title":"Purchased Files","default":[]},"is_owner":{"type":"boolean","title":"Is Owner","default":false},"login_required":{"type":"boolean","title":"Login Required","default":false},"user_credits":{"type":"integer","title":"User Credits","default":0},"all_files_credits":{"type":"integer","title":"All Files Credits","default":10}},"type":"object","title":"PurchaseStateResponse","description":"Purchase state for a task"},"QueueStatusResponse":{"properties":{"workers":{"items":{"$ref":"#/components/schemas/WorkerQueueInfo"},"type":"array","title":"Workers"},"total_active":{"type":"integer","title":"Total Active"},"total_pending":{"type":"integer","title":"Total Pending"},"total_queue":{"type":"integer","title":"Total Queue"},"available_workers":{"type":"integer","title":"Available Workers"},"total_workers":{"type":"integer","title":"Total Workers"},"estimated_wait_seconds":{"type":"integer","title":"Estimated Wait Seconds"},"estimated_wait_formatted":{"type":"string","title":"Estimated Wait Formatted"}},"type":"object","required":["workers","total_active","total_pending","total_queue","available_workers","total_workers","estimated_wait_seconds","estimated_wait_formatted"],"title":"QueueStatusResponse","description":"Global queue status response"},"QwenImageRequest":{"properties":{"prompt":{"type":"string","maxLength":12000,"title":"Prompt","description":"What to draw, or what to change about the picture. May be empty when at least one picture is wired in (the standing instruction remixes them)","default":""},"system_prompt":{"anyOf":[{"type":"string","maxLength":12000},{"type":"null"}],"title":"System Prompt","description":"Standing instruction applied before the prompt; {images} = image 1..N"},"image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url","description":"Picture to edit, public http(s) URL"},"image_base64":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Base64","description":"Picture to edit as base64 or data URL"},"mode":{"type":"string","title":"Mode","description":"auto, generate or edit","default":"auto"},"negative_prompt":{"anyOf":[{"type":"string","maxLength":12000},{"type":"null"}],"title":"Negative Prompt"},"width":{"anyOf":[{"type":"integer","maximum":2048.0,"minimum":256.0},{"type":"null"}],"title":"Width"},"height":{"anyOf":[{"type":"integer","maximum":2048.0,"minimum":256.0},{"type":"null"}],"title":"Height"},"steps":{"anyOf":[{"type":"integer","maximum":60.0,"minimum":0.0},{"type":"null"}],"title":"Steps","description":"0 keeps the workflow's own"},"cfg":{"anyOf":[{"type":"number","maximum":30.0,"minimum":0.0},{"type":"null"}],"title":"Cfg","description":"0 keeps the workflow's own"},"seed":{"anyOf":[{"type":"integer","maximum":9007199254740991.0,"minimum":0.0},{"type":"null"}],"title":"Seed"},"checkpoint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Checkpoint","description":"Installed GGUF quantisation"},"prompt_edit":{"anyOf":[{"type":"string","maxLength":4000},{"type":"null"}],"title":"Prompt Edit","description":"An instruction applied to `prompt` by the text LLM before rendering (any language); alone it is the prompt"},"prompt_translate":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Prompt Translate","description":"Translate a non-English prompt to English","default":true},"lora":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lora","description":"Style LoRA file (catalogue); first in the stack"},"lora_strength":{"anyOf":[{"type":"number","maximum":2.0,"minimum":-2.0},{"type":"null"}],"title":"Lora Strength","description":"Weight of `lora`; empty = 1"},"loras":{"anyOf":[{"type":"string","maxLength":4000},{"type":"null"}],"title":"Loras","description":"More LoRAs as <lora:NAME:WEIGHT> tags, applied in order"},"lora_trigger_text":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Lora Trigger Text","description":"Extra trigger phrases of the selected LoRAs, one per line or separated by '|': put verbatim right after the automatic trigger, after the prompt edit and translation"},"wait_seconds":{"anyOf":[{"type":"number","maximum":180.0,"minimum":0.0},{"type":"null"}],"title":"Wait Seconds"},"reference_image_urls":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Reference Image Urls","description":"More pictures after image_url, in order (image 2, image 3); 3 in all. A video URL stands for its first frame"},"reference_strengths":{"anyOf":[{"items":{"type":"number"},"type":"array"},{"type":"null"}],"title":"Reference Strengths","description":"Per-picture influence 0..1 for image 1..3 (Qwen-Image 2.1); 1 = full"},"reference_attenuate":{"anyOf":[{"items":{"type":"boolean"},"type":"array"},{"type":"null"}],"title":"Reference Attenuate","description":"Per picture: soften this (control-map) picture by its strength"},"engine":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Engine","description":"Internal: flux3 | qwen (default)"},"engine_prompt":{"anyOf":[{"type":"string","maxLength":12000},{"type":"null"}],"title":"Engine Prompt","description":"Internal: the complete FLUX 3 text (pictures named <ref_image_0>...), used as is when engine is flux3; prompt / system_prompt stay the Qwen wording for the fallback"},"engine_drop_last":{"anyOf":[{"type":"integer","maximum":2.0,"minimum":0.0},{"type":"null"}],"title":"Engine Drop Last","description":"Internal: leave this many trailing pictures (a Qwen-era depth map) out of the FLUX 3 job"}},"type":"object","title":"QwenImageRequest"},"ReseedRequest":{"properties":{"task_id_string":{"type":"string","maxLength":64,"minLength":8,"title":"Task Id String"},"seed_int":{"anyOf":[{"type":"integer","maximum":2147483000.0,"minimum":0.0},{"type":"null"}],"title":"Seed Int"}},"type":"object","required":["task_id_string"],"title":"ReseedRequest"},"RoadmapVoteRequest":{"properties":{"choice":{"type":"string","maxLength":64,"minLength":1,"title":"Choice"}},"type":"object","required":["choice"],"title":"RoadmapVoteRequest"},"RoadmapVotesResponse":{"properties":{"counts":{"additionalProperties":{"type":"integer"},"type":"object","title":"Counts"},"choice_order":{"items":{"type":"string"},"type":"array","title":"Choice Order"},"my_choice":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"My Choice"}},"type":"object","required":["counts","choice_order"],"title":"RoadmapVotesResponse"},"SaleOfferCreate":{"properties":{"amount_usd":{"title":"Amount Usd"}},"type":"object","required":["amount_usd"],"title":"SaleOfferCreate"},"SceneAddModelRequest":{"properties":{"task_id":{"type":"string","title":"Task Id","description":"Task ID to add to scene"},"transform":{"anyOf":[{"$ref":"#/components/schemas/TransformData"},{"type":"null"}]}},"type":"object","required":["task_id"],"title":"SceneAddModelRequest","description":"Request to add a model to existing scene"},"SceneCreateRequest":{"properties":{"base_task_id":{"type":"string","title":"Base Task Id","description":"Primary task ID for the scene"},"add_task_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Add Task Id","description":"Additional task to add"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"Scene name"}},"type":"object","required":["base_task_id"],"title":"SceneCreateRequest","description":"Request to create a new scene"},"SceneModelInfo":{"properties":{"task_id":{"type":"string","title":"Task Id"},"input_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Input Url"},"glb_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Glb Url"},"transform":{"$ref":"#/components/schemas/TransformData"}},"type":"object","required":["task_id","transform"],"title":"SceneModelInfo","description":"Info about a model in a scene"},"SceneResponse":{"properties":{"scene_id":{"type":"string","title":"Scene Id"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"task_ids":{"items":{"type":"string"},"type":"array","title":"Task Ids"},"transforms":{"additionalProperties":true,"type":"object","title":"Transforms"},"hierarchy":{"additionalProperties":true,"type":"object","title":"Hierarchy"},"models":{"items":{"$ref":"#/components/schemas/SceneModelInfo"},"type":"array","title":"Models","default":[]},"is_public":{"type":"boolean","title":"Is Public","default":false},"like_count":{"type":"integer","title":"Like Count","default":0},"liked_by_me":{"type":"boolean","title":"Liked By Me","default":false},"owner_type":{"type":"string","title":"Owner Type"},"owner_id":{"type":"string","title":"Owner Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["scene_id","name","task_ids","transforms","hierarchy","owner_type","owner_id","created_at","updated_at"],"title":"SceneResponse","description":"Response with scene data"},"SceneSplitRequest":{"properties":{"video_url":{"type":"string","maxLength":4096,"minLength":8,"title":"Video Url"},"sensitivity":{"type":"number","maximum":60.0,"minimum":2.0,"title":"Sensitivity","description":"robust z a cut must reach (lower = more cuts)","default":12.0},"local_ratio":{"type":"number","maximum":50.0,"minimum":1.5,"title":"Local Ratio","description":"score / mean of the +-0.5 s neighbourhood","default":6.0},"max_frames":{"type":"integer","maximum":393.0,"minimum":9.0,"title":"Max Frames","default":97},"fps":{"type":"integer","maximum":60.0,"minimum":8.0,"title":"Fps","default":24},"min_shot_seconds":{"type":"number","maximum":10.0,"minimum":0.0,"title":"Min Shot Seconds","default":0.5},"max_shots":{"type":"integer","maximum":256.0,"minimum":1.0,"title":"Max Shots","default":128},"max_seconds":{"type":"number","maximum":1800.0,"minimum":0.0,"title":"Max Seconds","default":0.0}},"type":"object","required":["video_url"],"title":"SceneSplitRequest"},"SceneUpdateRequest":{"properties":{"transforms":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Transforms","description":"Transform data for each task"},"hierarchy":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Hierarchy","description":"Hierarchy structure"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"Scene name"},"is_public":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Public","description":"Whether scene is public"}},"type":"object","title":"SceneUpdateRequest","description":"Request to update scene transforms/hierarchy"},"SearchRequest":{"properties":{"mode":{"type":"string","title":"Mode","description":"images_popular, videos_popular, images_random, videos_random","default":"images_popular"},"count":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Count","default":3},"period":{"type":"string","title":"Period","description":"24h, week, month, year, all","default":"24h"},"nsfw":{"type":"string","title":"Nsfw","description":"none (PG), soft (PG-13), mature (R), x (X+XXX), all","default":"none"},"sort":{"type":"string","title":"Sort","description":"reactions, comments, newest (popular modes)","default":"reactions"},"seed":{"anyOf":[{"type":"integer","maximum":9007199254740991.0,"minimum":0.0},{"type":"null"}],"title":"Seed","description":"random modes: the pick"},"refresh":{"type":"boolean","title":"Refresh","description":"ignore the 10-minute cache","default":false},"unique_authors":{"type":"boolean","title":"Unique Authors","description":"at most one item per author (off = exactly the site's list)","default":true},"min_reactions":{"type":"integer","maximum":10000000.0,"minimum":0.0,"title":"Min Reactions","description":"only items with at least this many reactions","default":0}},"type":"object","title":"SearchRequest"},"SummaryRow":{"properties":{"graph_id_string":{"type":"string","maxLength":64,"title":"Graph Id String","default":""},"node_id_string":{"type":"string","maxLength":64,"title":"Node Id String","default":""},"url_string":{"type":"string","maxLength":4096,"minLength":8,"title":"Url String"},"shots_int":{"type":"integer","maximum":512.0,"minimum":0.0,"title":"Shots Int","default":0},"label_string":{"type":"string","maxLength":200,"title":"Label String","default":""},"prompt_string":{"type":"string","maxLength":1000,"title":"Prompt String","default":""}},"type":"object","required":["url_string"],"title":"SummaryRow"},"SupportChatMessagePostRequest":{"properties":{"visitor_id_string":{"type":"string","maxLength":96,"minLength":8,"title":"Visitor Id String"},"session_id_int":{"type":"integer","exclusiveMinimum":0.0,"title":"Session Id Int"},"message_text_string":{"type":"string","maxLength":4000,"minLength":1,"title":"Message Text String"}},"type":"object","required":["visitor_id_string","session_id_int","message_text_string"],"title":"SupportChatMessagePostRequest"},"SupportChatMessagePostResponse":{"properties":{"ok_bool":{"type":"boolean","title":"Ok Bool","default":true},"telegram_message_id_int":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Telegram Message Id Int"}},"type":"object","title":"SupportChatMessagePostResponse"},"SupportChatSessionPostRequest":{"properties":{"visitor_id_string":{"type":"string","maxLength":96,"minLength":8,"title":"Visitor Id String"},"page_url_string":{"anyOf":[{"type":"string","maxLength":4096},{"type":"null"}],"title":"Page Url String"},"language_string":{"anyOf":[{"type":"string","maxLength":32},{"type":"null"}],"title":"Language String"},"browser_languages_string":{"anyOf":[{"type":"string","maxLength":256},{"type":"null"}],"title":"Browser Languages String"}},"type":"object","required":["visitor_id_string"],"title":"SupportChatSessionPostRequest"},"SupportChatSessionPostResponse":{"properties":{"session_id_int":{"type":"integer","title":"Session Id Int"},"visitor_id_string":{"type":"string","title":"Visitor Id String"},"topic_ready_bool":{"type":"boolean","title":"Topic Ready Bool"},"support_enabled_bool":{"type":"boolean","title":"Support Enabled Bool"},"support_configured_bool":{"type":"boolean","title":"Support Configured Bool"},"page_url_string":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Page Url String"},"user_email_string":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Email String"},"language_string":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Language String"},"language":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Language"}},"type":"object","required":["session_id_int","visitor_id_string","topic_ready_bool","support_enabled_bool","support_configured_bool"],"title":"SupportChatSessionPostResponse"},"SwapRequest":{"properties":{"image_url":{"type":"string","title":"Image Url","description":"The reference: its look and its story"},"reference_image_urls":{"items":{"type":"string"},"type":"array","title":"Reference Image Urls","description":"The character: one or two pictures"},"prompt":{"type":"string","title":"Prompt","description":"The character's look in words (optional; needed for the photo engine)","default":""},"lora":{"type":"string","title":"Lora","description":"<lora:FILE:W> stack for the photo engine (Z-Image)","default":""},"clothing":{"type":"string","title":"Clothing","description":"reference (as the reference) or nude","default":"reference"},"engine":{"type":"string","title":"Engine","description":"auto, photo (Z-Image + LoRA + depth) or edit (Qwen canvas)","default":"auto"},"target":{"type":"number","maximum":10.0,"minimum":5.0,"title":"Target","description":"LOOK, STORY and CHARACTER must reach this","default":8.0},"attempts":{"type":"integer","maximum":8.0,"minimum":1.0,"title":"Attempts","default":5},"width":{"type":"integer","maximum":2048.0,"minimum":0.0,"title":"Width","default":0},"height":{"type":"integer","maximum":2048.0,"minimum":0.0,"title":"Height","default":0},"seed":{"type":"integer","maximum":2147483647.0,"minimum":0.0,"title":"Seed","default":0}},"type":"object","required":["image_url"],"title":"SwapRequest"},"TaskCardInfo":{"properties":{"task_id":{"type":"string","title":"Task Id"},"like_count":{"type":"integer","title":"Like Count","default":0},"liked_by_me":{"type":"boolean","title":"Liked By Me","default":false},"sales_count":{"type":"integer","title":"Sales Count","default":0},"author_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Author Email"},"author_nickname":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Author Nickname"},"author_handle":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Author Handle"},"author_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Author Name"},"author_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Author Url"},"time_ago":{"type":"string","title":"Time Ago","default":""},"version":{"type":"integer","title":"Version","default":1},"content_rating":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content Rating"}},"type":"object","required":["task_id"],"title":"TaskCardInfo","description":"Task card info (likes, sales, author) for display"},"TaskCreateResponse":{"properties":{"task_id":{"type":"string","title":"Task Id"},"status":{"type":"string","title":"Status"},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message","description":"Error detail from the creation step if any; omitted or null when creation succeeded."}},"type":"object","required":["task_id","status"],"title":"TaskCreateResponse","description":"Response after creating a task."},"TaskHistoryItem":{"properties":{"task_id":{"type":"string","title":"Task Id"},"status":{"type":"string","title":"Status"},"progress":{"type":"integer","title":"Progress"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"input_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Input Url"},"video_ready":{"type":"boolean","title":"Video Ready"},"thumbnail_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Thumbnail Url"},"content_rating":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content Rating"}},"type":"object","required":["task_id","status","progress","created_at","input_url","video_ready"],"title":"TaskHistoryItem","description":"Task item for history list"},"TaskHistoryResponse":{"properties":{"tasks":{"items":{"$ref":"#/components/schemas/TaskHistoryItem"},"type":"array","title":"Tasks"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"per_page":{"type":"integer","title":"Per Page"}},"type":"object","required":["tasks","total","page","per_page"],"title":"TaskHistoryResponse","description":"Response for task history"},"TaskStatusResponse":{"properties":{"task_id":{"type":"string","title":"Task Id"},"is_public":{"type":"boolean","title":"Is Public","default":true},"is_owner":{"type":"boolean","title":"Is Owner","default":false},"can_manage_visibility":{"type":"boolean","title":"Can Manage Visibility","default":false},"status":{"type":"string","title":"Status"},"progress":{"type":"integer","title":"Progress"},"ready_count":{"type":"integer","title":"Ready Count"},"total_count":{"type":"integer","title":"Total Count"},"output_urls":{"items":{"type":"string"},"type":"array","title":"Output Urls","default":[]},"ready_urls":{"items":{"type":"string"},"type":"array","title":"Ready Urls"},"video_ready":{"type":"boolean","title":"Video Ready"},"video_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Video Url"},"preview_status":{"type":"string","title":"Preview Status","description":"ready | pending | unavailable","default":"pending"},"preview_error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Preview Error"},"artifact_cache_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Artifact Cache Status"},"artifact_cache_file_count":{"type":"integer","title":"Artifact Cache File Count","default":0},"artifact_cache_bytes":{"type":"integer","title":"Artifact Cache Bytes","default":0},"artifact_cache_full_until":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Artifact Cache Full Until"},"artifact_cache_error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Artifact Cache Error"},"blueprint_skeleton_ready":{"type":"boolean","title":"Blueprint Skeleton Ready","default":false},"blueprint_skeleton_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Blueprint Skeleton Url"},"blueprint_rig_preview_ready":{"type":"boolean","title":"Blueprint Rig Preview Ready","default":false},"blueprint_rig_preview_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Blueprint Rig Preview Url"},"input_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Input Url"},"input_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Input Type"},"animal_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Animal Type"},"rig_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Rig Type"},"fbx_glb_output_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fbx Glb Output Url"},"fbx_glb_model_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fbx Glb Model Name"},"fbx_glb_ready":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Fbx Glb Ready"},"fbx_glb_error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fbx Glb Error"},"progress_page":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Progress Page"},"worker_api":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Worker Api","description":"Worker POST endpoint; set only for admin-authenticated requests."},"viewer_html_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Viewer Html Url"},"quick_downloads":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Quick Downloads"},"prepared_glb_ready":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Prepared Glb Ready"},"error_message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error Message"},"guid":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Guid"},"content_rating":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content Rating"},"content_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Content Score"},"content_classified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Content Classified At"},"content_classifier_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content Classifier Version"},"poster_llm_title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Poster Llm Title"},"poster_llm_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Poster Llm Description"},"poster_llm_keywords":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Poster Llm Keywords"},"poster_llm_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Poster Llm At"},"collection_guid":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Collection Guid"},"collection_title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Collection Title"},"collection_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Collection Description"},"collection_tags":{"items":{"type":"string"},"type":"array","title":"Collection Tags","default":[]},"collection_index":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Collection Index"},"collection_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Collection Size"},"collection_member_title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Collection Member Title"},"poster_free3d_query":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Poster Free3D Query"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"queue_wait_seconds":{"type":"integer","title":"Queue Wait Seconds","default":0},"processing_time_seconds":{"type":"integer","title":"Processing Time Seconds","default":0},"total_duration_seconds":{"type":"integer","title":"Total Duration Seconds","default":0},"pipeline":{"type":"string","title":"Pipeline","description":"``rig`` or ``convert``","default":"rig"},"youtube_video_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Youtube Video Id"},"youtube_upload_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Youtube Upload Status"},"rig_v2_animal_detection":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Rig V2 Animal Detection"},"viewer_theme_selection":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Viewer Theme Selection"},"viewer_environment":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Viewer Environment"},"owner_language":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Owner Language"},"owner_language_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Owner Language Code"}},"type":"object","required":["task_id","status","progress","ready_count","total_count","ready_urls","video_ready","video_url","created_at","updated_at"],"title":"TaskStatusResponse","description":"Task status and progress"},"TextJoinRequest":{"properties":{"prompt":{"type":"string","maxLength":12000,"title":"Prompt","description":"The node's own typed lead, put first","default":""},"separator":{"type":"string","maxLength":20,"title":"Separator","default":"; "},"end":{"type":"string","maxLength":4,"title":"End","default":"."}},"additionalProperties":true,"type":"object","title":"TextJoinRequest"},"TextRequest":{"properties":{"prompt":{"type":"string","title":"Prompt","description":"What to do; may be empty if `input` is given","default":""},"system_prompt":{"anyOf":[{"type":"string","maxLength":4000},{"type":"null"}],"title":"System Prompt","description":"Standing instructions sent as a separate system-role message"},"structured":{"type":"boolean","title":"Structured","description":"Ask for one JSON object {\"output_text\": …} and return only its text","default":false},"input":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Input","description":"Text the instruction applies to"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model","description":"Model id from /api/ai/models"},"max_output_tokens":{"anyOf":[{"type":"integer","minimum":-1.0},{"type":"null"}],"title":"Max Output Tokens","description":"-1 removes the output-token cap; positive values request a budget"},"wait_seconds":{"anyOf":[{"type":"number","maximum":180.0,"minimum":0.0},{"type":"null"}],"title":"Wait Seconds"}},"type":"object","title":"TextRequest"},"TransformData":{"properties":{"position":{"items":{"type":"number"},"type":"array","title":"Position","description":"XYZ position","default":[0,0,0]},"rotation":{"items":{"type":"number"},"type":"array","title":"Rotation","description":"XYZ rotation in radians","default":[0,0,0]},"scale":{"items":{"type":"number"},"type":"array","title":"Scale","description":"XYZ scale","default":[1,1,1]}},"type":"object","title":"TransformData","description":"Transform data for a model in a scene"},"Upscale2xRequest":{"properties":{"image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url","description":"Picture or clip, public http(s) URL"},"image_base64":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Base64","description":"Picture as base64 or data URL"},"video_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Video Url","description":"Clip, public http(s) URL (same as image_url with a video)"},"wait_seconds":{"anyOf":[{"type":"number","maximum":180.0,"minimum":0.0},{"type":"null"}],"title":"Wait Seconds"}},"type":"object","title":"Upscale2xRequest"},"UpscaleRequest":{"properties":{"image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url","description":"Source image, public http(s) URL"},"image_base64":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Base64","description":"Source image as base64 or data URL"},"scale":{"type":"integer","maximum":4.0,"minimum":2.0,"title":"Scale","description":"2 or 4; the output follows the source × scale","default":2},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model","description":"Installed upscale model file name"},"mode":{"type":"string","title":"Mode","description":"fast = ESRGAN only, refine = ESRGAN + tiled diffusion","default":"fast"},"prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt","description":"Subject text for the refine pass"},"width":{"anyOf":[{"type":"integer","maximum":4096.0,"minimum":64.0},{"type":"null"}],"title":"Width","description":"Explicit output width"},"height":{"anyOf":[{"type":"integer","maximum":4096.0,"minimum":64.0},{"type":"null"}],"title":"Height","description":"Explicit output height"},"wait_seconds":{"anyOf":[{"type":"number","maximum":180.0,"minimum":0.0},{"type":"null"}],"title":"Wait Seconds"}},"type":"object","title":"UpscaleRequest"},"UserInfo":{"properties":{"id":{"type":"integer","title":"Id"},"email":{"type":"string","title":"Email"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"picture":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Picture"},"balance_credits":{"type":"integer","title":"Balance Credits"},"total_tasks":{"type":"integer","title":"Total Tasks"},"youtube_bonus_received":{"type":"boolean","title":"Youtube Bonus Received"},"is_admin":{"type":"boolean","title":"Is Admin"},"email_task_completed":{"type":"boolean","title":"Email Task Completed","default":true},"subscription_active":{"type":"boolean","title":"Subscription Active","default":false},"subscription_status":{"type":"string","title":"Subscription Status","default":"none"},"subscription_plan":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Subscription Plan"},"subscription_current_period_end":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Subscription Current Period End"},"subscription_cancel_at_period_end":{"type":"boolean","title":"Subscription Cancel At Period End","default":false}},"type":"object","required":["id","email","name","picture","balance_credits","total_tasks","youtube_bonus_received","is_admin"],"title":"UserInfo","description":"Current user info"},"UserNotificationSettingsUpdate":{"properties":{"email_task_completed":{"type":"boolean","title":"Email Task Completed"}},"type":"object","required":["email_task_completed"],"title":"UserNotificationSettingsUpdate","description":"PATCH /api/user/notification-settings"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"VideoReferenceRequest":{"properties":{"video_url":{"type":"string","maxLength":2048,"minLength":1,"title":"Video Url"},"view":{"type":"string","enum":["first_frame","storyboard","contact_sheet"],"title":"View","default":"first_frame"},"frame_count":{"type":"integer","maximum":393.0,"minimum":9.0,"title":"Frame Count","default":97}},"type":"object","required":["video_url"],"title":"VideoReferenceRequest"},"VideoRequest":{"properties":{"prompt_edit":{"anyOf":[{"type":"string","maxLength":4000},{"type":"null"}],"title":"Prompt Edit","description":"An instruction applied to `prompt` by the text LLM before rendering (any language); alone it is the prompt"},"prompt_translate":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Prompt Translate","description":"Translate a non-English prompt to English","default":true},"control_video_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Control Video Url","description":"Driving MP4 for whole-sequence motion guidance"},"control_channel":{"anyOf":[{"type":"string","pattern":"^(canny|pose|depth)$"},{"type":"null"}],"title":"Control Channel"},"control_strength":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Control Strength","default":0.8},"image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url","description":"First frame, public URL"},"image_base64":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Base64","description":"First frame, inline"},"prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt","description":"What should happen in the clip"},"system_prompt":{"anyOf":[{"type":"string","maxLength":12000},{"type":"null"}],"title":"System Prompt","description":"Used only when prompt is empty"},"frame_count":{"anyOf":[{"type":"integer","maximum":400.0,"minimum":8.0},{"type":"null"}],"title":"Frame Count"},"fps":{"anyOf":[{"type":"integer","maximum":60.0,"minimum":8.0},{"type":"null"}],"title":"Fps","description":"Delivered frame rate (default 24)"},"image_url_end":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url End","description":"Last frame, public URL"},"image_base64_end":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Base64 End","description":"Last frame, inline"},"video_prefix_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Video Prefix Url","description":"Public MP4 the new video continues: its last frames start this clip (MiniMax H3)"},"video_prefix_frames":{"anyOf":[{"type":"integer","maximum":124.0,"minimum":5.0},{"type":"null"}],"title":"Video Prefix Frames","description":"How many frames of the prefix clip to anchor (17k+5 grid, default 22 = 0.9 s)"},"quality":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Quality","description":"standard or hq"},"width":{"anyOf":[{"type":"integer","maximum":2048.0,"minimum":256.0},{"type":"null"}],"title":"Width"},"height":{"anyOf":[{"type":"integer","maximum":2048.0,"minimum":256.0},{"type":"null"}],"title":"Height"},"checkpoint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Checkpoint","description":"Model file from /api/ai/model-catalogue"},"lora":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lora","description":"LoRA file from /api/ai/model-catalogue"},"lora_strength":{"anyOf":[{"type":"number","maximum":2.0,"minimum":0.0},{"type":"null"}],"title":"Lora Strength"},"loras":{"anyOf":[{"type":"string"},{"items":{"anyOf":[{"type":"string"},{"additionalProperties":true,"type":"object"}]},"type":"array"},{"type":"null"}],"title":"Loras","description":"LoRA stack: [{name, strength, strength_clip}] or '<lora:NAME:W> ...'"},"lora_trigger_text":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Lora Trigger Text","description":"Extra trigger phrases of the selected LoRAs, one per line or separated by '|': put verbatim right after the automatic trigger, after the prompt edit and translation"},"negative_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Negative Prompt","description":"What to avoid"},"steps":{"anyOf":[{"type":"integer","maximum":100.0,"minimum":1.0},{"type":"null"}],"title":"Steps"},"cfg":{"anyOf":[{"type":"number","maximum":30.0,"minimum":0.0},{"type":"null"}],"title":"Cfg"},"sampler":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sampler"},"scheduler":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Scheduler"},"creativity":{"anyOf":[{"type":"number","maximum":1.0,"minimum":0.0},{"type":"null"}],"title":"Creativity"},"seed":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Seed","description":"0 or absent randomises"}},"type":"object","title":"VideoRequest"},"VisionRequest":{"properties":{"prompt":{"type":"string","title":"Prompt","description":"Question about the image"},"image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url","description":"Public http(s) URL of the image"},"image_base64":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Base64","description":"Inline image, base64 or data URL"},"video_url":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}],"title":"Video Url","description":"Public https URL of a video to read instead of an image"},"video_mode":{"type":"string","title":"Video Mode","description":"storyboard (frames from start to end) or frame (first frame only)","default":"storyboard"},"system_prompt":{"anyOf":[{"type":"string","maxLength":4000},{"type":"null"}],"title":"System Prompt","description":"Standing instructions for the model, kept out of the answer"},"structured":{"type":"boolean","title":"Structured","description":"Ask for one JSON object {\"output_text\": …} and return only its text","default":false},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model","description":"Model id from /api/ai/models"},"max_output_tokens":{"anyOf":[{"type":"integer","minimum":-1.0},{"type":"null"}],"title":"Max Output Tokens","description":"-1 removes the output-token cap; positive values request a budget"},"wait_seconds":{"anyOf":[{"type":"number","maximum":180.0,"minimum":0.0},{"type":"null"}],"title":"Wait Seconds","description":"Hold the response until the answer is ready, up to this long"}},"type":"object","required":["prompt"],"title":"VisionRequest"},"WanImageRequest":{"properties":{"image_url":{"type":"string","title":"Image Url"},"control_video_url":{"type":"string","title":"Control Video Url"},"prompt":{"type":"string","maxLength":2000,"title":"Prompt","default":""},"character":{"type":"string","maxLength":2000,"title":"Character","default":""},"width":{"type":"integer","maximum":2048.0,"minimum":256.0,"title":"Width","default":960},"height":{"type":"integer","maximum":2048.0,"minimum":256.0,"title":"Height","default":544},"frame_count":{"type":"integer","maximum":97.0,"minimum":9.0,"title":"Frame Count","default":97},"seed":{"type":"integer","maximum":9007199254740991.0,"minimum":0.0,"title":"Seed","default":0},"control_strength":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Control Strength","default":1.0}},"type":"object","required":["image_url","control_video_url"],"title":"WanImageRequest"},"WorkerQueueInfo":{"properties":{"port":{"type":"string","title":"Port"},"available":{"type":"boolean","title":"Available"},"active":{"type":"integer","title":"Active"},"pending":{"type":"integer","title":"Pending"},"queue_size":{"type":"integer","title":"Queue Size"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"}},"type":"object","required":["port","available","active","pending","queue_size"],"title":"WorkerQueueInfo","description":"Single worker queue info"}}}}