{"openapi":"3.1.0","info":{"title":"Tasia Media","description":"Local image (Z-Image) and music (ACE-Step) generation.","version":"1.0.0"},"paths":{"/v1/images/generations":{"post":{"summary":"Generate an image","description":"Render a picture from a text description and attach it to the reply.\n\nDescribe the subject, setting, style and lighting. Roughly 30-60 seconds.\n\nThe picture is shown to the user directly. You can see it, so do not\ndescribe, caption or comment on it - the user already can. Just confirm in\none short sentence that the image was generated.","operationId":"generate_image","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImageRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"string","title":"Response Generate Image"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/music/generations":{"post":{"summary":"Generate a song","description":"Compose a song from a text description and return a link to it.\n\nThe description should name genre, mood, instrumentation and tempo, e.g.\n\"upbeat synthwave, driving bass, neon arcade mood\". Duration is in\nseconds; expect roughly 40-130 seconds.\n\nReturns a playable link. Do not describe or comment on the track you just\nmade - just confirm in one short sentence that it was generated.","operationId":"generate_music","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MusicRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"string","title":"Response Generate Music"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/status":{"get":{"summary":"Backend status","description":"Report whether the image and music backends are online, with GPU and\nRAM headroom. Use this to explain a failure or a slow generation.","operationId":"system_status","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"string","title":"Response System Status"}}}}}}}},"components":{"schemas":{"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ImageRequest":{"properties":{"prompt":{"type":"string","title":"Prompt","description":"What the image should show: subject, setting, style, lighting."},"negative_prompt":{"type":"string","title":"Negative Prompt","description":"What to avoid.","default":""},"width":{"type":"integer","maximum":1536.0,"minimum":256.0,"title":"Width","default":768},"height":{"type":"integer","maximum":1536.0,"minimum":256.0,"title":"Height","default":768},"steps":{"type":"integer","maximum":20.0,"minimum":1.0,"title":"Steps","default":8},"seed":{"type":"integer","title":"Seed","description":"-1 for a random seed.","default":-1}},"type":"object","required":["prompt"],"title":"ImageRequest"},"MusicRequest":{"properties":{"description":{"type":"string","title":"Description","description":"Genre, mood, instrumentation and tempo, e.g. 'upbeat synthwave, driving bass, neon arcade mood'."},"lyrics":{"type":"string","title":"Lyrics","description":"Lyrics to sing when instrumental is false.","default":""},"instrumental":{"type":"boolean","title":"Instrumental","description":"True for a track with no vocals.","default":true},"duration_seconds":{"type":"number","maximum":240.0,"minimum":5.0,"title":"Duration Seconds","default":30.0},"bpm":{"type":"integer","maximum":300.0,"minimum":0.0,"title":"Bpm","description":"0 for no preference.","default":0},"musical_key":{"type":"string","title":"Musical Key","description":"e.g. 'A Minor'. Empty for no preference.","default":""}},"type":"object","required":["description"],"title":"MusicRequest"},"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"}}}}