Recraft: Recraft V4.1 Utility
Recraft V4.1 Utility генерирует растровые изображения 1K для простых товарных снимков, мокапов и несложных сцен. Предпочитает ровное освещение и фронтальную композицию; текстовые промпты и необязательные изображения или стилевые входы задают предсказуемое визуальное направление.
О модели
Описание раскрывает возможности модели. Доступные в Ailoot входные данные, результаты и параметры выбранного метода перечислены ниже.
Recraft V4.1 Utility — стандартная растровая модель Utility семейства Recraft V4.1. Она предпочитает простые сцены, ровное освещение и фронтальную композицию, в отличие от более выразительного выбора ракурса, света и настроения основной V4.1. Практическая роль — ясный товарный снимок или мокап, где главенствуют объект и необходимые детали. Конкретная версия Utility отделена от Utility Pro, основной V4.1 и векторных вариантов с выходом SVG.
Код модели разработчика — recraftv4_1_utility. Она возвращает растровые изображения 1K в WebP без потерь или PNG, с размерами по поддерживаемым пропорциям. Квадрат — 1024 × 1024 пикселя, 4:3 — 1216 × 896. Utility Pro использует более крупные размеры 2K, которые не следует приписывать стандартной Utility. Выберите форму карточки товара или мокапа до описания сцены.
Полезное задание простыми словами называет товар, точку обзора, материал, поверхность, фон и свет. Для карточки запросите термобутылку спереди на светлом фоне с ровным освещением, полностью видимым силуэтом и без отвлекающих элементов. Если у товара есть фактические размеры или отличительные части, предоставьте их явно. Предпочтение Utility к прямой подаче не устанавливает факты о реальном товаре, отсутствующие в задании.
Генерация поддерживает промпты до 10 000 символов, настройки предпочтительных цветов и цвета фона, случайный seed и от одного до шести результатов. Необязательные совместимые пользовательские стили или референсные изображения направляют визуальный язык каталога. Используйте материалы с согласованным светом и отображением, сохраняя тот же совместимый стиль для следующих товарных заданий. Точное совпадение цвета референса и результата не гарантировано, поэтому сравнивайте готовый визуал с нужной палитрой. Для генерации по стилевым референсам используйте от одного до десяти PNG, JPG или WebP, суммарно не более 64 МБ и меньше 20 МБ каждый. Каждый референс должен иметь короткую сторону не менее 256 пикселей, длинную не более 4 096 и разрешение не более 16 мегапикселей. Используйте либо эти референсы, либо совместимый сохранённый стиль, а не оба варианта. Гибкое соответствие допускает более свободную интерпретацию, точное — ближе следует отображению, палитре, композиции и свету.
Отдельный процесс image-to-image использует существующее изображение и промпт с силой от 0 до 1, управляющей объёмом изменения. Меньшая сила сохраняет близость к источнику, большая позволяет сильнее отойти. Вход — PNG, JPG, WebP или SVG меньше 20 МБ, до 16 МП, со сторонами от 256 до 4096 пикселей. Пользовательские стили V4.1 не принимаются в этой операции преобразования, отличной от добавления стилевого референса к новой генерации.
V4.1 Utility не принимает готовые названия стилей, negative_prompt, text_layout, artistic_level или no_text. Прямо опишите желаемую итоговую сцену в позитивном промпте. Для серии товарных материалов сохраняйте указания кадрирования и фона, затем сравнивайте каждую картинку с формой, материалом и деталями предоставленного товара до использования в макете. Стандартная Utility — растровый инструмент для сдержанной презентации; выбирайте конкретный формат и версию под задачу.
Ailoot Ultra · Картинки POST /v1/images/generations recraft/recraft-v4.1-utility
recraft/recraft-v4.1-utilityНачало
Recraft V4.1 Utility генерирует растровые изображения 1K для простых товарных снимков, мокапов и несложных сцен. Предпочитает ровное освещение и фронтальную композицию; текстовые промпты и необязательные изображения или стилевые входы задают предсказуемое визуальное направление.
- Допустимые входные данные
- Текст · Картинки
- Результаты
- Картинки
Доступно в Ailoot · входные данные и методы
Ailoot Ultra · Картинки POST /v1/images/generations
- Входные данные
text,image- Результат
image
| Поле | Тип | Требование | Значения и ограничения | По умолчанию |
|---|---|---|---|---|
Полеmodel | Типstring | ТребованиеОбязательно | Значения и ограничения recraft/recraft-v4.1-utility | По умолчанию— |
Полеprompt | Типstring | ТребованиеОбязательно | Значения и ограничения Минимальная длина: 1 | По умолчанию— |
Полеaspect_ratio | Типstring | ТребованиеНеобязательно | Значения и ограничения 1:1, 4:3, 3:4, 16:9, 9:16, auto | По умолчанию— |
Полеn | Типinteger | ТребованиеНеобязательно | Значения и ограничения Минимум: 1 Максимум: 6 | По умолчанию— |
Полеinput_references | Типarray | ТребованиеНеобязательно | Значения и ограничения Минимум элементов: 0 Максимум элементов: 1 | По умолчанию— |
Полеprovider | Типobject | ТребованиеНеобязательно | Значения и ограничения | По умолчанию— |
Параметры и жизненный цикл метода
| Параметр | Контракт |
|---|---|
Параметрcontent_type | Контрактapplication/json |
Параметрrequired | Контрактmodel, prompt |
Параметрmaterial_types | Контрактtext, image |
Жизненный цикл: synchronous_result_then_owned_library
GET /v1/media/tasks/{task_id} · Фактически возвращённый task_id или запись в медиатеке
GET /v1/media/assets/{asset_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
Тарифы
Как рассчитывается итоговая плата
Отображаемые тарифы позволяют оценить стоимость до генерации. Итоговое списание рассчитывается по стоимости, записанной для исходной генерации. Измеренная длительность результата и прогнозные объёмы не являются итоговым оплачиваемым объёмом.
Тарифная справка не добавляет режимы запроса. Поддерживаемые параметры указаны для выбранного метода.
- Быстрый режим
- Не указано При выборе быстрого режима
- Режим flex
- Не указано При выборе режима flex
- Максимальная интенсивность рассуждений
- Не указано При максимальной интенсивности рассуждений с корректировкой по умолчанию (default)
Оценочные ставки для сравнения
Цены по конфигурациям
Сопоставьте каждую плату с указанными условиями. Для каждого набора альтернативных конфигураций используйте одну ставку.
| Конфигурация | Шкала ставок | Прогноз количества | Расчётная единица | Плата |
|---|---|---|---|---|
| КонфигурацияБазовые тарифы на токены | Шкала ставокБазовая ставка | Прогноз количества— | Расчётная единица— | Плата Вход · Входные токены · Оценка только для сравнения — / 1K токенов Выход · Выходные токены · Оценка только для сравнения — / 1K токенов Вход · Чтение кэша · Оценка только для сравнения — / 1K токенов Вход · Запись в кэш · Оценка только для сравнения — / 1K токенов Вход · Запись в кэш, 1 час · Оценка только для сравнения — / 1K токенов |
| Конфигурациявыходное изображение | Шкала ставок— | Прогноз количества— | Расчётная единицаза выходное изображение | Плата Выход · выходное изображение · Оценка только для сравнения $0.07 за выходное изображение |
| КонфигурацияОриентировочная стоимость генерации | Шкала ставок— | Прогноз количестваОценка для одной генерации | Расчётная единица— | Плата Выход · Оценочная стоимость генерации · Оценка только для сравнения $0.07 оценка до генерации Эта оценка не является дополнительным списанием или фиксированным тарифом для завершённой генерации. |
Ailoot резервирует расчётную сумму перед запросом. После получения результата списывает итоговую плату по измеренному расходу. Для окончательного списания за потоковый ответ используется итоговая запись расхода. Как работают резервирование и расчёт →
Примеры запросов
Ailoot Ultra · Картинки
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p={'model': 'recraft/recraft-v4.1-utility', 'prompt': 'a red panda astronaut floating in space, studio lighting'}
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/images/generations \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import base64, json, os, subprocess
from pathlib import Path
from urllib.parse import urlsplit, urljoin
def save_images(items):
if not items: raise SystemExit("No completed images; retain the full response")
for index, item in enumerate(items):
encoded=item.get("b64_json")
uri=item.get("url", "")
if not encoded and uri.startswith("data:image/"):
header, separator, encoded=uri.partition(",")
if not separator or ";base64" not in header: raise SystemExit("Unsupported image data URI")
if encoded:
raw=base64.b64decode(encoded,validate=True)
elif uri:
uri=urljoin("https://api.ailoot.ai",uri)
parsed=urlsplit(uri)
if parsed.scheme!="https" or not parsed.netloc or parsed.username or parsed.password:
raise SystemExit("Invalid returned image URL")
owned=parsed.netloc=="api.ailoot.ai" and parsed.path.startswith("/v1/media/assets/") and parsed.path.endswith("/content")
args=["curl","--fail-with-body","--silent","--show-error",uri]
if owned: args += ["-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"]]
temporary=Path(f"image-{index}.bin")
subprocess.run(args+["-o",str(temporary)],check=True)
raw=temporary.read_bytes()
temporary.unlink()
else: raise SystemExit("Image has neither bytes nor URL")
if not raw: raise SystemExit("Empty image result")
ext="png" if raw.startswith(b"\x89PNG") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4]==b"RIFF" and raw[8:12]==b"WEBP" else "svg" if raw.lstrip().startswith((b"<svg",b"<?xml")) else "bin"
Path(f"image-{index}.{ext}").write_bytes(raw)
print("Every returned image saved; complete response metadata retained")
save_images(json.loads(Path("result.json").read_text())["data"])
PY_RESULT
Получить и сохранить результаты
Ailoot Ultra · Картинки
Загрузите каждое полученное изображение или сохраните его содержимое Base64
GET /v1/media/tasks/{task_id}GET /v1/media/assets/{asset_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
Чтение другого содержимого
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \
-H "Authorization: Bearer $AILOOT_API_KEY" -o owned-assets.json
# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.
Сохраняйте все готовые результаты
Сохраните каждое готовое изображение; загрузите содержимое по каждому полученному URL или декодируйте его содержимое Base64.
Сохраняйте полный ответ и заголовки, все фактические результаты, исходные возвращённые идентификаторы и все поля использования. Восстанавливайте исходную операцию без повторной отправки запроса создания.
Если нужно проверить исходный ответ
Сохраните возвращённый X-Client-Request-ID для сверки. Читайте только фактически возвращённые значения task_id/asset_id или собственную медиатеку; никогда не составляйте URL задачи из ID операции и никогда не отправляйте запрос создания повторно.
Поля ответа
| Поле | Тип |
|---|---|
Полеcreated | Тип |
Полеdata[].url | Тип |
Полеdata[].b64_json | Тип |
Полеusage | Тип |
Псевдонимы
Псевдонимы моделей
Ailoot Ultra recraft/recraft-v4.1-utility
Псевдонимы путей метода
/v1/images
Связанные ID для вызова
FAQ · Recraft: Recraft V4.1 Utility
- Какие входные данные и результаты доступны?
POST /v1/images/generations·recraft/recraft-v4.1-utility:text,image→image- Какие поля использует запрос?
POST /v1/images/generations·recraft/recraft-v4.1-utility:model,prompt,aspect_ratio,n,input_references,provider- Какие ограничения действуют?
POST /v1/images/generations·recraft/recraft-v4.1-utility:n.minimum:1;n.maximum:6