Перейти к содержимому
中文

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

Выбор модели, формат ответа, генерация и проверка поддержки редактирования.

Выберите доступную модель изображений в каталоге. Среди опубликованных вариантов есть gpt-image-1.5 и chatgpt-image-latest; актуальный список и протокол проверяйте в кабинете.

Для OpenAI-совместимого варианта используется POST /v1/images/generations с Bearer-ключом. Укажите точный model и prompt, затем минимально необходимый набор параметров.

Результат может содержать URL или данные Base64; обрабатывайте фактические поля ответа. URL может иметь ограниченный срок действия. Не выводите большие Base64-строки в журналы.

Редактирование и ограничения

Раздел «Редактирование и ограничения»

Редактирование и загрузка исходного файла зависят от модели и конечной точки. Не предполагайте, что любой вариант генерации также поддерживает редактирование, произвольный размер, качество, количество и формат ответа. При 400 уберите необязательные параметры и добавляйте их по одному.

Тариф может зависеть от изображения, запроса, токенов и других показанных условий модели. Не переносите цену текстовой модели на изображения. Проверьте использование и списание в журнале после первого теста.

Примеры запросов и конфигурации

Раздел «Примеры запросов и конфигурации»

Используйте пример для выбранного протокола и версии клиента. Замените учебные ключи и идентификаторы моделей своими. Команды выполняются на вашем компьютере или сервере.

python
import base64
import os
from pathlib import Path
from openai import OpenAI
client = OpenAI(
api_key=os.environ["ONEZHE_API_KEY"],
base_url="https://1zheai.com/v1",
timeout=300.0,
max_retries=0,
)
result = client.images.generate(
model=os.environ.get("ONEZHE_IMAGE_MODEL", "gpt-image-1.5"),
prompt="Белая керамическая чашка на светло-сером столе, мягкий естественный свет, без текста.",
)
if not result.data:
raise RuntimeError("В ответе нет изображения. Проверьте ошибку и журнал запросов.")
item = result.data[0]
if item.b64_json:
target = Path("generated-image.png")
target.write_bytes(base64.b64decode(item.b64_json, validate=True))
print(f"Изображение сохранено в {target.resolve()}")
elif item.url:
print("Получен URL изображения. Скачайте его своевременно:", item.url)
else:
raise RuntimeError("В ответе нет b64_json или url.")