Картинка 1024×1024 из генератора выглядит достаточно большой, пока её не нужно поставить в баннер или подготовить к печати. Улучшать качество фото онлайн по одной штуке для массовой задачи не подходит, поэтому 22.09.2026 я прогнал Recraft Crisp Upscale через API.
Модель доступна в altrouter по OpenAI-совместимому API за $0,0034 за картинку, что на 15% ниже официальной цены Recraft. Оплатить можно картой РФ, СБП или криптой, а после подтверждения Telegram на тесты начисляется $1, которого хватает примерно на 290 апскейлов.
Для старта нужна регистрация, ключ из кабинета и один запрос. У сервиса есть ограничение: через altrouter доступен только crisp upscale, а инструмент creative upscale, который дорисовывает детали, в каталоге отсутствует.
Что такое crisp upscale и чем он отличается от creative
Crisp upscale — увеличение изображения, при котором модель делает края чище, но не придумывает то, чего не было в исходнике. За один вызов она увеличивает стороны ровно в два раза: 1024×1024 превращается в 2048×2048, а 200×200 — в 400×400.
У Recraft есть creative upscale за $0,25 за запрос по прайсу 22.09.2026. Он дорисовывает детали, но это другой инструмент, которого через altrouter нет.
Для дневника я взял белую керамическую кружку на светло-сером фоне. Мы сами сгенерировали её через Imagen 4 Fast в altrouter в тот же день, поэтому здесь нет вопроса о правах на исходник.
Запуск 1: без картинки
Первый запрос я отправил в 14:57:47 по серверному времени CEST. Сервер находился в Нюрнберге, а время замерялось по часам клиента.
{"model":"recraft-crisp-upscale","prompt":"upscale"}
Ответ пришёл мгновенно, за 0,0 с. Модель не стала угадывать, что именно нужно увеличить.
{"error":{"message":"`recraft-crisp-upscale` works on a reference image - pass one in `image`.","type":"invalid_request_error","param":"image","code":null}}
Это значит, что поле image обязательно. image — ссылка на картинку строкой или массив ссылок; одна ссылка работает в обоих видах.
Промпт сам по себе не запускает апскейл. Похожая история с полем image уже встречалась в дневнике про удаление фона через API.
Запуск 2: 1024 → 2048
В тот же момент, в 14:57:47, я передал ссылку на WEBP 1024×1024. Это была исходная картинка кружки из генератора.
{"model":"recraft-crisp-upscale","image":["https://…/mug.webp"]}
Через 5,6 с API вернул HTTP 200 и ссылку на готовый файл. В ответе не было размера, поэтому файл пришлось скачать и проверить отдельно.
{"created":1790081872,"data":[{"url":"https://api.altrouter.ai/media/images/2026/09/22/43157cff-….webp"}]}
Пришёл WEBP 2048×2048 размером 40 966 байт. Увеличение получилось ровно двукратным по каждой стороне, а формат остался WEBP.

Это значит, что для картинки из генератора в 1024 px можно получить 2048 px одним запросом. Если вам нужна именно генерация 2K, полезно отдельно посмотреть, почему size: 2048x2048 у Imagen 4 Fast получает 400 — в разборе ошибок.
Запуск 3: маленькое фото 200 → 400
В 14:57:53 я отправил ту же кружку, но предварительно уменьшенную нами до JPEG 200×200 размером 4 КБ. Вместо ссылки здесь использовался data: URL — картинка, записанная прямо внутри запроса в виде текста.
{"model":"recraft-crisp-upscale","image":["data:image/jpeg;base64,/9j/4AAQ…"]}
Ответ пришёл за 2,9 с. Получился JPEG 400×400, то есть формат ответа повторил формат входа.
Я сравнил результат с обычным увеличением того же файла бикубической интерполяцией в Pillow до 400×400. У crisp край кружки и контур ручки стали резче, без мыльного ореола.
Но мягкая тень внутри кружки и градиент на боку сгладились почти до плоской заливки. Это значит, что модель чистит изображение, а не возвращает утраченную фактуру.
Для маленьких карточек товаров и старых превью это важное различие. Если на исходнике уже есть тонкая текстура, после апскейла она не обязана стать детальнее — нейросеть тут не достаёт информацию из воздуха, что уже само по себе неплохая новость.
Запуск 4: промпт «сделай кружку красной»
В 14:57:56 я повторил запуск для исходного WEBP 1024×1024. На этот раз к картинке добавил инструкцию make the mug red.
{"model":"recraft-crisp-upscale","prompt":"make the mug red","image":["https://…/mug.webp"]}
Ответ вернулся за те же 5,6 с. Это был WEBP 2048×2048 размером 40 966 байт — по новой ссылке, но того же размера до байта.
{"created":1790081881,"data":[{"url":"https://api.altrouter.ai/media/images/2026/09/22/3e64d052-….webp"}]}
Кружка осталась белой. Контрольная сумма md5 совпала с результатом запуска без промпта байт в байт: d94bd389….
Это значит, что промпт не просто влияет слабо. Он полностью игнорируется, а за вызов с ним вы платите как за обычный апскейл.
Запуск 5: 2048 → 4096 и где потолок
В 14:58:11 я подал обратно результат второго запуска. Входной WEBP уже был размером 2048×2048.
{"model":"recraft-crisp-upscale","image":["https://…/43157cff-….webp"]}
API вернул HTTP 200 через 27,3 с. Получился WEBP 4096×4096 размером 120 944 байта.

