{"openapi":"3.1.0","info":{"title":"Noqte Media API","version":"1.0"},"paths":{"/v1/media/models":{"get":{"tags":["Media API"],"summary":"Models","operationId":"models_v1_media_models_get","parameters":[{"name":"kind","in":"query","required":false,"schema":{"anyOf":[{"enum":["image","video","music","3d"],"type":"string"},{"type":"null"}],"title":"Kind"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"MediaKey":[]}]}},"/v1/media/estimate":{"post":{"tags":["Media API"],"summary":"Estimate","operationId":"estimate_v1_media_estimate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"MediaKey":[]}]}},"/v1/media/generations":{"post":{"tags":["Media API"],"summary":"Generate","operationId":"generate_v1_media_generations_post","parameters":[{"name":"idempotency-key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":200,"title":"Idempotency-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationInput"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"MediaKey":[]}]},"get":{"tags":["Media API"],"summary":"Generations","operationId":"generations_v1_media_generations_get","parameters":[{"name":"kind","in":"query","required":false,"schema":{"anyOf":[{"enum":["image","video","music","3d"],"type":"string"},{"type":"null"}],"title":"Kind"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"enum":["pending","running","completed","failed"],"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"model_slug","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":80},{"type":"null"}],"title":"Model Slug"}},{"name":"from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"From"}},{"name":"to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"To"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":300},{"type":"null"}],"title":"Cursor"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":30,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"MediaKey":[]}]}},"/v1/media/generations/{generation_id}":{"get":{"tags":["Media API"],"summary":"Generation","operationId":"generation_v1_media_generations__generation_id__get","parameters":[{"name":"generation_id","in":"path","required":true,"schema":{"type":"string","title":"Generation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"MediaKey":[]}]}},"/v1/media/usage":{"get":{"tags":["Media API"],"summary":"Usage","operationId":"usage_v1_media_usage_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"MediaKey":[]}]}},"/v1/media/uploads":{"post":{"tags":["Media API"],"summary":"Upload","operationId":"upload_v1_media_uploads_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_v1_media_uploads_post"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"MediaKey":[]}]}}},"components":{"schemas":{"Body_upload_v1_media_uploads_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"},"model_slug":{"type":"string","maxLength":80,"title":"Model Slug"},"target_slot":{"anyOf":[{"type":"string","maxLength":80},{"type":"null"}],"title":"Target Slot"}},"type":"object","required":["file","model_slug"],"title":"Body_upload_v1_media_uploads_post"},"GenerationInput":{"properties":{"model_slug":{"type":"string","maxLength":80,"minLength":1,"pattern":"^[a-zA-Z0-9][a-zA-Z0-9._-]*$","title":"Model Slug"},"prompt":{"type":"string","maxLength":50000,"title":"Prompt"},"params":{"additionalProperties":{"type":"string"},"type":"object","maxProperties":40,"title":"Params"},"texts":{"additionalProperties":{"type":"string"},"type":"object","maxProperties":20,"title":"Texts"},"refs":{"items":{"type":"string"},"type":"array","maxItems":50,"title":"Refs","description":"Existing asset IDs, public HTTPS image URLs, or data:image/png|jpeg|webp;base64,... images. Direct images are temporary job inputs, never library uploads. Maximum 10 MiB decoded total; JSON body 16 MiB."},"ref_slots":{"additionalProperties":{"items":{"type":"string"},"type":"array"},"type":"object","maxProperties":20,"title":"Ref Slots","description":"Model input slots; each value uses the same asset ID / HTTPS image / data URI contract as refs."},"ref_roles":{"additionalProperties":{"type":"string","enum":["first","last"]},"type":"object","maxProperties":50,"title":"Ref Roles"},"max_credits":{"type":"integer","maximum":1000000000.0,"minimum":1.0,"title":"Max Credits"}},"additionalProperties":false,"type":"object","required":["model_slug","prompt","max_credits"],"title":"GenerationInput"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"MediaInput":{"properties":{"model_slug":{"type":"string","maxLength":80,"minLength":1,"pattern":"^[a-zA-Z0-9][a-zA-Z0-9._-]*$","title":"Model Slug"},"prompt":{"type":"string","maxLength":50000,"title":"Prompt"},"params":{"additionalProperties":{"type":"string"},"type":"object","maxProperties":40,"title":"Params"},"texts":{"additionalProperties":{"type":"string"},"type":"object","maxProperties":20,"title":"Texts"},"refs":{"items":{"type":"string"},"type":"array","maxItems":50,"title":"Refs","description":"Existing asset IDs, public HTTPS image URLs, or data:image/png|jpeg|webp;base64,... images. Direct images are temporary job inputs, never library uploads. Maximum 10 MiB decoded total; JSON body 16 MiB."},"ref_slots":{"additionalProperties":{"items":{"type":"string"},"type":"array"},"type":"object","maxProperties":20,"title":"Ref Slots","description":"Model input slots; each value uses the same asset ID / HTTPS image / data URI contract as refs."},"ref_roles":{"additionalProperties":{"type":"string","enum":["first","last"]},"type":"object","maxProperties":50,"title":"Ref Roles"}},"additionalProperties":false,"type":"object","required":["model_slug","prompt"],"title":"MediaInput"},"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"}},"securitySchemes":{"MediaKey":{"type":"http","scheme":"bearer","bearerFormat":"sk-media-*"}}},"servers":[{"url":"https://api.noqte.ai"}]}