Recraft: Recraft V4.1
Recraft V4.1 создаёт растровые изображения 1K с естественным фотореализмом, выразительной иллюстрацией и продуманной композицией. Развивает краткое творческое направление или следует подробному заданию, с необязательными входными изображениями и пользовательскими стилями.
О модели
Описание раскрывает возможности модели. Доступные в Ailoot входные данные, результаты и параметры выбранного метода перечислены ниже.
Recraft V4.1 — основная растровая модель семейства Recraft V4.1. Она предназначена для выразительных изображений: естественных фотографий, иллюстраций и объёмных визуальных концепций. Разработчик представляет её как модель, принимающую эстетические решения по короткому промпту и отвечающую на подробные творческие указания. Используйте её для исследования, концепций и изображений, где настроение, свет и композиция входят в результат, а не сводятся к простому фронтальному виду товара.
Точный код разработчика — recraftv4_1. Она возвращает растровые изображения 1K в WebP без потерь или PNG: квадрат 1024 × 1024 пикселя, 16:9 — 1344 × 768. Другие поддерживаемые пропорции имеют собственные размеры. V4.1 Pro — отдельная растровая версия 2K, Vector возвращает редактируемый SVG, Utility ориентирована на более простое освещение и сцены. Эти ветви решают разные задачи, их нельзя объединять в один набор свойств результата.
Разработчик выделяет более естественные фотографические сцены, спокойный фон, плавные градиенты и широкий иллюстративный диапазон. Примеры включают выразительные надписи, плоскую персонажную иллюстрацию и рисованный лист референсов персонажа. Короткий промпт оставляет место интерпретации; подробное задание фиксирует объект, позу, материал, фон и композицию. Для объёмного визуала задайте поверхность и свет, помня, что результат — изображение, а не сетка или редактируемый 3D-проект.
Для концепции места чтения запросите камерную фотографию маленького читального уголка, тёплый дневной свет, книги и один керамический предмет с непринуждённым, не выставочным расположением. Управляемое иллюстративное задание может вместо этого называть графический объект, цветовые отношения и характер линий. Укажите пропорции и наиболее важные визуальные решения. Так проще определить, полезна ли неожиданная деталь как творческая интерпретация или её нужно изменить в следующем задании.
Справочник генерации допускает промпты до 10 000 символов, случайный seed, предпочтительные цвета и желаемый цвет фона, от одного до шести результатов. Необязательные референсы или совместимые сохранённые стили задают визуальный язык с гибким или точным соответствием. Для основной V4.1 они не обязательны. Выбирайте чистые согласованные источники, задавая новое содержание промптом; воспроизведение цвета референса не гарантировано. Для генерации по стилевым референсам используйте от одного до десяти PNG, JPG или WebP, суммарно не более 64 МБ и меньше 20 МБ каждый. Короткая сторона каждого — не менее 256 пикселей, длинная — не более 4 096, разрешение — не более 16 мегапикселей. Используйте либо эти референсы, либо совместимый сохранённый стиль, а не вместе.
V4.1 также поддерживает отдельный процесс image-to-image с существующим изображением, текстом и силой от 0 до 1. Сила определяет близость нового изображения к источнику; операция не принимает пользовательские стили V4.1. Текущий справочник генерации исключает negative_prompt, готовые стили, text_layout, artistic_level и no_text. Прямо опишите сцену и проверьте материал в целевом макете, включая детали, кадрирование и надписи, до выбора сохраняемого направления. Для image-to-image предоставьте PNG, JPG, WebP или SVG меньше 20 МБ, не более 16 мегапикселей, с обеими сторонами от 256 до 4 096 пикселей.
Ailoot Ultra · Картинки POST /v1/images/generations recraft/recraft-v4.1
recraft/recraft-v4.1Начало
Recraft V4.1 создаёт растровые изображения 1K с естественным фотореализмом, выразительной иллюстрацией и продуманной композицией. Развивает краткое творческое направление или следует подробному заданию, с необязательными входными изображениями и пользовательскими стилями.
- Допустимые входные данные
- Текст · Картинки
- Результаты
- Картинки
Доступно в Ailoot · входные данные и методы
Ailoot Ultra · Картинки POST /v1/images/generations
- Входные данные
text,image- Результат
image
| Поле | Тип | Требование | Значения и ограничения | По умолчанию |
|---|---|---|---|---|
Полеmodel | Типstring | ТребованиеОбязательно | Значения и ограничения recraft/recraft-v4.1 | По умолчанию— |
Поле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', '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
Псевдонимы путей метода
/v1/images
Связанные ID для вызова
FAQ · Recraft: Recraft V4.1
- Какие входные данные и результаты доступны?
POST /v1/images/generations·recraft/recraft-v4.1:text,image→image- Какие поля использует запрос?
POST /v1/images/generations·recraft/recraft-v4.1:model,prompt,aspect_ratio,n,input_references,provider- Какие ограничения действуют?
POST /v1/images/generations·recraft/recraft-v4.1:n.minimum:1;n.maximum:6