Из 1024 px можно получить 4096 px двумя вызовами. Второй шаг занял почти в пять раз больше первого, поэтому таймаут нельзя ставить по времени апскейла 1024→2048.
Дальше цепочка останавливается на лимите Recraft. Вход должен быть меньше 10 МБ, меньше 16 Мп, а его длинная сторона должна быть меньше 4096 px, поэтому готовый файл 4096×4096 повторно не увеличить.
Сколько стоит апскейл фото через API
Официальная цена Recraft API на 22.09.2026 — $0,004 за crisp upscale. В altrouter один вызов стоит $0,0034, что на 15% ниже официальной цены вендора.
Тысяча апскейлов по официальной цене стоит $4,00. В altrouter те же 1000 картинок стоят $3,40.

Есть понятная связка для изображений из генератора. Imagen 4 Fast создаёт картинку 1024×1024 за $0,023, а crisp upscale доводит её до 2048×2048 за $0,0034.
Итоговая цена картинки 2048×2048 в такой цепочке — $0,0264. Минус остаётся прежним: это не способ дорисовать отсутствующие детали, потому что crisp работает без выдумывания новых элементов.
Чек-лист и код
Перед массовым запуском я бы проверил пять вещей. Они следуют из пяти вызовов, где четыре запроса были успешными по $0,0034, а успешное время составило от 2,9 до 27,3 с.
- Передавайте картинку в
image— строкой или массивом; для пачки удобнее массив. - Не передавайте промпт: он не нужен и не работает.
- Планируйте только ×2 за вызов, а для ×4 запускайте два шага подряд.
- Проверяйте лимиты входа: меньше 10 МБ, меньше 16 Мп и длинная сторона меньше 4096 px.
- Ставьте таймаут с запасом: в моём замере 4096 px обрабатывались 27,3 с, поэтому в коде стоит 120 с.
import requests
KEY = "ar-..."
def upscale(image_url):
r = requests.post(
"https://api.altrouter.ai/v1/images/generations",
headers={"Authorization": f"Bearer {KEY}"},
json={"model": "recraft-crisp-upscale", "image": [image_url]},
timeout=120,
)
r.raise_for_status()
return r.json()["data"][0]["url"]
x2 = upscale("https://example.com/photo-1024.webp") # 1024 -> 2048
x4 = upscale(x2) # 2048 -> 4096
print(x2, x4)
Ключ берётся после регистрации, а описание остальных методов лежит в документации API. Подтверждение Telegram даёт $1 на тесты один раз, подписки нет.
Чего мы не проверяли
Мы не тестировали настоящие старые фотографии с шумом и JPEG-артефактами. Исходником была чистая сгенерированная картинка, которую мы сами уменьшили до 200×200.
Мы также не проверяли лица, текст на фото и файлы у лимитов Recraft. Сотни запросов подряд тоже не мерили: все запуски были одиночными.
FAQ
Как увеличить разрешение фото через API?
Отправьте POST на /v1/images/generations с моделью recraft-crisp-upscale и полем image — ссылкой или data: URL, строкой или в массиве. В нашем замере 1024×1024 стало 2048×2048 за 5,6 с.
Во сколько раз увеличивает Recraft Crisp Upscale?
Модель увеличивает изображение ровно в 2 раза по каждой стороне за вызов. В замере были цепочки 200→400, 1024→2048 и 2048→4096, а для ×4 нужны два вызова подряд.
Нужен ли промпт для апскейла?
Нет. Мы отправили make the mug red, и результат совпал байт в байт с вызовом без промпта.
Сколько стоит апскейл фото через API?
В altrouter апскейл стоит $0,0034 за картинку. Официальная цена Recraft на 22.09.2026 — $0,004, а 1000 апскейлов в altrouter стоят $3,40.
Какой максимальный размер картинки на входе?
По документации Recraft входной файл должен быть меньше 10 МБ и меньше 16 Мп. Самая длинная сторона должна быть меньше 4096 px, поэтому результат 4096×4096 нельзя подать на повторное увеличение.
Чем crisp upscale отличается от creative upscale?
Crisp увеличивает и чистит изображение без выдуманных деталей. Creative дорисовывает детали и стоит у Recraft $0,25 за запрос, но через altrouter он недоступен.