{"openapi":"3.1.0","info":{"title":"Genaro API","description":"Генерация изображений. Авторизация: `Authorization: Bearer sk-genaro-…`. Лимит — кредиты в час по тарифу; цены моделей в кредитах и реальные модели за каждым id — `GET /v1/models`.","version":"1.0"},"paths":{"/images":{"post":{"summary":"Создать задания генерации","operationId":"create_images_images_post","parameters":[{"name":"idempotency-key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idempotency-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImageRequest"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"summary":"Список заданий","operationId":"list_images_images_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":20,"title":"Limit"}},{"name":"before","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Before"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/images/{job_id}":{"get":{"summary":"Статус и результат задания","operationId":"get_image_images__job_id__get","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"summary":"Удалить файлы задания","operationId":"delete_image_images__job_id__delete","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/images/{job_id}/cancel":{"post":{"summary":"Отменить задание в очереди (кредиты возвращаются)","operationId":"cancel_image_images__job_id__cancel_post","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/models":{"get":{"summary":"Модели и цены в кредитах","operationId":"list_models_models_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/usage":{"get":{"summary":"Остаток кредитов в этом часу","operationId":"usage_usage_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/images/generations":{"post":{"summary":"Совместимый эндпоинт для готовых клиентов (всегда ждёт результат)","operationId":"compat_generations_images_generations_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompatImages"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"CompatImages":{"properties":{"prompt":{"type":"string","title":"Prompt"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"},"n":{"type":"integer","title":"N","default":1},"size":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Size"},"response_format":{"type":"string","title":"Response Format","default":"url"},"quality":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Quality"}},"type":"object","required":["prompt"],"title":"CompatImages"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ImageRequest":{"properties":{"prompt":{"type":"string","title":"Prompt","description":"Описание картинки, до 4000 символов."},"model":{"type":"string","title":"Model","description":"См. GET /v1/models.","default":"genaro-fast"},"aspect_ratio":{"type":"string","title":"Aspect Ratio","description":"1:1, 16:9, 9:16, 4:3, 3:4","default":"1:1"},"n":{"type":"integer","title":"N","description":"Сколько картинок (1–4). Каждая — отдельное задание и своя цена.","default":1},"upscale":{"type":"boolean","title":"Upscale","description":"Апскейл ×2 (только модели с supports_upscale), цена ×2.","default":false},"seed":{"anyOf":[{"type":"integer","maximum":2147483647.0,"minimum":0.0},{"type":"null"}],"title":"Seed"},"reference_images":{"items":{"type":"string"},"type":"array","title":"Reference Images","description":"До 4 референсов: base64 или data URI."},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"POST с готовым заданием на этот публичный URL."},"wait":{"type":"boolean","title":"Wait","description":"Дождаться результата и вернуть его сразу (до timeout секунд).","default":false},"timeout":{"type":"integer","title":"Timeout","description":"Сколько ждать при wait=true, 5–300 с.","default":120}},"type":"object","required":["prompt"],"title":"ImageRequest"},"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"}}},"servers":[{"url":"/v1"}]}