{"openapi":"3.1.0","info":{"title":"Mocapless API","description":"\nGenerate character animation from a text prompt, retargeted onto your own\nrigged FBX.\n\nAuthenticate with a bearer token from `/v1/auth/login`, or with an API key in\nthe `X-API-Key` header. The usual flow is:\n\n1. `POST /v1/assets` - upload a rigged character (FBX, GLB, GLTF or DAE)\n2. `POST /v1/plan` - see what a prompt will produce, and what it will cost\n3. `POST /v1/generate` - spend the credits and queue the render\n4. `GET /v1/jobs/{id}/events` - stream progress, then download the outputs\n","version":"1.0.0"},"paths":{"/v1/auth/signup":{"post":{"tags":["auth"],"summary":"Signup","operationId":"signup_v1_auth_signup_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SignupRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/login":{"post":{"tags":["auth"],"summary":"Login","operationId":"login_v1_auth_login_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoginRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/me":{"get":{"tags":["auth"],"summary":"Me","operationId":"me_v1_auth_me_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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":{"$ref":"#/components/schemas/UserResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["auth"],"summary":"Delete Account","description":"Delete the account, its characters and its animations. Irreversible.","operationId":"delete_account_v1_auth_me_delete","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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/DeleteAccountRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Delete Account V1 Auth Me Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/google":{"get":{"tags":["auth"],"summary":"Google Config","description":"Whether the Google button should render, and with which client id.","operationId":"google_config_v1_auth_google_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Google Config V1 Auth Google Get"}}}}}},"post":{"tags":["auth"],"summary":"Google Sign In","description":"Sign in or sign up with a Google ID token.\n\nOne endpoint for both, because from the user's side there is no difference:\nthey press the Google button and end up signed in. Which of the three\nbranches below ran is our bookkeeping, not their concern.","operationId":"google_sign_in_v1_auth_google_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GoogleSignInRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/forgot":{"post":{"tags":["auth"],"summary":"Forgot Password","description":"Send a reset link, if that address has an account.\n\nThe response is identical either way. Telling an anonymous caller whether\nan address is registered turns this endpoint into an account-enumeration\noracle, which is worth more to an attacker than the reset itself.","operationId":"forgot_password_v1_auth_forgot_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForgotPasswordRequest"}}},"required":true},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Forgot Password V1 Auth Forgot Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/reset":{"post":{"tags":["auth"],"summary":"Reset Password","description":"Complete a reset and sign the user in on this device only.","operationId":"reset_password_v1_auth_reset_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResetPasswordRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/keys":{"get":{"tags":["auth"],"summary":"List Keys","operationId":"list_keys_v1_auth_keys_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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":{"type":"array","items":{"$ref":"#/components/schemas/ApiKeyResponse"},"title":"Response List Keys V1 Auth Keys Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["auth"],"summary":"Create Key","operationId":"create_key_v1_auth_keys_post","parameters":[{"name":"name","in":"query","required":false,"schema":{"type":"string","default":"default","title":"Name"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyCreated"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/keys/{key_id}":{"delete":{"tags":["auth"],"summary":"Revoke Key","operationId":"revoke_key_v1_auth_keys__key_id__delete","parameters":[{"name":"key_id","in":"path","required":true,"schema":{"type":"string","title":"Key Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/assets":{"post":{"tags":["assets"],"summary":"Upload","operationId":"upload_v1_assets_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_v1_assets_post"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["assets"],"summary":"List Assets","operationId":"list_assets_v1_assets_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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":{"type":"array","items":{"$ref":"#/components/schemas/AssetSummary"},"title":"Response List Assets V1 Assets Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/assets/creation":{"get":{"tags":["assets"],"summary":"Creation Options","description":"Whether characters can be created here, from what, and the price.","operationId":"creation_options_v1_assets_creation_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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":{"$ref":"#/components/schemas/CreationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/assets/generate":{"post":{"tags":["assets"],"summary":"Generate Character","description":"A character from a photo or a description. The picture (drawn first\nwhen there is none) becomes a mesh on the GPU, and the mesh gets a\nskeleton like any upload. Charged up front, refunded if it fails.","operationId":"generate_character_v1_assets_generate_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_generate_character_v1_assets_generate_post"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/assets/{asset_id}":{"get":{"tags":["assets"],"summary":"Get Asset","operationId":"get_asset_v1_assets__asset_id__get","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","title":"Asset Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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":{"$ref":"#/components/schemas/AssetResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["assets"],"summary":"Delete Asset","operationId":"delete_asset_v1_assets__asset_id__delete","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","title":"Asset Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/assets/{asset_id}/pack":{"get":{"tags":["assets"],"summary":"Get Pack","description":"The character pack of this character: whether it is unlocked, the\nmoves of its set and how each is doing, and the files once packed.","operationId":"get_pack_v1_assets__asset_id__pack_get","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","title":"Asset Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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":{"$ref":"#/components/schemas/PackStatus"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/assets/{asset_id}/remap":{"post":{"tags":["assets"],"summary":"Remap","description":"Override the automatic bone mapping.\n\nThe auto-mapper is right on standard rigs, but a bespoke skeleton with\nunusual names will need a human. Corrections are marked ``manual`` with\nfull confidence so the UI stops flagging them.","operationId":"remap_v1_assets__asset_id__remap_post","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","title":"Asset Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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/RemapRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/assets/{asset_id}/rig":{"post":{"tags":["assets"],"summary":"Rig","description":"Rebuild the skeleton of an auto-rigged character, guided by markers\nthe customer placed on the preview. The original upload is refitted by a\nworker; the character is unavailable while that runs.","operationId":"rig_v1_assets__asset_id__rig_post","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","title":"Asset Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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/RigRequest"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/assets/{asset_id}/print":{"post":{"tags":["assets"],"summary":"Print Model","description":"A 3D-printable STL of the character, posed and scaled. It comes with the\ncharacter's downloads: a paid account, or the character unlocked.","operationId":"print_model_v1_assets__asset_id__print_post","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","title":"Asset Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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/PrintRequest"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PrintStarted"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/assets/prints/{job_id}":{"get":{"tags":["assets"],"summary":"Print Report","description":"What a finished print measured: size (mm), volume (cm3), closed or not.","operationId":"print_report_v1_assets_prints__job_id__get","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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":{"type":"object","additionalProperties":true,"title":"Response Print Report V1 Assets Prints  Job Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/assets/{asset_id}/family":{"post":{"tags":["assets"],"summary":"Family","description":"The customer says what the character is - an animal read as a person,\nor the other way round. The character is read again with that as given:\na skeleton we built is rebuilt for the right body; an uploaded skeleton\nis mapped again to the right joints. Free, like the first reading.","operationId":"family_v1_assets__asset_id__family_post","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","title":"Asset Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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/FamilyRequest"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/assets/{asset_id}/bones":{"get":{"tags":["assets"],"summary":"Bones","description":"Bone names in the uploaded rig, for the remapping dropdowns.","operationId":"bones_v1_assets__asset_id__bones_get","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","title":"Asset Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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":{"type":"array","items":{"type":"string"},"title":"Response Bones V1 Assets  Asset Id  Bones Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/motions":{"get":{"tags":["generate"],"summary":"Motions","description":"The vocabulary and the engines behind it.\n\nThe primitive list is what the timeline editor and the prompt hints show;\n`engines` tells the UI whether open-vocabulary generation is available on\nthis deployment, and what it costs relative to the free path.","operationId":"motions_v1_motions_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Motions V1 Motions Get"}}}}}}},"/v1/plan":{"post":{"tags":["generate"],"summary":"Plan","description":"Turn a prompt into an editable plan, and price it. Costs nothing.\n\nSeparating planning from generation is what lets the app show the user what\nit is about to make - and what it will cost - before any credit is spent.","operationId":"plan_v1_plan_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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/PlanRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlanResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/generate/blank/price":{"get":{"tags":["generate"],"summary":"Blank Price","description":"What a hand-posed clip costs, per second, for the studio to show before it is started.","operationId":"blank_price_v1_generate_blank_price_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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":{"type":"object","additionalProperties":true,"title":"Response Blank Price V1 Generate Blank Price Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/generate/blank":{"post":{"tags":["generate"],"summary":"Blank","description":"A base clip to animate by hand: the character at rest for a few\nseconds, on which poses are then keyed. Priced by its length\n(``blank_cost``); the poses keyed on it afterwards are free.","operationId":"blank_v1_generate_blank_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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/BlankRequest"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/generate":{"post":{"tags":["generate"],"summary":"Generate","operationId":"generate_v1_generate_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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/GenerateRequest"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/jobs":{"get":{"tags":["jobs"],"summary":"List Jobs","operationId":"list_jobs_v1_jobs_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":30,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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":{"type":"array","items":{"$ref":"#/components/schemas/JobResponse"},"title":"Response List Jobs V1 Jobs Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/jobs/{job_id}":{"get":{"tags":["jobs"],"summary":"Get Job","operationId":"get_job_v1_jobs__job_id__get","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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":{"$ref":"#/components/schemas/JobResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/jobs/{job_id}/events":{"get":{"tags":["jobs"],"summary":"Job Events","description":"Server-sent progress for one job.\n\nPolling a render that takes ten seconds is wasteful and reads as laggy; one\nSSE connection gives the UI a live progress bar for free.","operationId":"job_events_v1_jobs__job_id__events_get","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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"}}}}}}},"/v1/jobs/{job_id}/rating":{"post":{"tags":["jobs"],"summary":"Rate","description":"Thumbs up or down on a finished clip, or 1 to 5 stars with what was\nwrong, with an optional note. Score 0 clears it. This is the product's\nground truth for what \"good\" means, and a low one opens a case\n(services.ratings) that is worked on until the clip is fixed.","operationId":"rate_v1_jobs__job_id__rating_post","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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/RatingRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/jobs/{job_id}/adjust":{"post":{"tags":["jobs"],"summary":"Adjust","description":"Re-export a finished clip with speed, trim, mirror, in-place, arm\nspace or overdrive applied. Costs nothing: the motion already exists and\nonly the retarget runs again.","operationId":"adjust_v1_jobs__job_id__adjust_post","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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/AdjustRequest"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/jobs/{job_id}/pose":{"post":{"tags":["jobs"],"summary":"Pose","description":"Re-export a finished clip with hands, feet or hips moved at chosen\nframes. The limbs are solved on the existing motion and the change fades\ninto the frames around each edit. Costs nothing: no model call.","operationId":"pose_v1_jobs__job_id__pose_post","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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/PoseEditRequest"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/jobs/{job_id}/share":{"post":{"tags":["jobs"],"summary":"Share","description":"Mint (or return) the public link for a finished animation.","operationId":"share_v1_jobs__job_id__share_post","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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":{"$ref":"#/components/schemas/ShareResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["jobs"],"summary":"Unshare","description":"Revoke the link. The page 404s from the next request on.","operationId":"unshare_v1_jobs__job_id__share_delete","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/jobs/{job_id}/cancel":{"post":{"tags":["jobs"],"summary":"Cancel","operationId":"cancel_v1_jobs__job_id__cancel_post","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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":{"$ref":"#/components/schemas/JobResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/billing/catalog":{"get":{"tags":["billing"],"summary":"Catalog","operationId":"catalog_v1_billing_catalog_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Catalog V1 Billing Catalog Get"}}}}}}},"/v1/billing/balance":{"get":{"tags":["billing"],"summary":"Balance","operationId":"balance_v1_billing_balance_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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":{"$ref":"#/components/schemas/BalanceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/billing/checkout":{"post":{"tags":["billing"],"summary":"Checkout","operationId":"checkout_v1_billing_checkout_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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/CheckoutRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckoutResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/billing/portal":{"post":{"tags":["billing"],"summary":"Portal","operationId":"portal_v1_billing_portal_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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":{"$ref":"#/components/schemas/CheckoutResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/showcase":{"get":{"tags":["showcase"],"summary":"Showcase","description":"Public. Empty until the showcase has been generated.","operationId":"showcase_v1_showcase_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Showcase V1 Showcase Get"}}}}}}},"/v1/share/{token}":{"get":{"tags":["share"],"summary":"Shared","operationId":"shared_v1_share__token__get","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SharedJob"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/insights":{"get":{"tags":["admin"],"summary":"Insights","description":"What people do and where they stop, over the last ``days``.","operationId":"insights_v1_admin_insights_get","parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","default":7,"title":"Days"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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":{"type":"object","additionalProperties":true,"title":"Response Insights V1 Admin Insights Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/jobs/{job_id}":{"get":{"tags":["admin"],"summary":"Review Job","description":"One customer's finished animation, to watch it: the outputs with\nsigned URLs, the prompt, what the planner told the model, the checks and\nthe customer's own verdict. Read-only; the owner sees what they got.","operationId":"review_job_v1_admin_jobs__job_id__get","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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":{"type":"object","additionalProperties":true,"title":"Response Review Job V1 Admin Jobs  Job Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/users/{user_id}/timeline":{"get":{"tags":["admin"],"summary":"User Timeline","description":"Everything one person did, oldest first.","operationId":"user_timeline_v1_admin_users__user_id__timeline_get","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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":{"type":"object","additionalProperties":true,"title":"Response User Timeline V1 Admin Users  User Id  Timeline Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/overview":{"get":{"tags":["admin"],"summary":"Overview","description":"Everything on one screen. Cached five minutes; ``?refresh=1`` re-asks every provider.","operationId":"overview_v1_admin_overview_get","parameters":[{"name":"refresh","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Refresh"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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":{"type":"object","additionalProperties":true,"title":"Response Overview V1 Admin Overview Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/cases":{"get":{"tags":["admin"],"summary":"Cases","description":"Clips rated three stars or less, or graded bad, with everything needed\nto reproduce them - what ``tools/fix_cases.py`` works through.","operationId":"cases_v1_admin_cases_get","parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","default":7,"title":"Days"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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":{"type":"object","additionalProperties":true,"title":"Response Cases V1 Admin Cases Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/fx":{"get":{"tags":["admin"],"summary":"Exchange Rates","description":"Daily reference rates (EUR base) to show every amount in USD, EUR or ILS.","operationId":"exchange_rates_v1_admin_fx_get","parameters":[{"name":"refresh","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Refresh"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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":{"type":"object","additionalProperties":true,"title":"Response Exchange Rates V1 Admin Fx Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/users":{"get":{"tags":["admin"],"summary":"Users","description":"Every account with its balance, what it spent and bought, newest first.","operationId":"users_v1_admin_users_get","parameters":[{"name":"q","in":"query","required":false,"schema":{"type":"string","default":"","title":"Q"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":200,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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":{"type":"object","additionalProperties":true,"title":"Response Users V1 Admin Users Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/users/{user_id}":{"get":{"tags":["admin"],"summary":"User Detail","description":"One account in full: balance, every ledger entry, jobs, characters, activity.","operationId":"user_detail_v1_admin_users__user_id__get","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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":{"type":"object","additionalProperties":true,"title":"Response User Detail V1 Admin Users  User Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/users/{user_id}/credits":{"post":{"tags":["admin"],"summary":"Adjust Credits","description":"Add credits (positive) or take them back (negative), with a note. The\nledger records it as a manual adjustment, with the admin's name on it.","operationId":"adjust_credits_v1_admin_users__user_id__credits_post","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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/CreditAdjustment"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Adjust Credits V1 Admin Users  User Id  Credits Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/secrets":{"get":{"tags":["admin"],"summary":"Secrets List","description":"Every managed key: where it comes from and its last four characters - never the value.","operationId":"secrets_list_v1_admin_secrets_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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":{"type":"object","additionalProperties":true,"title":"Response Secrets List V1 Admin Secrets Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/secrets/{name}":{"put":{"tags":["admin"],"summary":"Secret Save","operationId":"secret_save_v1_admin_secrets__name__put","parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string","title":"Name"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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/SecretValue"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Secret Save V1 Admin Secrets  Name  Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["admin"],"summary":"Secret Clear","operationId":"secret_clear_v1_admin_secrets__name__delete","parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string","title":"Name"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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":{"type":"object","additionalProperties":true,"title":"Response Secret Clear V1 Admin Secrets  Name  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/files/{key}":{"get":{"tags":["files"],"summary":"Download","operationId":"download_v1_files__key__get","parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string","title":"Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/events":{"post":{"tags":["events"],"summary":"Collect","operationId":"collect_v1_events_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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/EventsIn"}}}},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/games/templates":{"get":{"tags":["games"],"summary":"Templates","description":"The builder's menu: worlds, their defaults and bounds, the winning moves per body plan.","operationId":"templates_v1_games_templates_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Templates V1 Games Templates Get"}}}}}}},"/v1/games/plan":{"post":{"tags":["games"],"summary":"Plan","description":"A game spec from a sentence - the world, the collectible, the rules -\nfor the builder to show and the customer to adjust. Costs nothing.","operationId":"plan_v1_games_plan_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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/GamePlanRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Plan V1 Games Plan Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/games":{"post":{"tags":["games"],"summary":"Create","operationId":"create_v1_games_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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/GameCreateRequest"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GameResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["games"],"summary":"Mine","operationId":"mine_v1_games_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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":{"type":"array","items":{"$ref":"#/components/schemas/GameResponse"},"title":"Response Mine V1 Games Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/games/allowed":{"get":{"tags":["games"],"summary":"Allowed","description":"Whether this account may make a game now, and what that one costs.\nA free account's first game is free; after it, games need a plan.","operationId":"allowed_v1_games_allowed_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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":{"type":"object","additionalProperties":true,"title":"Response Allowed V1 Games Allowed Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/games/{game_id}/sticker":{"post":{"tags":["games"],"summary":"Sticker","description":"One move of the game's character as a transparent animated sticker (WebP for WhatsApp, WebM for Telegram). Free on a paid plan.","operationId":"sticker_v1_games__game_id__sticker_post","parameters":[{"name":"game_id","in":"path","required":true,"schema":{"type":"string","title":"Game Id"}},{"name":"state","in":"query","required":false,"schema":{"type":"string","default":"cheer","title":"State"}},{"name":"force","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Force"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/games/{game_id}/pack":{"post":{"tags":["games"],"summary":"Pack","description":"The game as an engine pack: queued (or already made), free on a paid plan; `force` makes it again.","operationId":"pack_v1_games__game_id__pack_post","parameters":[{"name":"game_id","in":"path","required":true,"schema":{"type":"string","title":"Game Id"}},{"name":"kind","in":"query","required":false,"schema":{"type":"string","default":"unity","title":"Kind"}},{"name":"force","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Force"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/games/{game_id}":{"get":{"tags":["games"],"summary":"One","operationId":"one_v1_games__game_id__get","parameters":[{"name":"game_id","in":"path","required":true,"schema":{"type":"string","title":"Game Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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":{"$ref":"#/components/schemas/GameResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["games"],"summary":"Update","description":"Edit a game: its name and its spec (the scenes, the world, the rules).\nThe clips are the character's five moves and do not change, so an edit\nis free and the link plays the new game at once.","operationId":"update_v1_games__game_id__patch","parameters":[{"name":"game_id","in":"path","required":true,"schema":{"type":"string","title":"Game Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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/GameUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GameResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["games"],"summary":"Delete","operationId":"delete_v1_games__game_id__delete","parameters":[{"name":"game_id","in":"path","required":true,"schema":{"type":"string","title":"Game Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/games/{game_id}/abilities":{"post":{"tags":["games"],"summary":"Add Ability","description":"A new ability for the game's character: its animation is made from the\nsentence (paid like any animation) and it plays on its key once made.","operationId":"add_ability_v1_games__game_id__abilities_post","parameters":[{"name":"game_id","in":"path","required":true,"schema":{"type":"string","title":"Game Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Add Ability V1 Games  Game Id  Abilities Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/games/{game_id}/abilities/{ability_id}":{"delete":{"tags":["games"],"summary":"Remove Ability","operationId":"remove_ability_v1_games__game_id__abilities__ability_id__delete","parameters":[{"name":"game_id","in":"path","required":true,"schema":{"type":"string","title":"Game Id"}},{"name":"ability_id","in":"path","required":true,"schema":{"type":"string","title":"Ability Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/games/rule":{"post":{"tags":["games"],"summary":"Rule From Sentence","description":"One rule for a scene, from a sentence; the level editor adds it to the scene's rules.","operationId":"rule_from_sentence_v1_games_rule_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Rule From Sentence V1 Games Rule Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/games/revise":{"post":{"tags":["games"],"summary":"Revise","description":"A change to a spec, asked for in a sentence. Costs nothing.","operationId":"revise_v1_games_revise_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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/GameReviseRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Revise V1 Games Revise Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/games/check":{"post":{"tags":["games"],"summary":"Check","description":"Can each scene of this spec be played and won? What the editor shows as the maker works (nothing is changed).","operationId":"check_v1_games_check_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Check V1 Games Check Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/gallery":{"get":{"tags":["games"],"summary":"Gallery","description":"Public. The games their owners put in the gallery: play any, remix any.","operationId":"gallery_v1_gallery_get","parameters":[{"name":"sort","in":"query","required":false,"schema":{"type":"string","default":"new","title":"Sort"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":24,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/GalleryItem"},"title":"Response Gallery V1 Gallery Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/play/{slug}":{"get":{"tags":["games"],"summary":"Play","operationId":"play_v1_play__slug__get","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlayableGame"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/play/{slug}/score":{"post":{"tags":["games"],"summary":"Score","description":"A finished run goes on the board; the board comes back.","operationId":"score_v1_play__slug__score_post","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScoreRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ScoreRow"},"title":"Response Score V1 Play  Slug  Score Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/play/{slug}/scores":{"get":{"tags":["games"],"summary":"Scores","operationId":"scores_v1_play__slug__scores_get","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ScoreRow"},"title":"Response Scores V1 Play  Slug  Scores Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/play/instant":{"post":{"tags":["games"],"summary":"Instant","description":"A game from a sentence, right now, on a library character: the\nfront page's first minute. No account, no charge; the sentence picks the\ncharacter (fox, horse, cow, knight, person) and the world.","operationId":"instant_v1_play_instant_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InstantRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlayableGame"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/play/{slug}/talk":{"post":{"tags":["games"],"summary":"Talk","description":"A player says something to one of the game's characters and it answers\nin character. Only when the owner switched it on for the game.","operationId":"talk_v1_play__slug__talk_post","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TalkRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TalkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/play/{slug}/played":{"post":{"tags":["games"],"summary":"Played","description":"One more play. Anonymous and cheap; the count is for the owner's pride.","operationId":"played_v1_play__slug__played_post","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/worlds/allowed":{"get":{"tags":["worlds"],"summary":"Allowed","description":"Whether this account may save and export environments (every paid plan), and what each costs.","operationId":"allowed_v1_worlds_allowed_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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":{"type":"object","additionalProperties":true,"title":"Response Allowed V1 Worlds Allowed Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/worlds":{"get":{"tags":["worlds"],"summary":"Mine","operationId":"mine_v1_worlds_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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":{"type":"array","items":{"$ref":"#/components/schemas/WorldResponse"},"title":"Response Mine V1 Worlds Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["worlds"],"summary":"Create","operationId":"create_v1_worlds_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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/WorldRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorldResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/worlds/{world_id}":{"get":{"tags":["worlds"],"summary":"One","operationId":"one_v1_worlds__world_id__get","parameters":[{"name":"world_id","in":"path","required":true,"schema":{"type":"string","title":"World Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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":{"$ref":"#/components/schemas/WorldResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["worlds"],"summary":"Update","operationId":"update_v1_worlds__world_id__patch","parameters":[{"name":"world_id","in":"path","required":true,"schema":{"type":"string","title":"World Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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/WorldRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorldResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["worlds"],"summary":"Delete","operationId":"delete_v1_worlds__world_id__delete","parameters":[{"name":"world_id","in":"path","required":true,"schema":{"type":"string","title":"World Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/worlds/{world_id}/export":{"post":{"tags":["worlds"],"summary":"Export","description":"Pay for an export of the world as it is now; the browser then makes the zip.\nThe same version again (a failed download, a second machine) costs nothing.","operationId":"export_v1_worlds__world_id__export_post","parameters":[{"name":"world_id","in":"path","required":true,"schema":{"type":"string","title":"World Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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":{"type":"object","additionalProperties":true,"title":"Response Export V1 Worlds  World Id  Export Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/films/menu":{"get":{"tags":["films"],"summary":"Menu","operationId":"menu_v1_films_menu_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Menu V1 Films Menu Get"}}}}}}},"/v1/films/plan":{"post":{"tags":["films"],"summary":"Plan","description":"The shots a sentence makes, for the maker to see and adjust. Costs nothing.","operationId":"plan_v1_films_plan_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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/FilmPlanRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Plan V1 Films Plan Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/films":{"post":{"tags":["films"],"summary":"Create","operationId":"create_v1_films_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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/FilmCreateRequest"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FilmResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["films"],"summary":"Mine","operationId":"mine_v1_films_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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":{"type":"array","items":{"$ref":"#/components/schemas/FilmResponse"},"title":"Response Mine V1 Films Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/films/{film_id}":{"get":{"tags":["films"],"summary":"One","operationId":"one_v1_films__film_id__get","parameters":[{"name":"film_id","in":"path","required":true,"schema":{"type":"string","title":"Film Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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":{"$ref":"#/components/schemas/FilmResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["films"],"summary":"Update","operationId":"update_v1_films__film_id__patch","parameters":[{"name":"film_id","in":"path","required":true,"schema":{"type":"string","title":"Film Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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/FilmUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FilmResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["films"],"summary":"Delete","operationId":"delete_v1_films__film_id__delete","parameters":[{"name":"film_id","in":"path","required":true,"schema":{"type":"string","title":"Film Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/films/{film_id}/render":{"post":{"tags":["films"],"summary":"Rerender","description":"Render again (after a runtime change, or a failed render). Free.","operationId":"rerender_v1_films__film_id__render_post","parameters":[{"name":"film_id","in":"path","required":true,"schema":{"type":"string","title":"Film Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FilmResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/film/{slug}":{"get":{"tags":["films"],"summary":"Public","description":"The film page's payload: the character and its shots for the renderer,\nthe video for everyone else. Anyone with the link.","operationId":"public_v1_film__slug__get","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicFilm"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/film/{slug}/played":{"post":{"tags":["films"],"summary":"Played","operationId":"played_v1_film__slug__played_post","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/try":{"get":{"tags":["try"],"summary":"Index","operationId":"index_v1_try_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TryIndex"}}}}}},"post":{"tags":["try"],"summary":"Make","operationId":"make_v1_try_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TryRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TryResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/try/{job_id}":{"get":{"tags":["try"],"summary":"Look","operationId":"look_v1_try__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":{"$ref":"#/components/schemas/TryResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/updates":{"get":{"tags":["updates"],"summary":"Updates","description":"The published improvements, newest first.","operationId":"updates_v1_updates_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":30,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Updates V1 Updates Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/updates":{"get":{"tags":["updates"],"summary":"Admin Updates","operationId":"admin_updates_v1_admin_updates_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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":{"type":"object","additionalProperties":true,"title":"Response Admin Updates V1 Admin Updates Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["updates"],"summary":"Admin Update Add","operationId":"admin_update_add_v1_admin_updates_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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/UpdateBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Admin Update Add V1 Admin Updates Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/updates/{update_id}":{"put":{"tags":["updates"],"summary":"Admin Update Edit","operationId":"admin_update_edit_v1_admin_updates__update_id__put","parameters":[{"name":"update_id","in":"path","required":true,"schema":{"type":"string","title":"Update Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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/UpdateBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Admin Update Edit V1 Admin Updates  Update Id  Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["updates"],"summary":"Admin Update Delete","operationId":"admin_update_delete_v1_admin_updates__update_id__delete","parameters":[{"name":"update_id","in":"path","required":true,"schema":{"type":"string","title":"Update Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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":{"type":"object","additionalProperties":true,"title":"Response Admin Update Delete V1 Admin Updates  Update Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/health":{"get":{"tags":["ops"],"summary":"Health","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Health Health Get"}}}}}}}},"components":{"schemas":{"AdjustRequest":{"properties":{"speed":{"type":"number","maximum":3.0,"minimum":0.25,"title":"Speed","default":1.0},"trimStart":{"type":"number","maximum":30.0,"minimum":0.0,"title":"Trimstart","default":0.0},"trimEnd":{"type":"number","maximum":30.0,"minimum":0.0,"title":"Trimend","default":0.0},"mirror":{"type":"boolean","title":"Mirror","default":false},"inPlace":{"type":"boolean","title":"Inplace","default":false},"armSpace":{"type":"number","maximum":60.0,"minimum":-30.0,"title":"Armspace","default":0.0},"overdrive":{"type":"number","maximum":1.6,"minimum":0.5,"title":"Overdrive","default":1.0},"formats":{"items":{"type":"string"},"type":"array","title":"Formats","default":["glb","fbx"]}},"type":"object","title":"AdjustRequest","description":"Mixamo-style knobs on a finished clip. Free: a retarget, no GPU."},"ApiKeyCreated":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"prefix":{"type":"string","title":"Prefix"},"createdAt":{"type":"string","format":"date-time","title":"Createdat"},"lastUsedAt":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Lastusedat"},"revoked":{"type":"boolean","title":"Revoked"},"key":{"type":"string","title":"Key","description":"Shown once. Store it now."}},"type":"object","required":["id","name","prefix","createdAt","lastUsedAt","revoked","key"],"title":"ApiKeyCreated"},"ApiKeyResponse":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"prefix":{"type":"string","title":"Prefix"},"createdAt":{"type":"string","format":"date-time","title":"Createdat"},"lastUsedAt":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Lastusedat"},"revoked":{"type":"boolean","title":"Revoked"}},"type":"object","required":["id","name","prefix","createdAt","lastUsedAt","revoked"],"title":"ApiKeyResponse"},"AssetResponse":{"properties":{"origin":{"type":"string","title":"Origin","default":"upload"},"prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt"},"stage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stage"},"id":{"type":"string","title":"Id"},"filename":{"type":"string","title":"Filename"},"status":{"type":"string","title":"Status"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"},"boneCount":{"type":"integer","title":"Bonecount"},"triangleCount":{"type":"integer","title":"Trianglecount"},"height":{"type":"number","title":"Height"},"coverage":{"type":"number","title":"Coverage"},"createdAt":{"type":"string","format":"date-time","title":"Createdat"},"thumbnailUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Thumbnailurl"},"warnings":{"items":{"type":"string"},"type":"array","title":"Warnings","default":[]},"matches":{"additionalProperties":{"$ref":"#/components/schemas/BoneMatch"},"type":"object","title":"Matches","default":{}},"autoRigged":{"type":"boolean","title":"Autorigged","default":false},"rigConfidence":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Rigconfidence"},"rigNotes":{"items":{"type":"string"},"type":"array","title":"Rignotes","default":[]},"skeletonCheck":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Skeletoncheck"},"mapCheck":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Mapcheck"},"hasAutomaticMap":{"type":"boolean","title":"Hasautomaticmap","default":false},"previewUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Previewurl"},"rigMarkers":{"anyOf":[{"additionalProperties":{"items":{"type":"number"},"type":"array"},"type":"object"},{"type":"null"}],"title":"Rigmarkers"},"joints":{"items":{"type":"string"},"type":"array","title":"Joints","default":[]},"family":{"type":"string","title":"Family","default":"humanoid"},"declaredFamily":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Declaredfamily"}},"type":"object","required":["id","filename","status","error","boneCount","triangleCount","height","coverage","createdAt"],"title":"AssetResponse"},"AssetSummary":{"properties":{"id":{"type":"string","title":"Id"},"filename":{"type":"string","title":"Filename"},"status":{"type":"string","title":"Status"},"boneCount":{"type":"integer","title":"Bonecount"},"coverage":{"type":"number","title":"Coverage"},"createdAt":{"type":"string","format":"date-time","title":"Createdat"},"thumbnailUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Thumbnailurl"},"autoRigged":{"type":"boolean","title":"Autorigged","default":false},"family":{"type":"string","title":"Family","default":"humanoid"},"origin":{"type":"string","title":"Origin","default":"upload"},"prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"},"stage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stage"},"unlocked":{"type":"boolean","title":"Unlocked","default":false}},"type":"object","required":["id","filename","status","boneCount","coverage","createdAt"],"title":"AssetSummary"},"BalanceResponse":{"properties":{"balance":{"type":"integer","title":"Balance"},"plan":{"type":"string","title":"Plan"},"history":{"items":{"$ref":"#/components/schemas/LedgerEntry"},"type":"array","title":"History"}},"type":"object","required":["balance","plan","history"],"title":"BalanceResponse"},"BeatModel":{"properties":{"text":{"type":"string","maxLength":240,"minLength":3,"title":"Text"},"seconds":{"type":"number","maximum":10.0,"minimum":1.0,"title":"Seconds"}},"type":"object","required":["text","seconds"],"title":"BeatModel"},"BlankRequest":{"properties":{"assetId":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Assetid"},"seconds":{"type":"number","maximum":30.0,"minimum":1.0,"title":"Seconds","default":4.0},"formats":{"items":{"type":"string"},"type":"array","title":"Formats","default":["glb","fbx"]}},"type":"object","title":"BlankRequest","description":"A quiet base clip to pose by hand: the character standing (or, for an\nanimal, resting) for a few seconds. Priced by its length."},"Body_generate_character_v1_assets_generate_post":{"properties":{"image":{"anyOf":[{"type":"string","contentMediaType":"application/octet-stream"},{"type":"null"}],"title":"Image"},"prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"quality":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Quality"}},"type":"object","title":"Body_generate_character_v1_assets_generate_post"},"Body_upload_v1_assets_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"}},"type":"object","required":["file"],"title":"Body_upload_v1_assets_post"},"BoneMatch":{"properties":{"bone":{"type":"string","title":"Bone"},"confidence":{"type":"number","title":"Confidence"},"source":{"type":"string","title":"Source"}},"type":"object","required":["bone","confidence","source"],"title":"BoneMatch"},"CheckoutRequest":{"properties":{"code":{"type":"string","title":"Code"},"assetId":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Assetid"}},"type":"object","required":["code"],"title":"CheckoutRequest"},"CheckoutResponse":{"properties":{"url":{"type":"string","title":"Url"}},"type":"object","required":["url"],"title":"CheckoutResponse"},"CreationResponse":{"properties":{"enabled":{"type":"boolean","title":"Enabled"},"image":{"type":"boolean","title":"Image"},"text":{"type":"boolean","title":"Text"},"cost":{"type":"integer","title":"Cost"},"hq":{"type":"boolean","title":"Hq","default":false},"hqCost":{"type":"integer","title":"Hqcost","default":0},"hqAllowed":{"type":"boolean","title":"Hqallowed","default":false}},"type":"object","required":["enabled","image","text","cost"],"title":"CreationResponse","description":"What this deployment can make: characters from a photo, from words, and the price."},"CreditAdjustment":{"properties":{"amount":{"type":"integer","maximum":100000.0,"minimum":-100000.0,"title":"Amount"},"note":{"type":"string","maxLength":200,"minLength":2,"title":"Note"}},"type":"object","required":["amount","note"],"title":"CreditAdjustment"},"DeleteAccountRequest":{"properties":{"password":{"type":"string","title":"Password"},"confirm":{"type":"string","title":"Confirm","description":"Must be the word \"DELETE\"."}},"type":"object","required":["password","confirm"],"title":"DeleteAccountRequest"},"EventIn":{"properties":{"name":{"type":"string","maxLength":64,"minLength":2,"title":"Name"},"props":{"additionalProperties":true,"type":"object","title":"Props"},"path":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Path"}},"type":"object","required":["name"],"title":"EventIn"},"EventsIn":{"properties":{"anon_id":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Anon Id"},"events":{"items":{"$ref":"#/components/schemas/EventIn"},"type":"array","maxItems":25,"minItems":1,"title":"Events"}},"type":"object","required":["events"],"title":"EventsIn"},"FamilyRequest":{"properties":{"family":{"type":"string","enum":["humanoid","quadruped","bird","frog"],"title":"Family"}},"type":"object","required":["family"],"title":"FamilyRequest","description":"The customer says what the character is, when we read it wrong."},"FilmCreateRequest":{"properties":{"assetId":{"type":"string","title":"Assetid"},"name":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}],"title":"Name"},"prompt":{"anyOf":[{"type":"string","maxLength":600},{"type":"null"}],"title":"Prompt"},"spec":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Spec"},"format":{"type":"string","title":"Format","default":"landscape"}},"type":"object","required":["assetId"],"title":"FilmCreateRequest"},"FilmPlanRequest":{"properties":{"prompt":{"type":"string","maxLength":600,"title":"Prompt"},"assetId":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Assetid"},"format":{"type":"string","title":"Format","default":"landscape"},"useLlm":{"type":"boolean","title":"Usellm","default":true}},"type":"object","required":["prompt"],"title":"FilmPlanRequest"},"FilmResponse":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"slug":{"type":"string","title":"Slug"},"status":{"type":"string","title":"Status"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"},"assetId":{"type":"string","title":"Assetid"},"spec":{"additionalProperties":true,"type":"object","title":"Spec","default":{}},"progress":{"additionalProperties":{"type":"string"},"type":"object","title":"Progress","default":{}},"outputs":{"additionalProperties":{"type":"string"},"type":"object","title":"Outputs","default":{}},"creditsCost":{"type":"integer","title":"Creditscost"},"plays":{"type":"integer","title":"Plays","default":0},"createdAt":{"type":"string","format":"date-time","title":"Createdat"}},"type":"object","required":["id","name","slug","status","assetId","creditsCost","createdAt"],"title":"FilmResponse"},"FilmUpdateRequest":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}],"title":"Name"}},"type":"object","title":"FilmUpdateRequest"},"ForgotPasswordRequest":{"properties":{"email":{"type":"string","format":"email","title":"Email"}},"type":"object","required":["email"],"title":"ForgotPasswordRequest"},"GalleryItem":{"properties":{"slug":{"type":"string","title":"Slug"},"name":{"type":"string","title":"Name"},"template":{"type":"string","title":"Template"},"mode":{"type":"string","title":"Mode"},"family":{"type":"string","title":"Family"},"animal":{"type":"string","title":"Animal"},"world":{"additionalProperties":true,"type":"object","title":"World"},"scenes":{"type":"integer","title":"Scenes","default":0},"plays":{"type":"integer","title":"Plays","default":0},"thumbnailUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Thumbnailurl"},"remixOf":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Remixof"},"createdAt":{"type":"string","format":"date-time","title":"Createdat"}},"type":"object","required":["slug","name","template","mode","family","animal","world","createdAt"],"title":"GalleryItem"},"GameCreateRequest":{"properties":{"assetId":{"type":"string","title":"Assetid"},"template":{"type":"string","title":"Template","default":"park"},"name":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}],"title":"Name"},"settings":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Settings"},"remixOf":{"anyOf":[{"type":"string","maxLength":24},{"type":"null"}],"title":"Remixof"}},"type":"object","required":["assetId"],"title":"GameCreateRequest"},"GamePlanRequest":{"properties":{"prompt":{"type":"string","maxLength":600,"title":"Prompt"},"assetId":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Assetid"},"useLlm":{"type":"boolean","title":"Usellm","default":true}},"type":"object","required":["prompt"],"title":"GamePlanRequest"},"GameResponse":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"template":{"type":"string","title":"Template"},"templateName":{"type":"string","title":"Templatename"},"slug":{"type":"string","title":"Slug"},"status":{"type":"string","title":"Status"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"},"assetId":{"type":"string","title":"Assetid"},"clips":{"additionalProperties":{"type":"string"},"type":"object","title":"Clips","default":{}},"creditsCost":{"type":"integer","title":"Creditscost"},"plays":{"type":"integer","title":"Plays","default":0},"settings":{"additionalProperties":true,"type":"object","title":"Settings","default":{}},"packs":{"additionalProperties":{"additionalProperties":true,"type":"object"},"type":"object","title":"Packs","default":{}},"stickers":{"additionalProperties":{"additionalProperties":true,"type":"object"},"type":"object","title":"Stickers","default":{}},"listed":{"type":"boolean","title":"Listed","default":false},"remixOf":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Remixof"},"createdAt":{"type":"string","format":"date-time","title":"Createdat"}},"type":"object","required":["id","name","template","templateName","slug","status","assetId","creditsCost","createdAt"],"title":"GameResponse"},"GameReviseRequest":{"properties":{"spec":{"additionalProperties":true,"type":"object","title":"Spec"},"instruction":{"type":"string","maxLength":600,"title":"Instruction"},"assetId":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Assetid"}},"type":"object","required":["spec","instruction"],"title":"GameReviseRequest"},"GameUpdateRequest":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}],"title":"Name"},"settings":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Settings"},"listed":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Listed"}},"type":"object","title":"GameUpdateRequest"},"GenerateRequest":{"properties":{"prompt":{"type":"string","maxLength":2000,"title":"Prompt","default":""},"assetId":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Assetid"},"fps":{"type":"integer","title":"Fps","default":30},"loop":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Loop"},"formats":{"items":{"type":"string"},"type":"array","title":"Formats","default":["glb","fbx"]},"seed":{"type":"integer","title":"Seed","default":0},"useLlm":{"type":"boolean","title":"Usellm","default":true},"engine":{"type":"string","title":"Engine","default":"auto"},"samples":{"type":"integer","maximum":4.0,"minimum":1.0,"title":"Samples","default":1},"beats":{"anyOf":[{"items":{"$ref":"#/components/schemas/BeatModel"},"type":"array","maxItems":4},{"type":"null"}],"title":"Beats"},"script":{"anyOf":[{"$ref":"#/components/schemas/ScriptModel"},{"type":"null"}]}},"type":"object","title":"GenerateRequest"},"GhostRow":{"properties":{"name":{"type":"string","title":"Name"},"score":{"type":"integer","title":"Score"},"seconds":{"type":"number","title":"Seconds","default":0.0},"path":{"items":{"items":{"type":"number"},"type":"array"},"type":"array","title":"Path"}},"type":"object","required":["name","score","path"],"title":"GhostRow"},"GoogleSignInRequest":{"properties":{"credential":{"type":"string","maxLength":4096,"title":"Credential"}},"type":"object","required":["credential"],"title":"GoogleSignInRequest"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"InstantRequest":{"properties":{"prompt":{"type":"string","maxLength":300,"title":"Prompt"}},"type":"object","required":["prompt"],"title":"InstantRequest"},"JobOutput":{"properties":{"kind":{"type":"string","title":"Kind"},"url":{"type":"string","title":"Url"},"locked":{"type":"boolean","title":"Locked","default":false}},"type":"object","required":["kind","url"],"title":"JobOutput"},"JobResponse":{"properties":{"id":{"type":"string","title":"Id"},"status":{"type":"string","title":"Status"},"stage":{"type":"string","title":"Stage"},"progress":{"type":"number","title":"Progress"},"prompt":{"type":"string","title":"Prompt"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"},"creditsCost":{"type":"integer","title":"Creditscost"},"creditsRefunded":{"type":"boolean","title":"Creditsrefunded"},"frames":{"type":"integer","title":"Frames"},"durationSeconds":{"type":"number","title":"Durationseconds"},"assetId":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Assetid"},"createdAt":{"type":"string","format":"date-time","title":"Createdat"},"finishedAt":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Finishedat"},"script":{"anyOf":[{"$ref":"#/components/schemas/ScriptModel"},{"type":"null"}]},"outputs":{"items":{"$ref":"#/components/schemas/JobOutput"},"type":"array","title":"Outputs","default":[]},"rating":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Rating"},"ratingStars":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Ratingstars"},"engine":{"type":"string","title":"Engine","default":"procedural"},"fallbackFrom":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fallbackfrom"},"variant":{"type":"string","title":"Variant","default":"generated"}},"type":"object","required":["id","status","stage","progress","prompt","error","creditsCost","creditsRefunded","frames","durationSeconds","assetId","createdAt","finishedAt"],"title":"JobResponse"},"LedgerEntry":{"properties":{"amount":{"type":"integer","title":"Amount"},"reason":{"type":"string","title":"Reason"},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note"},"createdAt":{"type":"string","format":"date-time","title":"Createdat"}},"type":"object","required":["amount","reason","note","createdAt"],"title":"LedgerEntry"},"LoginRequest":{"properties":{"email":{"type":"string","format":"email","title":"Email"},"password":{"type":"string","title":"Password"}},"type":"object","required":["email","password"],"title":"LoginRequest"},"PackMove":{"properties":{"name":{"type":"string","title":"Name"},"label":{"type":"string","title":"Label"},"jobId":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Jobid"},"status":{"type":"string","title":"Status"}},"type":"object","required":["name","label","status"],"title":"PackMove"},"PackStatus":{"properties":{"name":{"type":"string","title":"Name","default":""},"unlocked":{"type":"boolean","title":"Unlocked"},"priceDisplay":{"type":"string","title":"Pricedisplay"},"moves":{"items":{"$ref":"#/components/schemas/PackMove"},"type":"array","title":"Moves","default":[]},"packStatus":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Packstatus"},"download":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Download"}},"type":"object","required":["unlocked","priceDisplay"],"title":"PackStatus"},"PlanRequest":{"properties":{"prompt":{"type":"string","maxLength":2000,"title":"Prompt"},"fps":{"type":"integer","title":"Fps","default":30},"useLlm":{"type":"boolean","title":"Usellm","default":true},"assetId":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Assetid"},"engine":{"type":"string","title":"Engine","default":"auto"}},"type":"object","required":["prompt"],"title":"PlanRequest"},"PlanResponse":{"properties":{"script":{"$ref":"#/components/schemas/ScriptModel"},"cost":{"type":"integer","title":"Cost"},"balance":{"type":"integer","title":"Balance"},"affordable":{"type":"boolean","title":"Affordable"},"engine":{"type":"string","title":"Engine","default":"procedural"},"neuralAvailable":{"type":"boolean","title":"Neuralavailable","default":false},"notes":{"items":{"type":"string"},"type":"array","title":"Notes","default":[]}},"type":"object","required":["script","cost","balance","affordable"],"title":"PlanResponse"},"PlayableGame":{"properties":{"name":{"type":"string","title":"Name"},"template":{"type":"string","title":"Template"},"family":{"type":"string","title":"Family"},"modelUrl":{"type":"string","title":"Modelurl"},"thumbnailUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Thumbnailurl"},"clips":{"additionalProperties":{"type":"string"},"type":"object","title":"Clips"},"hipHeight":{"type":"number","title":"Hipheight","default":0.0},"height":{"type":"number","title":"Height","default":0.0},"plays":{"type":"integer","title":"Plays","default":0},"settings":{"additionalProperties":true,"type":"object","title":"Settings","default":{}},"scores":{"items":{"$ref":"#/components/schemas/ScoreRow"},"type":"array","title":"Scores","default":[]},"ghosts":{"additionalProperties":{"$ref":"#/components/schemas/GhostRow"},"type":"object","title":"Ghosts","default":{}},"listed":{"type":"boolean","title":"Listed","default":false},"remixOf":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Remixof"},"cast":{"additionalProperties":{"additionalProperties":true,"type":"object"},"type":"object","title":"Cast","default":{}}},"type":"object","required":["name","template","family","modelUrl","clips"],"title":"PlayableGame","description":"What the public runtime gets: the character's preview and one skeleton\nclip per state. No downloads, no account details."},"PoseEditItem":{"properties":{"frame":{"type":"integer","maximum":100000.0,"minimum":0.0,"title":"Frame"},"joint":{"type":"string","maxLength":32,"minLength":1,"title":"Joint"},"target":{"items":{"type":"number"},"type":"array","maxItems":3,"minItems":3,"title":"Target","default":[0.0,0.0,0.0]},"rotation":{"anyOf":[{"items":{"type":"number"},"type":"array","maxItems":4,"minItems":4},{"type":"null"}],"title":"Rotation"}},"type":"object","required":["frame","joint"],"title":"PoseEditItem"},"PoseEditRequest":{"properties":{"edits":{"items":{"$ref":"#/components/schemas/PoseEditItem"},"type":"array","maxItems":50,"minItems":1,"title":"Edits"},"falloff":{"type":"number","maximum":3.0,"minimum":0.0,"title":"Falloff","default":0.5},"mode":{"type":"string","pattern":"^(fade|hold)$","title":"Mode","default":"fade"},"formats":{"items":{"type":"string"},"type":"array","title":"Formats","default":["glb","fbx"]}},"type":"object","required":["edits"],"title":"PoseEditRequest","description":"Hands, feet or hips dragged to new places at chosen frames. Free: the\nlimbs are re-solved on the existing motion and only the retarget runs."},"PrintRequest":{"properties":{"animationId":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Animationid"},"at":{"type":"number","maximum":1.0,"minimum":0.0,"title":"At","default":0.5},"heightMm":{"type":"integer","maximum":400.0,"minimum":30.0,"title":"Heightmm","default":100},"base":{"type":"boolean","title":"Base","default":true}},"type":"object","title":"PrintRequest","description":"A 3D print of the character: posed at a moment of one of its animations (or standing as it is)."},"PrintStarted":{"properties":{"jobId":{"type":"string","title":"Jobid"}},"type":"object","required":["jobId"],"title":"PrintStarted"},"PublicFilm":{"properties":{"name":{"type":"string","title":"Name"},"slug":{"type":"string","title":"Slug"},"status":{"type":"string","title":"Status"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"},"family":{"type":"string","title":"Family"},"modelUrl":{"type":"string","title":"Modelurl"},"hipHeight":{"type":"number","title":"Hipheight","default":0.0},"height":{"type":"number","title":"Height","default":0.0},"spec":{"additionalProperties":true,"type":"object","title":"Spec","default":{}},"shots":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Shots","default":[]},"outputs":{"additionalProperties":{"type":"string"},"type":"object","title":"Outputs","default":{}},"plays":{"type":"integer","title":"Plays","default":0}},"type":"object","required":["name","slug","status","family","modelUrl"],"title":"PublicFilm","description":"The film page: the video for viewers, the character and shots for the renderer."},"RatingRequest":{"properties":{"score":{"anyOf":[{"type":"integer","maximum":1.0,"minimum":-1.0},{"type":"null"}],"title":"Score"},"stars":{"anyOf":[{"type":"integer","maximum":5.0,"minimum":1.0},{"type":"null"}],"title":"Stars"},"reasons":{"anyOf":[{"items":{"type":"string"},"type":"array","maxItems":8},{"type":"null"}],"title":"Reasons"},"note":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Note"}},"type":"object","title":"RatingRequest"},"RemapRequest":{"properties":{"matches":{"additionalProperties":{"type":"string"},"type":"object","title":"Matches","default":{}},"reset":{"type":"boolean","title":"Reset","default":false}},"type":"object","title":"RemapRequest","description":"Manual corrections: canonical joint -> bone name in the user's rig.\n``reset`` throws the hand edits away and goes back to the automatic map."},"ResetPasswordRequest":{"properties":{"token":{"type":"string","title":"Token"},"password":{"type":"string","maxLength":200,"minLength":8,"title":"Password"}},"type":"object","required":["token","password"],"title":"ResetPasswordRequest"},"RigRequest":{"properties":{"markers":{"additionalProperties":{"items":{"type":"number"},"type":"array"},"type":"object","title":"Markers"}},"type":"object","title":"RigRequest","description":"Points placed on the preview to guide auto-rigging: marker names from\nengine.autorig.MARKERS (guidance) or canonical joint names (exact\npositions, dragged into place). Positions in the preview's glTF space."},"ScoreRequest":{"properties":{"name":{"type":"string","maxLength":24,"title":"Name","default":"Anonymous"},"score":{"type":"integer","maximum":10000000.0,"minimum":0.0,"title":"Score"},"seconds":{"type":"number","maximum":100000.0,"minimum":0.0,"title":"Seconds","default":0.0},"level":{"type":"integer","maximum":8.0,"minimum":1.0,"title":"Level","default":1},"ghost":{"anyOf":[{"items":{"items":{"type":"number"},"type":"array"},"type":"array","maxItems":1200},{"type":"null"}],"title":"Ghost"}},"type":"object","required":["score"],"title":"ScoreRequest"},"ScoreRow":{"properties":{"name":{"type":"string","title":"Name"},"score":{"type":"integer","title":"Score"},"seconds":{"type":"number","title":"Seconds","default":0.0}},"type":"object","required":["name","score"],"title":"ScoreRow"},"ScriptModel":{"properties":{"segments":{"items":{"$ref":"#/components/schemas/SegmentModel"},"type":"array","title":"Segments"},"fps":{"type":"integer","title":"Fps","default":30},"loop":{"type":"boolean","title":"Loop","default":false},"source":{"type":"string","title":"Source","default":"local"},"confidence":{"type":"number","title":"Confidence","default":0.5},"notes":{"items":{"type":"string"},"type":"array","title":"Notes","default":[]},"prompt":{"type":"string","title":"Prompt","default":""},"duration":{"type":"number","title":"Duration","default":0.0},"beats":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Beats","default":[]},"family":{"type":"string","title":"Family","default":"humanoid"}},"type":"object","required":["segments"],"title":"ScriptModel"},"SecretValue":{"properties":{"value":{"type":"string","maxLength":4000,"minLength":1,"title":"Value"}},"type":"object","required":["value"],"title":"SecretValue"},"SegmentModel":{"properties":{"primitive":{"type":"string","title":"Primitive"},"seconds":{"type":"number","title":"Seconds","default":2.0},"speed":{"type":"number","title":"Speed","default":1.0},"amplitude":{"type":"number","title":"Amplitude","default":1.0},"style":{"type":"string","title":"Style","default":"neutral"},"repeats":{"type":"integer","title":"Repeats","default":1},"mirror":{"type":"boolean","title":"Mirror","default":false},"turn":{"type":"number","title":"Turn","default":0.0},"params":{"additionalProperties":true,"type":"object","title":"Params","default":{}}},"type":"object","required":["primitive"],"title":"SegmentModel"},"ShareResponse":{"properties":{"token":{"type":"string","title":"Token"},"url":{"type":"string","title":"Url"}},"type":"object","required":["token","url"],"title":"ShareResponse"},"SharedJob":{"properties":{"prompt":{"type":"string","title":"Prompt"},"frames":{"type":"integer","title":"Frames"},"durationSeconds":{"type":"number","title":"Durationseconds"},"createdAt":{"type":"string","format":"date-time","title":"Createdat"},"engine":{"type":"string","title":"Engine"},"outputs":{"items":{"$ref":"#/components/schemas/SharedOutput"},"type":"array","title":"Outputs","default":[]}},"type":"object","required":["prompt","frames","durationSeconds","createdAt","engine"],"title":"SharedJob","description":"What a stranger with the link sees - enough to watch, nothing to download."},"SharedOutput":{"properties":{"kind":{"type":"string","title":"Kind"},"url":{"type":"string","title":"Url"}},"type":"object","required":["kind","url"],"title":"SharedOutput"},"SignupRequest":{"properties":{"email":{"type":"string","format":"email","title":"Email"},"password":{"type":"string","maxLength":200,"minLength":8,"title":"Password"},"displayName":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}],"title":"Displayname"}},"type":"object","required":["email","password"],"title":"SignupRequest"},"TalkRequest":{"properties":{"scene":{"type":"integer","maximum":7.0,"minimum":0.0,"title":"Scene","default":0},"entity":{"type":"string","maxLength":40,"title":"Entity"},"message":{"type":"string","maxLength":200,"minLength":1,"title":"Message"},"history":{"items":{"$ref":"#/components/schemas/TalkTurn"},"type":"array","maxItems":6,"title":"History"},"progress":{"additionalProperties":true,"type":"object","title":"Progress"}},"type":"object","required":["entity","message"],"title":"TalkRequest"},"TalkResponse":{"properties":{"reply":{"type":"string","title":"Reply"},"source":{"type":"string","title":"Source"}},"type":"object","required":["reply","source"],"title":"TalkResponse"},"TalkTurn":{"properties":{"role":{"type":"string","pattern":"^(user|assistant)$","title":"Role"},"text":{"type":"string","maxLength":200,"title":"Text"}},"type":"object","required":["role","text"],"title":"TalkTurn"},"TokenResponse":{"properties":{"accessToken":{"type":"string","title":"Accesstoken"},"tokenType":{"type":"string","title":"Tokentype","default":"bearer"},"expiresIn":{"type":"integer","title":"Expiresin"}},"type":"object","required":["accessToken","expiresIn"],"title":"TokenResponse"},"TryAnimal":{"properties":{"key":{"type":"string","title":"Key"},"name":{"type":"string","title":"Name"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"}},"type":"object","required":["key","name"],"title":"TryAnimal"},"TryIndex":{"properties":{"animals":{"items":{"$ref":"#/components/schemas/TryAnimal"},"type":"array","title":"Animals"},"examples":{"items":{"type":"string"},"type":"array","title":"Examples"}},"type":"object","required":["animals","examples"],"title":"TryIndex"},"TryRequest":{"properties":{"prompt":{"type":"string","title":"Prompt"},"animal":{"type":"string","title":"Animal","default":"fox"},"auto":{"type":"boolean","title":"Auto","default":false}},"type":"object","required":["prompt"],"title":"TryRequest"},"TryResult":{"properties":{"id":{"type":"string","title":"Id"},"status":{"type":"string","title":"Status"},"stage":{"type":"string","title":"Stage","default":""},"progress":{"type":"number","title":"Progress","default":0.0},"prompt":{"type":"string","title":"Prompt","default":""},"animal":{"type":"string","title":"Animal","default":""},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"},"anim":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Anim"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"},"poster":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Poster"},"seconds":{"type":"number","title":"Seconds","default":0.0},"beats":{"items":{"type":"string"},"type":"array","title":"Beats","default":[]},"cached":{"type":"boolean","title":"Cached","default":false}},"type":"object","required":["id","status"],"title":"TryResult"},"UpdateBody":{"properties":{"title":{"type":"string","maxLength":160,"minLength":3,"title":"Title"},"body":{"type":"string","maxLength":4000,"title":"Body","default":""},"tag":{"anyOf":[{"type":"string","maxLength":32},{"type":"null"}],"title":"Tag"},"published":{"type":"boolean","title":"Published","default":true},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"}},"type":"object","required":["title"],"title":"UpdateBody"},"UserResponse":{"properties":{"id":{"type":"string","title":"Id"},"email":{"type":"string","title":"Email"},"displayName":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Displayname"},"createdAt":{"type":"string","format":"date-time","title":"Createdat"},"credits":{"type":"integer","title":"Credits"},"plan":{"type":"string","title":"Plan"},"isAdmin":{"type":"boolean","title":"Isadmin"},"hasPassword":{"type":"boolean","title":"Haspassword","default":true},"hasGoogle":{"type":"boolean","title":"Hasgoogle","default":false}},"type":"object","required":["id","email","displayName","createdAt","credits","plan","isAdmin"],"title":"UserResponse"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"WorldRequest":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}],"title":"Name"},"prompt":{"anyOf":[{"type":"string","maxLength":300},{"type":"null"}],"title":"Prompt"},"world":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"World"},"layout":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Layout"}},"type":"object","title":"WorldRequest"},"WorldResponse":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"prompt":{"type":"string","title":"Prompt"},"world":{"additionalProperties":true,"type":"object","title":"World"},"layout":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Layout"},"createdAt":{"type":"string","format":"date-time","title":"Createdat"},"updatedAt":{"type":"string","format":"date-time","title":"Updatedat"}},"type":"object","required":["id","name","prompt","world","layout","createdAt","updatedAt"],"title":"WorldResponse"}}}}