> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kvantora.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Изображения

> Генерация и редактирование через асинхронные задания.

## Подготовьте изображение или описание

Генерация: `POST /v1/images/generations` с `model`, `prompt` и `n=1`. Редактирование: `POST /v1/images/edits` с `model`, `prompt`, `file_id` и `n=1`. Prompt до 32000 символов; изображения PNG, JPEG или WebP должны пройти [загрузку и проверку](/files).

## Задайте предел стоимости

Задайте предел в рублях. Функция `rublesToApiUnits` из [руководства по оплате](/billing) переводит его в целое значение API без округления:

```javascript theme={null}
const budgetRub = '0.10'; // Предел 0,10 ₽; проверьте оценку перед отправкой.
const requestBody = {
  model: 'PUBLIC_API_ID',
  prompt: 'Лесное озеро на рассвете',
  n: 1,
  max_cost_microrub: rublesToApiUnits(budgetRub),
};
const body = JSON.stringify(requestBody);
```

## Отправьте запрос

Передайте подготовленное `body` с ключом и сохранённым ID. Переменные окружения задаются по [быстрому старту](/quickstart). Код отправляет один запрос.

```javascript theme={null}
const response = await fetch(
  process.env.KVANTORA_BASE_URL + '/v1/images/generations', {
    method: 'POST',
    redirect: 'error',
    headers: {
      Authorization: 'Bearer ' + process.env.KVANTORA_API_KEY,
      'Content-Type': 'application/json',
      'Idempotency-Key': process.env.REQUEST_ID,
    },
    body,
  });
const job = await response.json();
if (!response.ok) throw new Error('HTTP ' + response.status);
console.log(job.id, job.status);
```

## Получите результат

HTTP 202 возвращает `generation.job`. Проверяйте `GET /v1/jobs/ID`; результат содержит `output.file_id`. Сначала можно вызвать `POST /v1/quotes`, а полученную сумму использовать как `max_cost_microrub`. Готовый файл получите по [инструкции](/files).

## Ограничения

Это JSON API Kvantora. Multipart OpenAI images.edit, маски, произвольное разрешение и пакет из нескольких изображений пока не поддерживаются. Редактирование изображений сейчас недоступно для внешних моделей. Для создания нового изображения используйте доступную операцию генерации.

В примере `PUBLIC_API_ID` — место для `public_api_id` из каталога, а не имя существующей модели. Выбирайте модель с доступной операцией.
