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

# Почему API Gemini для генерации изображений возвращает NO_IMAGE?

> Узнайте, почему Gemini возвращает NO_IMAGE, а также как улучшить промпты для изображений и устранить неполадки в запросе.

## Краткий ответ

Когда API возвращает `finishReason: NO_IMAGE`, а `parts` имеет значение `null`, модель обычно обработала запрос, но не вернула содержимое изображения.

Это не обязательно означает, что промпт вызвал блокировку по требованиям безопасности контента. Такие промпты, как «Что такое GEO?» или «Объясни эту концепцию», больше похожи на текстовые вопросы. Модель может быть не в состоянии подтвердить, что пользователь явно хочет получить изображение, поэтому возвращает `NO_IMAGE`.

Явно укажите намерение создать изображение в начале промпта, затем опишите объект, компоновку, стиль и требования к результату.

## Почему возникает NO\_IMAGE?

### 1. Промпт выглядит как текстовый вопрос

Например:

```text theme={null}
What is GEO?

GEO helps a company gain visibility in large-model AI systems...
```

Это объясняет концепцию, но не содержит чёткого указания:

* какой тип изображения нужно сгенерировать;
* какие элементы должны появиться на изображении;
* как следует расположить информацию;
* должен ли ответ содержать только изображение.

Даже если запрос содержит слова «сгенерировать изображение», модель всё равно может интерпретировать запрос в целом как просьбу о текстовом объяснении.

### 2. Намерение сгенерировать изображение недостаточно конкретно

Некоторые инструменты платформы автоматически добавляют в начало инструкции, например «Сгенерируйте изображение:». Однако при прямом вызове API запрос может быть прозрачно перенаправлен без автоматического добавления полной инструкции для генерации изображения.

Вместо того чтобы писать только:

```text theme={null}
Generate an image: What is GEO?
```

Прямо укажите тип изображения и визуальную цель:

```text theme={null}
Generate a Chinese technology-style infographic poster about “What is GEO”.
```

### 3. В промпте отсутствует визуальное описание

Если промпт только объясняет концепцию, модель не знает, как превратить её в визуальную композицию. Укажите, например:

* тип изображения: инфографика, плакат, блок-схема или рекламный графический материал;
* компоновка: три колонки, временная шкала или радиальная структура;
* визуальный стиль: технологичный, деловой, минималистичный или выполненный в фирменном стиле;
* иерархия текста: заголовок, нумерованные разделы, основной текст и компоновка;
* инструкция для вывода: сгенерируйте только изображение, без текстового объяснения.

## Пример GEO-промпта

Вы можете переписать исходный промпт следующим образом:

```text theme={null}
Generate a Chinese technology-style infographic poster titled “What is GEO”.

The image must contain one main title and three numbered sections:

1. Help companies gain visibility in large-model AI search and recommendations;
2. Make a company the answer to a user's question;
3. Build AI trust in and recommendations for a company's information.

Design requirements:

- Use a blue and purple technology style;
- Use a clear three-column layout;
- Emphasize “visibility,” “answer,” and “trusted recommendation”;
- Use clean, readable Chinese typography;
- Make it suitable as a corporate promotional poster;
- Generate an image only, without a text explanation.
```

<Tip>
  «Сгенерировать изображение» — это лишь подсказка о действии. Она не заменяет описание визуального результата. Чем яснее вы опишете тип изображения, объект, композицию и стиль, тем легче модели определить, что запрос относится к генерации изображений.
</Tip>

## Как устранить неполадку NO\_IMAGE

<Steps>
  <Step title="Шаг 1: Проверьте, содержит ли ответ данные изображения">
    Проверьте `parts`, `inlineData`, `image` или эквивалентное поле изображения в ответе. Если `parts` имеет значение `null`, ответ обычно не содержит изображения.
  </Step>

  <Step title="Шаг 2: Убедитесь, что prompt явно запрашивает изображение">
    Убедитесь, что prompt содержит чёткую инструкцию, например «сгенерируйте изображение», «создайте постер» или «создайте изображение». Не отправляйте только текстовый вопрос, например «Что такое...» или «Объясните...».
  </Step>

  <Step title="Шаг 3: Затем проверьте факторы безопасности контента">
    Если prompt явно запрашивает изображение, но всё равно возвращает `NO_IMAGE`, проверьте наличие NSFW-контента, несовершеннолетних, известных IP, удаления водяных знаков, портретов реальных людей или других политик безопасности на стороне upstream.
  </Step>

  <Step title="Шаг 4: Проверьте журналы вызовов">
    Просмотрите полный ответ, имя модели, ID запроса и запись о списании в журналах вызовов. `usageMetadata` показывает, что модель обработала запрос, но не доказывает, что изображение было сгенерировано или что сработала блокировка безопасности.
  </Step>
</Steps>

