← Блог

Нейросеть создать персонажа по фото: дневник Ideogram Character

· 7 минут чтения

Генератор каждый раз рисовал нового человека, а для серии обложек, комикса или карточек нужен один и тот же герой. 22.09.2026 я впервые подключал Ideogram Character и проверял, сможет ли модель по одному портрету перенести персонажа в новую сцену.

Модель ideogram-character доступна в altrouter по OpenAI-совместимому API. Одна картинка в режиме Balanced стоит $0,1275, то есть на 15% меньше официальной цены вендора $0,15; оплатить можно картой РФ, СБП или криптой. Регистрация бесплатная, а за подтверждённый Telegram один раз начисляется $1 на пробу.

У меня ушло четыре запроса, два из них — ошибки. Ниже — лог по времени Берлина, с сервером в Нюрнберге и без попытки превратить один прогон в большой бенчмарк.

Что обещает Ideogram Character

Ideogram анонсировала модель 29.07.2025 как «the first character consistency model that works with just one reference image». Если вы ищете нейросеть, чтобы создать персонажа по фото, это ровно тот сценарий: вы передаёте один портрет, а модель использует лицо и причёску, чтобы нарисовать того же человека в другой сцене.

Референс — фото-образец, по которому модель узнаёт внешность персонажа. В документации Ideogram API указано, что сейчас учитывается только один референс до 25 МБ, а весь запрос может занимать до 50 МБ.

В altrouter референс передаётся в поле image как массив. Доступны стили AUTO, REALISTIC и FICTION, размер square_hd выбран по умолчанию, также есть квадратные, портретные и альбомные варианты. В замере выход был 1024×1024.

Модель не умеет генерацию только по тексту: параметр text_to_image отключён. Это главное ограничение, которое лучше знать до первого запроса.

15:01:29 — запрос без картинки: 400

Сначала я отправил обычный запрос с описанием сцены, но без портрета:

curl https://api.altrouter.ai/v1/images/generations \
  -H "Authorization: Bearer $ALTROUTER_API_KEY" -H "Content-Type: application/json" \
  -d '{"model":"ideogram-character","n":1,"prompt":"The same woman riding a bicycle on a rainy city street at night"}'

API вернул HTTP 400 за 0,0 с:

{"error":{"message":"`ideogram-character` works on a reference image - pass one in `image`.","type":"invalid_request_error","param":"image","code":null}}

Модель не рисует персонажа с нуля. Ей обязательно нужен портрет, поэтому ошибка здесь ожидаемая и понятная: сервер прямо указал на отсутствующее поле image.

За этот запрос списание составило $0. Если вы видите такой ответ, добавьте референс, а не пытайтесь переписать промпт про внешность ещё пятью способами.

15:01:29 — картинка строкой: 503

Следующая попытка уже содержала ссылку на изображение, но я передал её строкой:

"image":"https://api.altrouter.ai/media/images/2026/09/22/….webp"

Ответ пришёл через 0,3 с:

HTTP 503
{"error":{"message":"All providers failed (…)","type":"service_unavailable","param":null,"code":"no_provider_available"}}

В тот день поле image принималось только массивом даже для одной ссылки:

"image":["https://api.altrouter.ai/media/images/2026/09/22/….webp"]

Ответ 503 выглядел как сбой сервиса, хотя проблема была в моём запросе. Это был наш недочёт, и вечером 22.09 мы его исправили: теперь строка в image принимается как список из одной картинки, а неверный тип поля получает 400 с подсказкой «image must be a URL or a list of URLs.»

За ошибку снова списалось $0. В журнале списаний запросы с 400 и 503 записаны с нулевой суммой.

Хронология четырёх запросов к Ideogram Character: 400, 503, 200, 200
Две ошибки из четырёх запросов — и обе про одно поле image

15:01:44 — где взять портрет, если его нет

Если собственного портрета нет, сначала можно создать вымышленного персонажа отдельной моделью. Я сделал референс через Seedream 3.0 за 9,4 с, списание составило $0,0225, размер — 1024×1024.

Промпт был таким:

Studio portrait photo of a fictional 30-year-old woman barista with short curly red hair, freckles, round glasses, dark green apron, plain light grey background, looking at camera

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

Вымышленный портрет удобен для проверки API. Чужое фото без согласия брать нельзя, а своё фото или изображение человека, давшего согласие, передавать можно.

Схема: портрет передаётся в поле image массивом с одной ссылкой
Массив с одной ссылкой — самая надёжная форма; строку API теперь тоже принимает

Референс можно передать не только ссылкой, но и как data:-URL с картинкой в base64. В этом случае API сам разместит файл, а в замере я использовал обычную ссылку.

15:02:15 — image массивом: 200 за 27,6 с

После исправления формата я повторил запрос:

