Recraft: Recraft V4.1 Flash
Recraft V4.1 Flash визуалдық идеяларды жылдам қайталап сынау үшін мәтіннен 1K растрлық кескіндер жасайды. Ол фотографияны, портреттерді, күрделі көріністер мен логотип тұжырымдамаларын қолдайды; нәтижесі PNG немесе шығынсыз WebP пішімінде беріледі, қалаулы түстерді анық көрсетуге болады.
Модель туралы
Бұл сипаттама модель мүмкіндіктерін қамтиды. Ailoot жүйесінде таңдалған әдіс үшін қолжетімді кіріс, шығыс және параметрлер төменде берілген.
Recraft V4.1 Flash — Recraft компаниясының жылдам итерацияға және көп көлемдегі визуалдық жұмысқа арналған text-to-image моделі. Өндіруші фотографияны, портреттерді, атмосфераны, күрделі көріністерді, аралас техникалар мен логотип тұжырымдамаларын оның мықты қолданылу бағыттары деп атайды. Жазбаша тапсырма растрлық кескінге айналады, оны соңғы материал жасалмас бұрын басқа шығармашылық бағыттармен салыстыруға болады. Flash — V4.1 топтамасының өзіндік нәтиже өлшемі мен қолдау көрсетілетін басқару параметрлері бар нақты мүшесі.
Тікелей нәтиже Recraft компаниясының 1K растрлық кескіндер санатына жатады. Кенепті орналастыру орнына қарай таңдаңыз: бет тақырыбына көлденең иллюстрация, тік портрет немесе ықшам карточкаға шаршы кескін. Нәтиже пішімдері — шығынсыз WebP және PNG.
Тапсырманы негізгі нысан мен визуалдық мақсаттан бастап, кейін кадрлауды, ортаны, жарық пен бейнелеу техникасын сипаттаңыз. Тауар тұжырымдамасы үшін мынадай нұсқау пайдалы: «Жаңғақ ағашынан жасалған үстелдегі ықшам крем түсті радио, алдынан үш ширектік ракурс, терезеден түскен жұмсақ жарық, байсалды редакциялық фото, сол жақта мол бос орын». Иллюстрация үшін пішіндер тілін, палитраны және элементтердің өзара байланысын атаңыз. Қатыссыз сын есімдер қоспай, идеяны айқындайтын бөлшектерді нақты көрсетіңіз. Flash үшін құжатталған сұрау шегі — 10 000 таңбаға дейін, сондықтан тапсырма қажет етсе, көріністі егжей-тегжейлі сипаттауға болады.
Өндірушінің басқару параметрлеріне қалаулы түстер мен қажетті фон түсі кіреді. Қайталанатын нәтиже үшін seed беруге болады, ал генерация интерфейсінде бір сұрауда бірден алтыға дейін кескін құжатталған. Бұл басқару мүмкіндіктері салыстыруға ыңғайлы: нысан мен композицияны тұрақты ұстап, бір визуалдық бағытты өзгертіңіз де, алынған кескіндерді жоспарланған макетте қараңыз. Түс қалаулары сұралған нәтижені сипаттайды; материалды бар дизайн жүйесімен біріктірмес бұрын брендтің маңызды түстерін дайын кескінмен салыстырыңыз.
Flash растрлық графика жасайды. Логотип тұжырымдамасы сұлба, көңіл күй немесе орналасуды таңдауға көмектеседі, ал өңделетін контурлар бөлек аталған Vector модельдеріне тиесілі. Flash моделінің Pro нұсқасы да жоқ. Векторлық өңдеу немесе жоғары ажыратымдылықтағы бөлшектер негізгі талап болса, толық V4.1 желісі осындай бөлек таңдаулар ұсынады. Өндіруші таңдалған нобайды егжей-тегжейлі кескінге жақындататын кейінгі жетілдіру кезеңін сипаттайды; ол Flash моделінің басқа тікелей нәтиже өлшемі емес, бөлек операция.
Бұл нұсқа image-to-image кірісін, жеке стильдерді, стиль идентификаторларын, стиль сәйкестендіруін немесе стиль үлгісі кескіндерін қолдамайды. Құжатталған интерфейс теріс сұраулар мен мәтін орналасуын тікелей басқаруды да қамтымайды. Қажетті сыртқы көрініс пен композицияны оң тапсырмада беріңіз. Тұжырымдамада жазу болса, қалаған мәтінді тырнақшаға алып, жасалған әріптерді тексеріңіз; дәл типография мен орналастыру маңызды болса, бөлек беттеу кезеңін қолданыңыз.
Flash моделінің практикалық нәтижесі — анық тапсырмасы, лайық арақатынасы және пайдалануға болатын растрлық файлы бар таңдалған визуалдық бағыт. Нысанды, кадрлауды, фон мен маңызды бөлшектерді кескін көрсетілетін өлшемде салыстырыңыз. Келесі шығармашылық қадам таңдалған бағытты ұстануы үшін сәтті сұрау мен таңдалған файлды бірге сақтаңыз. Жылдам итерация дизайнды зерттеуге көмектеседі; тікелей векторлық нәтиже, үлгі стилін сәйкестендіру және басқа V4.1 нұсқасының ажыратымдылығы бөлек модель таңдаулары болып қалады.
Ailoot Ultra · Суреттер POST /v1/images/generations recraft/recraft-v4.1-flash
recraft/recraft-v4.1-flashБастау
Recraft V4.1 Flash визуалдық идеяларды жылдам қайталап сынау үшін мәтіннен 1K растрлық кескіндер жасайды. Ол фотографияны, портреттерді, күрделі көріністер мен логотип тұжырымдамаларын қолдайды; нәтижесі PNG немесе шығынсыз WebP пішімінде беріледі, қалаулы түстерді анық көрсетуге болады.
- Қабылданатын кіріс деректері
- Мәтін
- Нәтижелер
- Суреттер
Ailoot жүйесінде қолжетімді · кіріс деректері мен әдістер
Ailoot Ultra · Суреттер POST /v1/images/generations
- Кіріс
text- Шығыс
image- Шығыс пішімі
- Сурет файлы
- Нәтижелер саны
- 1 шығыс
| Өріс | Түрі | Талап | Мәндер мен шектеулер | Әдепкі |
|---|---|---|---|---|
Өрісmodel | Түріstring | ТалапМіндетті | Мәндер мен шектеулер recraft/recraft-v4.1-flash | Әдепкі— |
Өрісprompt | Түріstring | ТалапМіндетті | Мәндер мен шектеулер Ең аз ұзындық: 1 Шарттар: Бос емес UTF8 промпты. Өндірушінің барлық модельдеріне ортақ таңба шегі ойдан қосылмайды. | Әдепкі— |
Өрісn | Түріinteger | ТалапМіндетті емес | Мәндер мен шектеулер 1 | Әдепкі1 |
Өрісresponse_format | Түріstring | ТалапМіндетті емес | Мәндер мен шектеулер url, b64_json | Әдепкі— |
Өрісstream | Түріboolean | ТалапМіндетті емес | Мәндер мен шектеулер false | Әдепкіfalse |
Кіріс материалдарының үйлесімдері
Мәтіннен сурет жасау · Міндетті: prompt
Әдіс параметрлері мен өмірлік циклі
| Параметр | Параметр талаптары |
|---|---|
Параметрcontent_type | Параметр талаптарыapplication/json |
Параметрrequired | Параметр талаптарыmodel, prompt |
Параметрmaterial_types | Параметр талаптарыtext |
Параметрoptional | Параметр талаптарыn, response_format, stream |
Параметрn | Параметр талаптары1 |
Параметрstream | Параметр талаптарыfalse |
Параметрresponse_format | Параметр талаптарыurl, b64_json |
Параметрreference_images | Параметр талаптарыfalse |
Параметрedit | Параметр талаптарыfalse |
Параметрoutput_format_optional | Параметр талаптары |
Параметрresolution_control | Параметр талаптарыnull |
Параметрaspect_ratio_control | Параметр талаптарыnull |
Параметрother_fields | Параметр талаптарыдәл бекітілген ішкі жеткізуші маршрутизациясынан басқасының бәрі қабылданбайды |
Өмірлік цикл: 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}
Промпт бойынша бір сурет жасаңыз.
Әрбір дерек элементін сақтаңыз; url/b64_json — нәтижені кодтау пішімдері.
Тарифтер
Қорытынды төлем қалай есептеледі
Көрсетілген тарифтер генерация басталғанға дейінгі құнын бағалауға арналған. Соңғы төлем бастапқы генерация үшін тіркелген құннан есептеледі. Нәтиженің өлшенген ұзақтығы мен болжамды көлемдер төлемге негіз болатын түпкілікті көлем болып саналмайды.
Тариф анықтамасы сұрау мүмкіндіктерін қоспайды. Қолдау көрсетілетін параметрлер таңдалған әдісте берілген.
- Жылдам режим
- Көрсетілмеген Жылдам режим таңдалғанда
- Икемді режим
- Көрсетілмеген flex режимі таңдалғанда
- Ой қорытудың ең жоғары деңгейі
- Көрсетілмеген Ой қорыту деңгейі ең жоғары болып, default түзетуі қолданылғанда
Салыстыруға арналған болжамды мөлшерлемелер
Баптаулар бойынша бағалар
Әр төлемді көрсетілген шарттармен салыстырыңыз. Балама баптаулардың әр жиыны үшін бір мөлшерлемені қолданыңыз.
| Баптау | Мөлшерлемелер кестесі | Болжамды мөлшер | Есептеу бірлігі | Төлем |
|---|---|---|---|---|
| БаптауТокендердің базалық тарифтері | Мөлшерлемелер кестесіНегізгі мөлшерлеме | Болжамды мөлшер— | Есептеу бірлігі— | Төлем Кіріс · Кіріс токендері · Тек салыстыруға арналған бағалау — / 1K токен Шығыс · Шығыс токендері · Тек салыстыруға арналған бағалау — / 1K токен Кіріс · Кэшті оқу · Тек салыстыруға арналған бағалау — / 1K токен Кіріс · Кэшке жазу · Тек салыстыруға арналған бағалау — / 1K токен Кіріс · Кэшке жазу, 1 сағ · Тек салыстыруға арналған бағалау — / 1K токен |
| БаптауUltra | Мөлшерлемелер кестесі— | Болжамды мөлшер— | Есептеу бірлігішығыс суреті үшін | Төлем Шығыс · кескін шығысы · Тек салыстыруға арналған бағалау $0.014 шығыс суреті үшін |
| БаптауГенерацияның болжамды құны | Мөлшерлемелер кестесі— | Болжамды мөлшербір генерацияға арналған болжам | Есептеу бірлігі— | Төлем Шығыс · Генерацияның болжамды құны · Тек салыстыруға арналған бағалау $0.014 жасауға дейінгі бағалау Бұл бағалау қосымша төлем де, аяқталған генерация үшін белгіленген тұрақты тариф те емес. |
Ailoot сұрау алдында болжамды соманы резервтейді. Нәтижеден кейін өлшенген пайдалану көлемі бойынша қорытынды төлемді шегереді. Ағындық жауап үшін төлем соңғы пайдалану жазбасы негізінде шегеріледі. Резервтеу мен төлемді есептеу тәртібі →
Анықтамалық тариф мәліметтері
Модельдің анықтамалық кестелері әдіс таңдауын, баға есебін не төлемді өзгертпейді. Қолданыстағы төлемдер таңдалған Ailoot әдісінің мөлшерлемелерімен есептеледі.
Суреттердің баға конфигурациялары
Баптаулар бойынша бағалар
| Баптау | Төлемді есептеу шарттары | Төлем |
|---|---|---|
| БаптауШығыс суреті | Төлемді есептеу шарттарыБаға нұсқасы мәлімделмеген. | Төлем Шығыс · Шығыс кескін $0.014 сурет үшін Баламалы жазбалар бір төлемді сипаттайды; олар екінші алым қоспайды. |
Сұрау мысалдары
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=json.loads('{"model": "recraft/recraft-v4.1-flash", "prompt": "A lighthouse on a cliff, watercolor", "n": 1, "response_format": "b64_json"}')
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
from openai import OpenAI
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")
request={'model': 'recraft/recraft-v4.1-flash', 'prompt': 'A lighthouse on a cliff, watercolor', 'n': 1, 'response_format': 'b64_json'}
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.images.generate(**request)
Path("sdk-result.txt").write_text(str(result),encoding="utf-8")
save_images([{"b64_json":getattr(item,"b64_json",None),"url":getattr(item,"url",None)} for item in result.data])
import OpenAI from "openai";
import { readFileSync, writeFileSync } from "node:fs";
const key=process.env.AILOOT_API_KEY;
if(!key) throw new Error("Set your actual Ailoot API key");
const client=new OpenAI({baseURL:"https://api.ailoot.ai/v1",apiKey:key,maxRetries:0});
const request={"model": "recraft/recraft-v4.1-flash", "prompt": "A lighthouse on a cliff, watercolor", "n": 1, "response_format": "b64_json"};
const result=await client.images.generate(request);
writeFileSync("sdk-result.json",JSON.stringify(result,null,2));
if(!result.data?.length) throw new Error("No completed images");
for(let index=0;index<result.data.length;index++) {
const item=result.data[index];let encoded=item.b64_json,uri=item.url||"",raw;
if(!encoded && uri.startsWith("data:image/")) {
const comma=uri.indexOf(",");if(comma<0 || !uri.slice(0,comma).includes(";base64")) throw new Error("Unsupported image data URI");
encoded=uri.slice(comma+1);
}
if(encoded) {
if(encoded.length%4!==0 || !/^[A-Za-z0-9+/]*={0,2}$/.test(encoded)) throw new Error("Invalid Base64");
raw=Buffer.from(encoded,"base64");
} else if(uri) {
const u=new URL(uri,"https://api.ailoot.ai");
if(u.protocol!=="https:" || u.username || u.password) throw new Error("Invalid returned URL");
const owned=u.origin==="https://api.ailoot.ai" && u.pathname.startsWith("/v1/media/assets/") && u.pathname.endsWith("/content");
const response=await fetch(u,{headers:owned?{Authorization:"Bearer "+key}:{},redirect:"manual"});
if(!response.ok) throw new Error("Image content download failed: "+response.status);
raw=Buffer.from(await response.arrayBuffer());
} else throw new Error("Image has neither bytes nor URL");
if(!raw.length) throw new Error("Empty image result");
const ext=raw.subarray(0,4).equals(Buffer.from([137,80,78,71]))?"png":raw[0]===255&&raw[1]===216?"jpg":raw.toString("ascii",0,4)==="RIFF"&&raw.toString("ascii",8,12)==="WEBP"?"webp":raw.toString("utf8").trimStart().startsWith("<svg")||raw.toString("utf8").trimStart().startsWith("<?xml")?"svg":"bin";
writeFileSync(`image-${index}.${ext}`,raw);
}
console.log("Every returned image saved; sdk-result.json retains complete metadata");
Нәтижелерді алу және сақтау
Ailoot Ultra · Суреттер
Қайтарылған әр суретті жүктеп алыңыз немесе оның Base64 мазмұнын сақтаңыз
GET /v1/media/tasks/{task_id}GET /v1/media/assets/{asset_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
Барлық дайын нәтижені сақтау
Әр дайын суретті сақтаңыз; қайтарылған әр URL арқылы мазмұнды алыңыз немесе оның Base64 мазмұнын декодтаңыз.
Әрбір дерек элементін сақтаңыз. Әрбір b64_json мәнін декодтаңыз немесе қайтарылған әрбір қолтаңбаланған URL мекенжайынан жүктеп алыңыз. Файл атауының кеңейтімін нақты MIME түріне/байттарға қарап таңдаңыз.
Бастапқы жауапты тексеру қажет болса
Кескінді генерациялау немесе өңдеу нәтижесін тексеру қажет болса, бастапқы operation_id/X-Client-Request-ID мәнін және қайтарылған нәтиже туралы ақпаратты сақтаңыз. Нақты task_id немесе asset_id мәндерін қолданып, өзіңізге тиесілі бұрыннан бар нәтижелерді медиатека арқылы қалпына келтіріңіз. Генерациялау/өңдеу сұрауын қайта жібермеңіз және operation_id мәнінен күйді сұратуға арналған URL мекенжайын құрастырмаңыз.
Жауап өрістері
| Өріс | Түрі |
|---|---|
Өрісcreated | Түріinteger |
Өрісdata[].url | Түріstring |
Өрісdata[].b64_json | Түріbase64 string |
Өрісusage | Түріobject |
Қателер және келесі қадамдар
| Жауап | Шарт | Келесі қадам |
|---|---|---|
Жауап400 · invalid_request_error | ШартМіндетті өрістер, материалды ұсыну тәсілі немесе параметр мәні қате | Келесі қадамЖаңадан жасау сұрауын жібермес бұрын көрсетілген өрістерді түзетіңіз. |
Жауапserver_error | ШартҚайтарылған жауапта операцияны немесе нәтижені тексеру қажет екені көрсетілген | Келесі қадамБастапқыда қайтарылған операцияның/тапсырманың ID мәнін, сұрау тақырыптарын және жауабын сақтаңыз; сол бастапқы операцияны қолдау көрсетілетін тәсілдермен оқуды жалғастырыңыз. Жасау сұрауын қайта жібермеңіз. |
Балама атаулар
Модельдердің балама атаулары
Ailoot Ultra recraft/recraft-v4.1-flash
Әдіс жолдарының балама атаулары
Жоғарыда көрсетілген әдіс жолдарын пайдаланыңыз.
Шақыруға арналған байланысты ID
FAQ · Recraft: Recraft V4.1 Flash
- Қандай кіріс деректері мен нәтижелер қолжетімді?
POST /v1/images/generations·recraft/recraft-v4.1-flash:text→image- Сұрау қандай өрістерді пайдаланады?
POST /v1/images/generations·recraft/recraft-v4.1-flash:model,prompt,n,response_format,stream