## Чем NO\_IMAGE отличается от блокировки безопасности?

| Симптом                                                                     | Возможная причина                                                   | Рекомендуемое действие                                                                              |
| --------------------------------------------------------------------------- | ------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- |
| `NO_IMAGE` с `parts: null` и абстрактным промпт                             | Намерение создания изображения неясно                               | Добавьте тип изображения, визуальный объект и требования к макету                                   |
| Возвращается ошибка политики безопасности                                   | Сработала политика безопасности контента вышестоящего сервиса       | Измените или удалите содержимое, которое может активировать эту политику                            |
| Намерение создания изображения явно указано, но изображение не возвращается | Модель, группа, token или вышестоящий маршрут могут быть недоступны | Обратитесь в службу поддержки, указав полную ошибку, название модели, идентификатор запроса и время |

<Info>
  `finishReason: NO_IMAGE` означает только, что изображение не было возвращено. Само по себе это не доказывает, что промпт нарушил политику. Используйте полную ошибку, промпт и журналы вызовов вместе.
</Info>

## Часто задаваемые вопросы

<AccordionGroup>
  <Accordion title="Всегда ли добавление «сгенерируй изображение» решает проблему?">
    Нет. Это лишь делает основное намерение более понятным. Также опишите тип изображения, объект, композицию, стиль и требования к результату. Для абстрактных концепций явно попросите создать инфографику, плакат или блок-схему.
  </Accordion>

  <Accordion title="Была ли тема GEO заблокирована из-за безопасности контента?">
    Сама концепция GEO, по-видимому, не содержит очевидного риска для безопасности. Однако `NO_IMAGE` сама по себе не может полностью исключить решение о политике, принятое на upstream-уровне. В данном случае промпт больше похож на объяснение знаний, поэтому сначала целесообразнее проверить, достаточно ли ясно указано намерение создать изображение.
  </Accordion>

  <Accordion title="Почему в usageMetadata указаны tokens, если изображение не возвращено?">
    `usageMetadata` лишь показывает, что модель обработала входные данные и выдала tokens рассуждения или текста. Это не означает, что ответ содержит изображение. Проверьте поля данных изображения в ответе.
  </Accordion>

  <Accordion title="Взимается ли плата за NO_IMAGE?">
    Не определяйте тарификацию только по `NO_IMAGE`. Проверьте журналы вызовов APIYI, чтобы подтвердить, создала ли операция запись о списании.
  </Accordion>
</AccordionGroup>

## Всё ещё не удаётся решить проблему? Обратитесь в поддержку

Если после явного указания назначения изображения запрос по-прежнему возвращает `NO_IMAGE`, обратитесь в поддержку APIYI и укажите:

* Название модели и группу token;
* Полное сообщение об ошибке и `request ID`;
* Промпт с удалёнными конфиденциальными данными;
* Время возникновения;
* Запись тарификации из журналов вызовов.

<Warning>
  Никогда не отправляйте полный API-ключ. Удалите ключ перед отправкой скриншотов или журналов.
</Warning>

<CardGroup cols={2}>
  <Card title="Поддержка WeCom" icon="message-circle" href="https://work.weixin.qq.com/kfid/kfc9adfd5810ece25ec">
    <img src="https://mintcdn.com/apiyillc/fpi567ydpk7adDt0/images/wecom-qrcode.png?fit=max&auto=format&n=fpi567ydpk7adDt0&q=85&s=7286b96e94110e3a48798b649df1b45b" alt="QR-код поддержки WeCom" style={{maxWidth: "180px"}} width="400" height="400" data-path="images/wecom-qrcode.png" />

    Отсканируйте QR-код или нажмите на эту карточку, чтобы напрямую связаться с поддержкой.
  </Card>

  <Card title="Поддержка по электронной почте" icon="mail">
    **Поддержка**: [support@apiyi.com](mailto:support@apiyi.com)

    Рекомендуем указать «NO\_IMAGE» и название модели в теме письма.
  </Card>
</CardGroup>

## Связанная документация

<CardGroup cols={2}>
  <Card title="Ошибки генерации изображений Nano Banana" icon="image-off" href="/ru/faq/nano-banana-image-failure">
    Распространённые причины, включая проблемы с безопасностью, удаление водяных знаков, известную интеллектуальную собственность и несовершеннолетних
  </Card>

  <Card title="Как устранить ошибки API моделей?" icon="alert-triangle" href="/ru/faq/model-error-troubleshooting">
    Общие рекомендации по ошибкам 401, 429, 503, 504, тайм-аутам и проблемам с группами
  </Card>

  <Card title="Как читать суммы тарификации в логах?" icon="file-text" href="/ru/faq/log-billing-explained">
    Используйте логи вызовов, чтобы подтвердить успешность запроса и факт списания средств
  </Card>
</CardGroup>