curl https://api.altrouter.ai/v1/images/generations \
  -H "Authorization: Bearer $ALTROUTER_API_KEY" -H "Content-Type: application/json" \
  -d '{"model":"ideogram-character","n":1,"prompt":"The same woman riding a bicycle on a rainy city street at night, neon reflections","image":["https://api.altrouter.ai/media/images/2026/09/22/d5e6270f-2b00-4a68-be90-8472c6cc29ef.webp"]}'

Ответ был HTTP 200 за 27,6 с:

{"created":1790082135,"data":[{"url":"https://api.altrouter.ai/media/images/2026/09/22/956605ac-dfc3-4089-9f07-dc6b3417f306.webp"}]}

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

Лицо заняло небольшую часть кадра. Надписи на вывесках превратились в нечитаемые псевдобуквы. Модель также перенесла одежду с портрета, хотя в промпте о ней ничего не было: фартук баристы оказался на велосипеде под дождём.

Если нужна другая одежда, её стоит явно написать в промпте. Это практический совет по результату одного прогона, а не проверенное сравнение нескольких формулировок.

Сколько стоил персонаж

Сам Ideogram Character обошёлся в $0,1275 за картинку. Вместе с портретом Seedream 3.0 итог составил $0,0225 + $0,1275 = $0,15.

Стоимость одного персонажа: референс и генерация Ideogram Character
Персонаж с нуля обошёлся в $0,15 — ровно официальная цена одной картинки Ideogram Character

Официальные тарифы вендора на 22.09.2026 были такими: Turbo — $0,10, Balanced — $0,15, Quality — $0,20. В altrouter доступен только Balanced за $0,1275, и это ограничение нужно учитывать: выбрать Turbo или Quality через этот путь нельзя.

Для серии из 10 сцен одного героя расчёт выглядит так: 10 × $0,1275 = $1,275, плюс один референсный портрет. Если портрет уже подготовлен, повторные сцены считаются только по цене Ideogram Character.

Стоимость фиксирована за картинку и не зависит от длины промпта. Ошибочные запросы из этого замера не списывались.

Как вызвать Ideogram Character по API

Параметры сверх OpenAI-формата передаются в теле запроса. В Python SDK для них используется extra_body:

from openai import OpenAI
client = OpenAI(api_key="ar-...", base_url="https://api.altrouter.ai/v1")
r = client.images.generate(
    model="ideogram-character",
    prompt="The same woman reading a book in a cozy cafe, morning light",
    n=1,
    extra_body={
        "image": ["https://example.com/portrait.webp"],  # массив или просто строка
        "style": "REALISTIC",
        "image_size": "landscape_4_3",
    },
)
print(r.data[0].url)

Этот конкретный промпт я не запускал, это пример формата вызова. Важная часть — image: без референса модель не работает; одну ссылку можно передать строкой или массивом.

В ответе ссылка на результат находится в data[0].url. Ключ создаётся в кабинете после регистрации, документация API доступна в разделе /docs/.

Чего я не проверил

Это был один прогон и одна сцена. Я не сравнивал сходство персонажа на серии из нескольких изображений и оценивал результат глазами.

Я также не проверял маску референса. В API Ideogram есть необязательная character_reference_images_mask, но наш API её не передаёт.

Поэтому вывод ограничен конкретным наблюдением: по одному портрету Ideogram Character нарисовала того же персонажа в новой сцене, но сохранила одежду, уменьшила лицо в кадре и не справилась с читаемыми неоновыми надписями.

FAQ

Какая нейросеть создаёт персонажа по одному фото?

Например, Ideogram Character: вендор описывает её как модель консистентного персонажа по одному референсу. В нашем прогоне 22.09.2026 по одному портрету она нарисовала ту же женщину в новой сцене за 27,6 с.

Сколько фото нужно для Ideogram Character?

Одно. По документации Ideogram API сейчас учитывается только один референс, до 25 МБ. В altrouter он передаётся в поле image — ссылкой строкой или массивом с одной ссылкой.

Почему Ideogram Character возвращает ошибку 400?

Чаще всего потому, что в запросе нет картинки: модель работает только от референса. Ответ прямо говорит: pass one in image. Днём 22.09.2026 картинка строкой вместо массива давала 503; вечером мы это исправили, и теперь строка принимается. Если в image число или объект, придёт 400 с текстом «image must be a URL or a list of URLs.»

Сколько стоит Ideogram Character по API?

Официально на 22.09.2026: Turbo $0,10, Balanced $0,15, Quality $0,20. В altrouter доступен Balanced за $0,1275 — −15% от официальной цены вендора. Ошибочные запросы не списываются.

Можно ли загрузить фото с компьютера, а не ссылку?

Да, в поле image можно передать data:-URL (картинку в base64) — API сам разместит файл. Используйте свои фото или фото людей, давших согласие.