> Для получения чистого Markdown любой страницы добавьте .md к URL страницы.  
> Для полного индекса документации см. https://api.vega.chat/docs/llms.txt.  
> Для полного содержания документации см. https://api.vega.chat/docs/llms-full.txt.  
> Для интеграции AI‑клиентов (Claude Code, Cursor и др.) подключитесь к MCP‑серверу по адресу https://api.vega.chat/docs/_mcp/server.

# Генерация изображений

Серверные инструменты находятся в бета‑версии. API и поведение могут измениться.

Серверный инструмент `openrouter:image_generation` позволяет любой модели генерировать изображения по текстовым подсказкам. Когда модель определяет, что необходимо создать изображение, она вызывает инструмент с описанием. **VEGA** выполняет генерацию изображения и возвращает результат модели.

## Как это работает

1. Вы включаете `{ "type": "openrouter:image_generation" }` в массив `tools`.  
2. Исходя из запроса пользователя, модель решает, нужна ли генерация изображения, и формирует подсказку.  
3. **VEGA** генерирует изображение, используя настроенную модель (по умолчанию `openai/gpt-5-image`).  
4. URL сгенерированного изображения возвращается модели.  
5. Модель включает изображение в свой ответ. При необходимости она может сгенерировать несколько изображений в одном запросе.

## Быстрый старт

```typescript title="TypeScript"
const response = await fetch('https://api.vega.chat/api/v1/chat/completions', {
  method: 'POST',
  headers: {
    Authorization: 'Bearer {{API_KEY_REF}}',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    model: '{{MODEL}}',
    messages: [
      {
        role: 'user',
        content: 'Create an image of a futuristic city at sunset'
      }
    ],
    tools: [
      { type: 'openrouter:image_generation' }
    ]
  }),
});

const data = await response.json();
console.log(data.choices[0].message.content);
```

```python title="Python"
import requests

response = requests.post(
  "https://api.vega.chat/api/v1/chat/completions",
  headers={
    "Authorization": f"Bearer {{API_KEY_REF}}",
    "Content-Type": "application/json",
  },
  json={
    "model": "{{MODEL}}",
    "messages": [
      {
        "role": "user",
        "content": "Create an image of a futuristic city at sunset"
      }
    ],
    "tools": [
      {"type": "openrouter:image_generation"}
    ]
  }
)

data = response.json()
print(data["choices"][0]["message"]["content"])
```

```bash title="cURL"
curl https://api.vega.chat/api/v1/chat/completions \
  -H "Authorization: Bearer {{API_KEY_REF}}" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "{{MODEL}}",
    "messages": [
      {
        "role": "user",
        "content": "Create an image of a futuristic city at sunset"
      }
    ],
    "tools": [
      {"type": "openrouter:image_generation"}
    ]
  }'
```

## Конфигурация

Инструмент генерации изображений принимает необязательные `parameters` для настройки вывода:

```json
{
  "type": "openrouter:image_generation",
  "parameters": {
    "model": "openai/gpt-5-image",
    "quality": "high",
    "aspect_ratio": "16:9",
    "size": "1024x1024",
    "background": "transparent",
    "output_format": "png"
  }
}
```

| Параметр            | Тип    | По умолчанию          | Описание                                                                                                                |
| ------------------- | ------ | --------------------- | ----------------------------------------------------------------------------------------------------------------------- |
| `model`             | string | `openai/gpt-5-image`  | Какая модель генерации изображений использовать. См. [доступные модели изображений](/aimodels?output_modalities=image). |
| `quality`           | string | —                     | Уровень качества изображения (зависит от модели, например `"low"`, `"medium"`, `"high"`).                              |
| `size`              | string | —                     | Размеры изображения (например `"1024x1024"`, `"512x512"`).                                                             |
| `aspect_ratio`      | string | —                     | Соотношение сторон (например `"16:9"`, `"1:1"`, `"4:3"`).                                                             |
| `background`        | string | —                     | Стиль фона (например `"transparent"`, `"opaque"`).                                                                    |
| `output_format`    | string | —                     | Формат вывода (например `"png"`, `"jpeg"`, `"webp"`).                                                                   |
| `output_compression`| number | —                     | Уровень сжатия (0‑100) для форматов с потерями.                                                                          |
| `moderation`        | string | —                     | Уровень модерации контента (например `"auto"`, `"low"`).                                                               |

Все параметры, кроме `model`, передаются напрямую в базовый API генерации изображений. Доступные варианты зависят от конкретной используемой модели.

## Ответ

Когда модель вызывает инструмент генерации изображений, она получает ответ вида:

```json
{
  "status": "ok",
  "imageUrl": "https://..."
}
```

Если генерация не удалась, ответ содержит ошибку:

```json
{
  "status": "error",
  "error": "Generation failed due to content policy"
}
```

## Работает с Responses API

Серверный инструмент генерации изображений также работает с Responses API:

```typescript title="TypeScript"
const response = await fetch('https://api.vega.chat/api/v1/responses', {
  method: 'POST',
  headers: {
    Authorization: 'Bearer {{API_KEY_REF}}',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    model: '{{MODEL}}',
    input: 'Generate an image of a mountain landscape',
    tools: [
      {
        type: 'openrouter:image_generation',
        parameters: { quality: 'high' }
      }
    ]
  }),
});

const data = await response.json();
console.log(data);
```

```python title="Python"
import requests

response = requests.post(
  "https://api.vega.chat/api/v1/responses",
  headers={
    "Authorization": f"Bearer {{API_KEY_REF}}",
    "Content-Type": "application/json",
  },
  json={
    "model": "{{MODEL}}",
    "input": "Generate an image of a mountain landscape",
    "tools": [
      {
        "type": "openrouter:image_generation",
        "parameters": {"quality": "high"}
      }
    ]
  }
)

data = response.json()
print(data)
```

## Ценообразование

Цены на генерацию изображений зависят от используемой базовой модели:

* **openai/gpt-5-image** (по умолчанию): См. [страницу модели](https://api.vega.chat/openai/gpt-5-image)
* **openai/gpt-5-image-mini**: См. [страницу модели](https://api.vega.chat/openai/gpt-5-image-mini)
* **openai/gpt-5.4-image-2**: См. [страницу модели](https://api.vega.chat/openai/gpt-5.4-image-2)
* Другие модели: См. [список моделей изображений](/aimodels?output_modalities=image) на VEGA

Стоимость добавляется к стандартным затратам на токены LLM за обработку запроса и ответа.

## Следующие шаги

* [Обзор серверных инструментов](/docs/guides/features/server-tools) — Узнать о серверных инструментах  
* [Веб‑поиск](/docs/guides/features/server-tools/web-search) — Поиск в интернете в реальном времени  
* [Дата и время](/docs/guides/features/server-tools/datetime) — Получить текущие дату и время  
* [Вызов инструментов](/docs/guides/features/tool-calling) — Узнать о пользовательском вызове инструментов