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