{"openapi":"3.1.0","info":{"title":"NovelAI Agent Bridge","description":"Private agent-facing image API. Every generation or image transformation requires a human_request_id. Advanced parameters pass through according to NovelAI's official image API schema.","version":"1.0.0"},"paths":{"/health":{"get":{"tags":["service"],"summary":"Health","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Health Health Get"}}}}}}},"/v1/capabilities":{"get":{"tags":["service"],"summary":"Capabilities","operationId":"capabilities_v1_capabilities_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Capabilities V1 Capabilities Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/settings":{"get":{"tags":["settings"],"summary":"Get Settings","operationId":"get_settings_v1_settings_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Settings V1 Settings Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/settings/nai-token":{"put":{"tags":["settings"],"summary":"Put Token","operationId":"put_token_v1_settings_nai_token_put","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenSetting"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"boolean"},"title":"Response Put Token V1 Settings Nai Token Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["settings"],"summary":"Delete Token","operationId":"delete_token_v1_settings_nai_token_delete","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"boolean"},"title":"Response Delete Token V1 Settings Nai Token Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/settings/default-model":{"put":{"tags":["settings"],"summary":"Put Model","operationId":"put_model_v1_settings_default_model_put","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModelSetting"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"},"title":"Response Put Model V1 Settings Default Model Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/provider-spec":{"get":{"tags":["service"],"summary":"Provider Schema","operationId":"provider_schema_v1_provider_spec_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Provider Schema V1 Provider Spec Get"}}}}}}},"/v1/images/generate":{"post":{"tags":["images"],"summary":"Generate","operationId":"generate_v1_images_generate_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Generate V1 Images Generate Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/images/generate/stream":{"post":{"tags":["images"],"summary":"Generate Stream","operationId":"generate_stream_v1_images_generate_stream_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/images/upscale":{"post":{"tags":["images"],"summary":"Upscale","operationId":"upscale_v1_images_upscale_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpscaleRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Upscale V1 Images Upscale Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/images/augment":{"post":{"tags":["images"],"summary":"Augment","operationId":"augment_v1_images_augment_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AugmentRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Augment V1 Images Augment Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/images/encode-vibe":{"post":{"tags":["images"],"summary":"Encode Vibe","operationId":"encode_vibe_v1_images_encode_vibe_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VibeRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Encode Vibe V1 Images Encode Vibe Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/tags/suggest":{"get":{"tags":["tags"],"summary":"Suggest Tags","operationId":"suggest_tags_v1_tags_suggest_get","parameters":[{"name":"model","in":"query","required":true,"schema":{"type":"string","minLength":1,"title":"Model"}},{"name":"prompt","in":"query","required":true,"schema":{"type":"string","minLength":1,"title":"Prompt"}},{"name":"lang","in":"query","required":false,"schema":{"enum":["en","jp"],"type":"string","default":"en","title":"Lang"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Suggest Tags V1 Tags Suggest Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/artifacts":{"get":{"tags":["artifacts"],"summary":"Artifacts","operationId":"artifacts_v1_artifacts_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Artifacts V1 Artifacts Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/artifacts/{artifact_id}":{"get":{"tags":["artifacts"],"summary":"Artifact","operationId":"artifact_v1_artifacts__artifact_id__get","parameters":[{"name":"artifact_id","in":"path","required":true,"schema":{"type":"string","title":"Artifact Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"AugmentRequest":{"properties":{"human_request_id":{"type":"string","minLength":1,"title":"Human Request Id"},"image":{"type":"string","minLength":1,"title":"Image","description":"Base64 encoded image."},"req_type":{"type":"string","minLength":1,"title":"Req Type","description":"NovelAI Director Tools operation type."},"width":{"type":"integer","exclusiveMinimum":0.0,"title":"Width"},"height":{"type":"integer","exclusiveMinimum":0.0,"title":"Height"},"prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt"},"defry":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Defry"}},"additionalProperties":true,"type":"object","required":["human_request_id","image","req_type","width","height"],"title":"AugmentRequest"},"GenerateRequest":{"properties":{"human_request_id":{"type":"string","minLength":1,"title":"Human Request Id","description":"Identifier of the human request that initiated this generation."},"input":{"type":"string","minLength":1,"title":"Input","description":"NovelAI image prompt."},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model","description":"NovelAI API model ID; can fall back to configured default_model."},"action":{"type":"string","title":"Action","description":"NovelAI action, for example generate or img2img.","default":"generate"},"parameters":{"additionalProperties":true,"type":"object","title":"Parameters","description":"NovelAI RequestParameters, passed through to the official API."},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url","description":"Optional NovelAI URL field."}},"type":"object","required":["human_request_id","input"],"title":"GenerateRequest"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ModelSetting":{"properties":{"model_id":{"type":"string","title":"Model Id"}},"type":"object","required":["model_id"],"title":"ModelSetting"},"TokenSetting":{"properties":{"token":{"type":"string","format":"password","title":"Token","writeOnly":true}},"type":"object","required":["token"],"title":"TokenSetting"},"UpscaleRequest":{"properties":{"human_request_id":{"type":"string","minLength":1,"title":"Human Request Id"},"model":{"type":"string","minLength":1,"title":"Model"},"image":{"type":"string","minLength":1,"title":"Image","description":"Base64 encoded image, as specified by NovelAI."},"declared_blur_sigma":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Declared Blur Sigma"}},"additionalProperties":true,"type":"object","required":["human_request_id","model","image"],"title":"UpscaleRequest"},"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"},"VibeRequest":{"properties":{"model":{"type":"string","minLength":1,"title":"Model"},"image":{"type":"string","minLength":1,"title":"Image","description":"Base64 encoded image."},"information_extracted":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Information Extracted"},"mask":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mask"},"crop_to_mask":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Crop To Mask"},"focus_seed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Focus Seed"},"info_extract_seed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Info Extract Seed"}},"additionalProperties":true,"type":"object","required":["model","image"],"title":"VibeRequest"}}}}