{"openapi":"3.1.0","info":{"title":"CreativeMode API","description":"Modal-hosted FastAPI service for Minecraft mod generation","version":"1.0.0"},"paths":{"/health":{"get":{"summary":"Health Handler","operationId":"health_handler_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/generate/mob":{"post":{"summary":"Generate Mob Handler","operationId":"generate_mob_handler_generate_mob_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NewGenerationRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/generate/item":{"post":{"summary":"Generate Item Handler","operationId":"generate_item_handler_generate_item_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NewGenerationRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/generate/structure":{"post":{"summary":"Generate Structure Handler","operationId":"generate_structure_handler_generate_structure_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NewGenerationRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/generate/full-mod":{"post":{"summary":"Generate Full Mod Handler","operationId":"generate_full_mod_handler_generate_full_mod_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NewGenerationRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/generate/bedrock/structure":{"post":{"summary":"Generate Bedrock Structure Handler","operationId":"generate_bedrock_structure_handler_generate_bedrock_structure_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NewGenerationRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/generate/bedrock/mob":{"post":{"summary":"Generate Bedrock Mob Handler","operationId":"generate_bedrock_mob_handler_generate_bedrock_mob_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NewGenerationRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/generate/bedrock/item":{"post":{"summary":"Generate Bedrock Item Handler","operationId":"generate_bedrock_item_handler_generate_bedrock_item_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NewGenerationRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/generate/bedrock/full-mod":{"post":{"summary":"Generate Bedrock Full Mod Handler","operationId":"generate_bedrock_full_mod_handler_generate_bedrock_full_mod_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NewGenerationRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/edit":{"post":{"summary":"Edit Mod Handler","operationId":"edit_mod_handler_edit_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NewGenerationRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/remix":{"post":{"summary":"Remix Mod Handler","operationId":"remix_mod_handler_remix_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NewGenerationRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/port":{"post":{"summary":"Port Handler","operationId":"port_handler_port_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NewGenerationRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/edit/recipes":{"post":{"summary":"Edit Recipes Handler","operationId":"edit_recipes_handler_edit_recipes_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NewGenerationRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/edit/textures":{"post":{"summary":"Edit Textures Handler","operationId":"edit_textures_handler_edit_textures_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NewGenerationRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/generate/skin":{"post":{"summary":"Generate Skin Handler","operationId":"generate_skin_handler_generate_skin_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateSkinRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/generate/asset/texture":{"post":{"summary":"Generate Texture Asset Handler","operationId":"generate_texture_asset_handler_generate_asset_texture_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateStudioAssetRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/generate/asset/audio":{"post":{"summary":"Generate Audio Asset Handler","operationId":"generate_audio_asset_handler_generate_asset_audio_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateStudioAssetRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/generate/asset/model_3d":{"post":{"summary":"Generate Model 3D Asset Handler","operationId":"generate_model_3d_asset_handler_generate_asset_model_3d_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateStudioAssetRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/generate/asset/structure":{"post":{"summary":"Generate Structure Asset Handler","operationId":"generate_structure_asset_handler_generate_asset_structure_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateStudioAssetRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/arena/model-config/check":{"post":{"summary":"Check Arena Model Config Handler","description":"Start the LLMConfig capability checks the Arena admin flow gates on.\n\nSpawned rather than awaited: Modal cuts a web endpoint request off\nat 150s, and a cold worker plus three provider calls can outlast\nthat. The caller polls the companion route for the report.","operationId":"check_arena_model_config_handler_arena_model_config_check_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckArenaModelConfigRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/arena/model-config/check/{call_id}":{"get":{"summary":"Get Arena Model Config Check Handler","description":"Return a spawned check's report, or `pending` while it runs.\n\nPolled every few seconds for the life of a check, so the result read\nuses Modal's async interface rather than blocking the event loop of a\ncontainer serving other requests. `from_id` stays sync: it only\nbuilds a handle, and its `.aio` form is deprecated.","operationId":"get_arena_model_config_check_handler_arena_model_config_check__call_id__get","parameters":[{"name":"call_id","in":"path","required":true,"schema":{"type":"string","title":"Call Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"CheckArenaModelConfigRequest":{"properties":{"config":{"additionalProperties":true,"type":"object","title":"Config"}},"type":"object","required":["config"],"title":"CheckArenaModelConfigRequest","description":"A candidate `arena_model_configs.config` JSON to validate and exercise."},"DirectUploadAttachment":{"properties":{"textureKind":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Texturekind"},"baseMob":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Basemob"},"minecraftEdition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Minecraftedition"},"armorSlots":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Armorslots"},"origin":{"type":"string","const":"direct_upload","title":"Origin"},"artifactId":{"type":"string","title":"Artifactid"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"}},"additionalProperties":false,"type":"object","required":["origin","artifactId"],"title":"DirectUploadAttachment"},"GenerateSkinRequest":{"properties":{"attachmentsVersion":{"anyOf":[{"type":"integer","const":2},{"type":"null"}],"title":"Attachmentsversion"},"attachments":{"anyOf":[{"$ref":"#/components/schemas/GenerationAttachmentGroups"},{"type":"null"}]},"skin_id":{"type":"string","title":"Skin Id"},"reference_images":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Reference Images"}},"type":"object","required":["skin_id"],"title":"GenerateSkinRequest"},"GenerateStudioAssetRequest":{"properties":{"asset_id":{"type":"string","title":"Asset Id"}},"type":"object","required":["asset_id"],"title":"GenerateStudioAssetRequest"},"GenerationAttachmentGroups":{"properties":{"textureKind":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Texturekind"},"baseMob":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Basemob"},"minecraftEdition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Minecraftedition"},"armorSlots":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Armorslots"},"referenceImages":{"items":{"oneOf":[{"$ref":"#/components/schemas/DirectUploadAttachment"},{"$ref":"#/components/schemas/StudioAssetAttachment"},{"$ref":"#/components/schemas/LegacyUnknownAttachment"}],"discriminator":{"propertyName":"origin","mapping":{"direct_upload":"#/components/schemas/DirectUploadAttachment","legacy_unknown":"#/components/schemas/LegacyUnknownAttachment","studio_asset":"#/components/schemas/StudioAssetAttachment"}}},"type":"array","title":"Referenceimages"},"textureImages":{"items":{"oneOf":[{"$ref":"#/components/schemas/DirectUploadAttachment"},{"$ref":"#/components/schemas/StudioAssetAttachment"},{"$ref":"#/components/schemas/LegacyUnknownAttachment"}],"discriminator":{"propertyName":"origin","mapping":{"direct_upload":"#/components/schemas/DirectUploadAttachment","legacy_unknown":"#/components/schemas/LegacyUnknownAttachment","studio_asset":"#/components/schemas/StudioAssetAttachment"}}},"type":"array","title":"Textureimages"},"audioFiles":{"items":{"oneOf":[{"$ref":"#/components/schemas/DirectUploadAttachment"},{"$ref":"#/components/schemas/StudioAssetAttachment"},{"$ref":"#/components/schemas/LegacyUnknownAttachment"}],"discriminator":{"propertyName":"origin","mapping":{"direct_upload":"#/components/schemas/DirectUploadAttachment","legacy_unknown":"#/components/schemas/LegacyUnknownAttachment","studio_asset":"#/components/schemas/StudioAssetAttachment"}}},"type":"array","title":"Audiofiles"},"models3d":{"items":{"oneOf":[{"$ref":"#/components/schemas/DirectUploadAttachment"},{"$ref":"#/components/schemas/StudioAssetAttachment"},{"$ref":"#/components/schemas/LegacyUnknownAttachment"}],"discriminator":{"propertyName":"origin","mapping":{"direct_upload":"#/components/schemas/DirectUploadAttachment","legacy_unknown":"#/components/schemas/LegacyUnknownAttachment","studio_asset":"#/components/schemas/StudioAssetAttachment"}}},"type":"array","title":"Models3D"},"structureFiles":{"items":{"oneOf":[{"$ref":"#/components/schemas/DirectUploadAttachment"},{"$ref":"#/components/schemas/StudioAssetAttachment"},{"$ref":"#/components/schemas/LegacyUnknownAttachment"}],"discriminator":{"propertyName":"origin","mapping":{"direct_upload":"#/components/schemas/DirectUploadAttachment","legacy_unknown":"#/components/schemas/LegacyUnknownAttachment","studio_asset":"#/components/schemas/StudioAssetAttachment"}}},"type":"array","title":"Structurefiles"}},"additionalProperties":false,"type":"object","title":"GenerationAttachmentGroups"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"LegacyUnknownAttachment":{"properties":{"textureKind":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Texturekind"},"baseMob":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Basemob"},"minecraftEdition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Minecraftedition"},"armorSlots":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Armorslots"},"origin":{"type":"string","const":"legacy_unknown","title":"Origin"},"artifactId":{"type":"string","title":"Artifactid"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"}},"additionalProperties":false,"type":"object","required":["origin","artifactId"],"title":"LegacyUnknownAttachment"},"NewGenerationRequest":{"properties":{"mod_id":{"type":"string","title":"Mod Id"},"arena_candidate_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Arena Candidate Id"}},"type":"object","required":["mod_id"],"title":"NewGenerationRequest"},"StudioAssetAttachment":{"properties":{"textureKind":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Texturekind"},"baseMob":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Basemob"},"minecraftEdition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Minecraftedition"},"armorSlots":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Armorslots"},"origin":{"type":"string","const":"studio_asset","title":"Origin"},"artifactId":{"type":"string","title":"Artifactid"},"studioAssetId":{"type":"string","title":"Studioassetid"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"}},"additionalProperties":false,"type":"object","required":["origin","artifactId","studioAssetId"],"title":"StudioAssetAttachment"},"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"}}}}