{"catalog_version":"5bcda7746deb904b","endpoints":[{"slug":"illustrious","name":"Illustrious","description":null,"endpoint_key":"workflow.illustrious","method":"POST","path":"/api/v1/image/illustrious","scope":"generate:image","schema_version":"bf3e7dafcf6df927","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","required":["inputs"],"properties":{"inputs":{"type":"object","properties":{"seed":{"type":"integer","minimum":0,"maximum":4294967295,"description":"Random when omitted. Send the seed a job reported to get the same image again."},"width":{"type":"integer","minimum":256,"maximum":2048,"default":1024},"height":{"type":"integer","minimum":256,"maximum":2048,"default":1280},"faceImage":{"type":"string","format":"uuid","x-media-type":"image","x-media-ref":"media_id","description":"MediaId of the face to be used in the image"},"negativePrompt":{"type":"string"},"positivePrompt":{"type":"string"}},"required":["positivePrompt"],"additionalProperties":false},"webhook_url":{"type":"string","format":"uri"}},"components":{"schemas":{"PhantomMedia":{"type":"object","description":"A generated artifact. `media_id` is the durable handle to store and pass into later calls; `url` is presigned and stops working at `url_expires_at`. A deleted or expired artifact keeps its id and reports why under `status`, with `url` null. A stubbed endpoint answers with an external link: `media_id` null, `status` ready, `url` served as pasted with no expiry, and `size_bytes` null.","required":["media_id","status","kind","url"],"properties":{"media_id":{"type":["string","null"],"format":"uuid"},"status":{"type":"string","enum":["ready","deleted","expired"]},"kind":{"type":"string","enum":["image","video","audio"]},"model":{"type":["string","null"],"description":"The model that generated the artifact, as the id a template call selects it by (`phantom/<slug>` for a GPU workflow, otherwise the upstream model id). Null for an upload."},"content_type":{"type":["string","null"]},"size_bytes":{"type":["integer","null"]},"duration_seconds":{"type":["number","null"],"minimum":0,"description":"Playback duration in seconds; null when unknown or not applicable."},"filename":{"type":["string","null"]},"job_id":{"type":["string","null"],"format":"uuid"},"created_at":{"type":"string","format":"date-time"},"expires_at":{"type":["string","null"],"format":"date-time"},"url":{"type":["string","null"],"format":"uri"},"url_expires_at":{"type":["string","null"],"format":"date-time"}},"if":{"properties":{"status":{"const":"ready"}}},"then":{"required":["model"]}}}},"x-outputs":{"image":{"$ref":"#/components/schemas/PhantomMedia","x-media-type":"image"}}},"response_fields":["created_at","completed_at","moderation"]},{"slug":"krea-klams-realistic","name":"KREA KLams Realistic","description":null,"endpoint_key":"workflow.krea-klams-realistic","method":"POST","path":"/api/v1/image/krea-klams-realistic","scope":"generate:image","schema_version":"6f1fe4a26c95ee15","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","required":["inputs"],"properties":{"inputs":{"type":"object","properties":{"seed":{"type":"integer","minimum":0,"maximum":4294967295,"description":"Random when omitted. Send the seed a job reported to get the same image again."},"width":{"type":"integer","minimum":256,"maximum":2048,"default":1024},"height":{"type":"integer","minimum":256,"maximum":2048,"default":1024},"faceImage":{"type":"string","format":"uuid","x-media-type":"image","x-media-ref":"media_id","description":"MediaId of the face to be used in the image"},"negativePrompt":{"type":"string"},"positivePrompt":{"type":"string"}},"required":["positivePrompt"],"additionalProperties":false},"webhook_url":{"type":"string","format":"uri"}},"components":{"schemas":{"PhantomMedia":{"type":"object","description":"A generated artifact. `media_id` is the durable handle to store and pass into later calls; `url` is presigned and stops working at `url_expires_at`. A deleted or expired artifact keeps its id and reports why under `status`, with `url` null. A stubbed endpoint answers with an external link: `media_id` null, `status` ready, `url` served as pasted with no expiry, and `size_bytes` null.","required":["media_id","status","kind","url"],"properties":{"media_id":{"type":["string","null"],"format":"uuid"},"status":{"type":"string","enum":["ready","deleted","expired"]},"kind":{"type":"string","enum":["image","video","audio"]},"model":{"type":["string","null"],"description":"The model that generated the artifact, as the id a template call selects it by (`phantom/<slug>` for a GPU workflow, otherwise the upstream model id). Null for an upload."},"content_type":{"type":["string","null"]},"size_bytes":{"type":["integer","null"]},"duration_seconds":{"type":["number","null"],"minimum":0,"description":"Playback duration in seconds; null when unknown or not applicable."},"filename":{"type":["string","null"]},"job_id":{"type":["string","null"],"format":"uuid"},"created_at":{"type":"string","format":"date-time"},"expires_at":{"type":["string","null"],"format":"date-time"},"url":{"type":["string","null"],"format":"uri"},"url_expires_at":{"type":["string","null"],"format":"date-time"}},"if":{"properties":{"status":{"const":"ready"}}},"then":{"required":["model"]}}}},"x-outputs":{"image":{"$ref":"#/components/schemas/PhantomMedia","x-media-type":"image"}}},"response_fields":["created_at","completed_at","moderation"]},{"slug":"ltx23-i2v","name":"LTX 2.3 image to video","description":null,"endpoint_key":"workflow.ltx23-i2v","method":"POST","path":"/api/v1/video/ltx23-i2v","scope":"generate:image","schema_version":"5f011b9646811441","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","required":["inputs"],"properties":{"inputs":{"type":"object","properties":{"seed":{"type":"integer","description":"-1 picks one at random"},"image":{"type":"string","format":"uuid","x-media-type":"image","x-media-ref":"media_id","description":"The first frame"},"prompt":{"type":"string","description":"What happens in the clip, and what is said"},"duration":{"type":"number","minimum":1,"maximum":15,"description":"Length in seconds","default":5}},"required":["image","prompt"],"additionalProperties":false},"webhook_url":{"type":"string","format":"uri"}},"components":{"schemas":{"PhantomMedia":{"type":"object","description":"A generated artifact. `media_id` is the durable handle to store and pass into later calls; `url` is presigned and stops working at `url_expires_at`. A deleted or expired artifact keeps its id and reports why under `status`, with `url` null. A stubbed endpoint answers with an external link: `media_id` null, `status` ready, `url` served as pasted with no expiry, and `size_bytes` null.","required":["media_id","status","kind","url"],"properties":{"media_id":{"type":["string","null"],"format":"uuid"},"status":{"type":"string","enum":["ready","deleted","expired"]},"kind":{"type":"string","enum":["image","video","audio"]},"model":{"type":["string","null"],"description":"The model that generated the artifact, as the id a template call selects it by (`phantom/<slug>` for a GPU workflow, otherwise the upstream model id). Null for an upload."},"content_type":{"type":["string","null"]},"size_bytes":{"type":["integer","null"]},"duration_seconds":{"type":["number","null"],"minimum":0,"description":"Playback duration in seconds; null when unknown or not applicable."},"filename":{"type":["string","null"]},"job_id":{"type":["string","null"],"format":"uuid"},"created_at":{"type":"string","format":"date-time"},"expires_at":{"type":["string","null"],"format":"date-time"},"url":{"type":["string","null"],"format":"uri"},"url_expires_at":{"type":["string","null"],"format":"date-time"}},"if":{"properties":{"status":{"const":"ready"}}},"then":{"required":["model"]}}}},"x-outputs":{"video":{"$ref":"#/components/schemas/PhantomMedia","x-media-type":"video","description":"An mp4 with audio"}}},"response_fields":["created_at","completed_at","moderation"]},{"slug":"minimax-h3-i2v","name":"MiniMax H3 image to video","description":"Image to video: animates a still image into a short video clip, with an optional last frame.","endpoint_key":"workflow.minimax-h3-i2v","method":"POST","path":"/api/v1/video/minimax-h3-i2v","scope":"generate:image","schema_version":"77fb2c9575f0573a","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","required":["inputs"],"properties":{"inputs":{"type":"object","properties":{"seed":{"type":"integer","minimum":0,"maximum":4294967295,"description":"Omit it for a new random seed on every call"},"image":{"type":"string","format":"uuid","x-media-type":"image","x-media-ref":"media_id","description":"The first frame"},"duration":{"type":"integer","minimum":5,"maximum":15,"description":"Clip length in seconds","default":5},"lastFrame":{"type":"string","format":"uuid","x-media-type":"image","x-media-ref":"media_id","description":"The last frame (optional)"},"positivePrompt":{"type":"string","description":"What happens in the clip"}},"required":["image","positivePrompt"],"additionalProperties":false},"webhook_url":{"type":"string","format":"uri"}},"components":{"schemas":{"PhantomMedia":{"type":"object","description":"A generated artifact. `media_id` is the durable handle to store and pass into later calls; `url` is presigned and stops working at `url_expires_at`. A deleted or expired artifact keeps its id and reports why under `status`, with `url` null. A stubbed endpoint answers with an external link: `media_id` null, `status` ready, `url` served as pasted with no expiry, and `size_bytes` null.","required":["media_id","status","kind","url"],"properties":{"media_id":{"type":["string","null"],"format":"uuid"},"status":{"type":"string","enum":["ready","deleted","expired"]},"kind":{"type":"string","enum":["image","video","audio"]},"model":{"type":["string","null"],"description":"The model that generated the artifact, as the id a template call selects it by (`phantom/<slug>` for a GPU workflow, otherwise the upstream model id). Null for an upload."},"content_type":{"type":["string","null"]},"size_bytes":{"type":["integer","null"]},"duration_seconds":{"type":["number","null"],"minimum":0,"description":"Playback duration in seconds; null when unknown or not applicable."},"filename":{"type":["string","null"]},"job_id":{"type":["string","null"],"format":"uuid"},"created_at":{"type":"string","format":"date-time"},"expires_at":{"type":["string","null"],"format":"date-time"},"url":{"type":["string","null"],"format":"uri"},"url_expires_at":{"type":["string","null"],"format":"date-time"}},"if":{"properties":{"status":{"const":"ready"}}},"then":{"required":["model"]}}}},"x-outputs":{"video":{"$ref":"#/components/schemas/PhantomMedia","x-media-type":"video","description":"An mp4 with audio"}}},"response_fields":["created_at","completed_at","moderation"]},{"slug":"minimax-image-edit","name":"Minimax image edit","description":null,"endpoint_key":"workflow.minimax-image-edit","method":"POST","path":"/api/v1/image/minimax-image-edit","scope":"generate:image","schema_version":"05ef21167608c875","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","required":["inputs"],"properties":{"inputs":{"type":"object","properties":{"seed":{"type":"integer","minimum":0,"maximum":4294967295,"description":"Random when omitted. Send the seed a job reported to get the same image again."},"sourceImage":{"type":"string","format":"uuid","x-media-type":"image","x-media-ref":"media_id","description":"MediaId of the image to edit"},"positivePrompt":{"type":"string","description":"What to change in the image"}},"required":["sourceImage","positivePrompt"],"additionalProperties":false},"webhook_url":{"type":"string","format":"uri"}},"components":{"schemas":{"PhantomMedia":{"type":"object","description":"A generated artifact. `media_id` is the durable handle to store and pass into later calls; `url` is presigned and stops working at `url_expires_at`. A deleted or expired artifact keeps its id and reports why under `status`, with `url` null. A stubbed endpoint answers with an external link: `media_id` null, `status` ready, `url` served as pasted with no expiry, and `size_bytes` null.","required":["media_id","status","kind","url"],"properties":{"media_id":{"type":["string","null"],"format":"uuid"},"status":{"type":"string","enum":["ready","deleted","expired"]},"kind":{"type":"string","enum":["image","video","audio"]},"model":{"type":["string","null"],"description":"The model that generated the artifact, as the id a template call selects it by (`phantom/<slug>` for a GPU workflow, otherwise the upstream model id). Null for an upload."},"content_type":{"type":["string","null"]},"size_bytes":{"type":["integer","null"]},"duration_seconds":{"type":["number","null"],"minimum":0,"description":"Playback duration in seconds; null when unknown or not applicable."},"filename":{"type":["string","null"]},"job_id":{"type":["string","null"],"format":"uuid"},"created_at":{"type":"string","format":"date-time"},"expires_at":{"type":["string","null"],"format":"date-time"},"url":{"type":["string","null"],"format":"uri"},"url_expires_at":{"type":["string","null"],"format":"date-time"}},"if":{"properties":{"status":{"const":"ready"}}},"then":{"required":["model"]}}}},"x-outputs":{"image":{"$ref":"#/components/schemas/PhantomMedia","x-media-type":"image"}}},"response_fields":["created_at","completed_at","moderation"]},{"slug":"mivolo-age","name":"MiVOLO Age","description":"Estimate the age of the main person in a photo. Send exactly one of image (a media_id) or imageUrl.","endpoint_key":"model.mivolo-age","method":"POST","path":"/api/v1/vlm/mivolo-age","scope":"generate:image","schema_version":"d48754eb53963d5f","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","required":["inputs"],"properties":{"inputs":{"type":"object","properties":{"image":{"type":"string","format":"uuid","x-media-type":"image","x-media-ref":"media_id","description":"The photo as a media_id. Send this or imageUrl."},"imageUrl":{"type":"string","maxLength":2048,"description":"A public http(s) URL of the photo. Send this or image."}},"additionalProperties":false},"webhook_url":{"type":"string","format":"uri"}},"x-outputs":{"age":{"type":"number","description":"Estimated age in years of the largest face. Null when the photo has no face."},"faces":{"type":"integer","description":"How many faces the photo contains. 0 when it has none."},"bodyFound":{"type":"boolean","description":"Whether a body crop was used."}}},"response_fields":["created_at","completed_at"]},{"slug":"sdxl-realistic","name":"SDXL Realistic","description":null,"endpoint_key":"workflow.sdxl-realistic","method":"POST","path":"/api/v1/image/sdxl-realistic","scope":"generate:image","schema_version":"319657b943aaa7b2","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","required":["inputs"],"properties":{"inputs":{"type":"object","properties":{"seed":{"type":"integer","minimum":0,"maximum":4294967295,"description":"Random when omitted. Send the seed a job reported to get the same image again."},"width":{"type":"integer","minimum":256,"maximum":2048,"default":1024},"height":{"type":"integer","minimum":256,"maximum":2048,"default":1280},"faceImage":{"type":"string","format":"uuid","x-media-type":"image","x-media-ref":"media_id","description":"MediaId of the face to be used in the image"},"negativePrompt":{"type":"string","description":"Added to the built-in negative prompt"},"positivePrompt":{"type":"string","description":"What the image shows"}},"required":["positivePrompt"],"additionalProperties":false},"webhook_url":{"type":"string","format":"uri"}},"components":{"schemas":{"PhantomMedia":{"type":"object","description":"A generated artifact. `media_id` is the durable handle to store and pass into later calls; `url` is presigned and stops working at `url_expires_at`. A deleted or expired artifact keeps its id and reports why under `status`, with `url` null. A stubbed endpoint answers with an external link: `media_id` null, `status` ready, `url` served as pasted with no expiry, and `size_bytes` null.","required":["media_id","status","kind","url"],"properties":{"media_id":{"type":["string","null"],"format":"uuid"},"status":{"type":"string","enum":["ready","deleted","expired"]},"kind":{"type":"string","enum":["image","video","audio"]},"model":{"type":["string","null"],"description":"The model that generated the artifact, as the id a template call selects it by (`phantom/<slug>` for a GPU workflow, otherwise the upstream model id). Null for an upload."},"content_type":{"type":["string","null"]},"size_bytes":{"type":["integer","null"]},"duration_seconds":{"type":["number","null"],"minimum":0,"description":"Playback duration in seconds; null when unknown or not applicable."},"filename":{"type":["string","null"]},"job_id":{"type":["string","null"],"format":"uuid"},"created_at":{"type":"string","format":"date-time"},"expires_at":{"type":["string","null"],"format":"date-time"},"url":{"type":["string","null"],"format":"uri"},"url_expires_at":{"type":["string","null"],"format":"date-time"}},"if":{"properties":{"status":{"const":"ready"}}},"then":{"required":["model"]}}}},"x-outputs":{"image":{"$ref":"#/components/schemas/PhantomMedia","x-media-type":"image"}}},"response_fields":["created_at","completed_at","moderation"]},{"slug":"wan22-video-edit","name":"WAN 2.2 video edit","description":"Video edit: changes an existing video clip to follow a text instruction. The first 10 seconds of the clip are used.","endpoint_key":"workflow.wan22-video-edit","method":"POST","path":"/api/v1/video/wan22-video-edit","scope":"generate:image","schema_version":"52afae7f79b58746","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","required":["inputs"],"properties":{"inputs":{"type":"object","properties":{"seed":{"type":"integer","minimum":0,"maximum":4294967295,"description":"Omit it for a new random seed on every call"},"video":{"type":"string","format":"uuid","x-media-type":"video","x-media-ref":"media_id","description":"The clip to edit; the first 10 seconds are used"},"negativePrompt":{"type":"string","description":"What to keep out; added to the workflow own negative prompt","default":""},"positivePrompt":{"type":"string","description":"The edit to make"}},"required":["video","positivePrompt"],"additionalProperties":false},"webhook_url":{"type":"string","format":"uri"}},"components":{"schemas":{"PhantomMedia":{"type":"object","description":"A generated artifact. `media_id` is the durable handle to store and pass into later calls; `url` is presigned and stops working at `url_expires_at`. A deleted or expired artifact keeps its id and reports why under `status`, with `url` null. A stubbed endpoint answers with an external link: `media_id` null, `status` ready, `url` served as pasted with no expiry, and `size_bytes` null.","required":["media_id","status","kind","url"],"properties":{"media_id":{"type":["string","null"],"format":"uuid"},"status":{"type":"string","enum":["ready","deleted","expired"]},"kind":{"type":"string","enum":["image","video","audio"]},"model":{"type":["string","null"],"description":"The model that generated the artifact, as the id a template call selects it by (`phantom/<slug>` for a GPU workflow, otherwise the upstream model id). Null for an upload."},"content_type":{"type":["string","null"]},"size_bytes":{"type":["integer","null"]},"duration_seconds":{"type":["number","null"],"minimum":0,"description":"Playback duration in seconds; null when unknown or not applicable."},"filename":{"type":["string","null"]},"job_id":{"type":["string","null"],"format":"uuid"},"created_at":{"type":"string","format":"date-time"},"expires_at":{"type":["string","null"],"format":"date-time"},"url":{"type":["string","null"],"format":"uri"},"url_expires_at":{"type":["string","null"],"format":"date-time"}},"if":{"properties":{"status":{"const":"ready"}}},"then":{"required":["model"]}}}},"x-outputs":{"video":{"$ref":"#/components/schemas/PhantomMedia","x-media-type":"video","description":"An mp4 with audio"}}},"response_fields":["created_at","completed_at","moderation"]}]}