modellar

Recraft: Recraft V4

Markdown · JSON

Recraft: Recraft V4

Recraft V4 kompozitsiya, rang munosabatlari va batafsil ijodiy yo‘nalishga e’tibor qaratib, 1K rastr tasvirlar yaratadi. U ixtiyoriy uslub kirishlari va alohida tasvirdan tasvir jarayoni bilan illyustratsiya, fotorealistik sahnalar hamda grafik dizayn g‘oyalarini qamrab oladi.

Model haqida

Bu tavsif model imkoniyatlarini yoritadi. Ailoot da tanlangan usul uchun mavjud kirish, chiqish va parametrlar quyida keltirilgan.

Recraft V4 — Recraft’ning V4 avlodidagi standart rastr model. Ishlab chiqaruvchi dizayn tanlovini ta’kidlaydi: muvozanatli kompozitsiya, uyg‘un rang munosabatlari va vizual niyatga xizmat qiladigan detallar. U uslublashtirilgan illyustratsiya, fotografik sahnalar va grafik dizayn g‘oyalari bilan ishlay oladi. Qisqa yo‘nalishdan kayfiyat izlash yoki maqsadli maketni batafsil belgilashda, topshiriq estetik tanlovlarni aniqlik bilan birlashtirgan tasvir talab qilsa undan foydalaning.

Aniq model kodi recraftv4. Ishlab chiqaruvchi ma’lumotnomasi yo‘qotishsiz WebP yoki PNG shaklida 1K rastr natijani ko‘rsatadi. Kvadrat tasvir 1024 × 1024 piksel, 16:9 — 1344 × 768, 2:3 esa 832 × 1280; boshqa qo‘llanadigan nisbatlar o‘z o‘lchamlariga ega. V4 Pro alohida 2K rastr nashr, V4 Vector va Pro Vector esa tahrirlanadigan SVG qaytaradi. Turli chiqish xususiyatlarini birlashtirmasdan, kerakli natija uchun aniq V4 variantini tanlang.

Ishlab chiqaruvchi qo‘llanmasi qisqa talqinli topshiriqlarni tuzilmali ijodiy yo‘nalishdan ajratadi. Qisqa ibora shakl, kayfiyat va kadr kompozitsiyasini o‘rganishga joy qoldiradi. Tuzilmali topshiriq obyekt, muhit, poza, material, ikkinchi darajali elementlar, yoritish va vizual iyerarxiyani nomlashi mumkin. Hikoyaviy illyustratsiya uchun kichik ko‘prikdan o‘tayotgan velosipedchi, dadil soddalashtirilgan shakllar, iliq sokin ranglar va chapdan o‘ngga aniq harakatni tasvirlang. Bu mazmun va kompozitsiya qarorlari aloqasiz uslub sifatlarining uzun ro‘yxatidan amaliyroq.

V4 doirasiga illyustratsiya, hajmli tasvirlar va fotorealistik vizuallar kiradi. Qo‘llanma illyustratsiyada chizish mantig‘ini, 3D ko‘rinishdagi tasvirda esa material, yorug‘lik, kamera va chuqurlikni tasvirlashni tavsiya qiladi. Ikkinchisi tahrirlanadigan mesh emas, rastr vizual bo‘lib qoladi. Plakat yoki qadoqlash g‘oyasi uchun qaysi so‘zlar asosiy, qayerda turishi va tasvir hamda tipografiya qanday bog‘lanishini ayting. Ishlab chiqaruvchi o‘qiladigan qisqa va o‘rtacha uzunlikdagi matnni ta’kidlaydi; ishlatishdan avval qaytgan tasvirdagi haqiqiy so‘zlar va joylashuvni tekshiring.

Yaratish 10,000 belgigacha topshiriq, tasodifiy seed, birdan oltitagacha natija, afzal ranglar va kerakli fon rangini qo‘llaydi. Ixtiyoriy mos maxsus uslublar va namuna tasvirlari flexible yoki precise matching orqali vizual ishlovni yo‘naltirishi mumkin. Bitta toza namuna yoki umumiy vizual dunyoga mansub to‘plamni tanlang, yangi obyekt va sahnani esa topshiriq tasvirlasin. Namuna va natija orasida rang mosligi kafolatlanmaydi, shuning uchun kerakli palitrani aniq saqlang va natijani unga solishtiring. Namuna uslubida yaratish uchun birdan o‘ntagacha PNG, JPG yoki WebP, jami ko‘pi bilan 64 MB va har biri 20 MB dan kichik tasvir ishlating. Har bir namunaning eng qisqa tomoni kamida 256 piksel, eng uzuni ko‘pi bilan 4,096 piksel, aniqligi esa ko‘pi bilan 16 megapiksel bo‘lishi kerak. Shu namunalar yoki mos saqlangan uslubdan birini ishlating, ikkalasini birga emas.

Hujjatlashtirilgan tasvirdan tasvir amali mavjud tasvir va topshiriqni birlashtiradi; 0 dan 1 gacha strength yangi natija manbadan qanchalik uzoqlashishini belgilaydi. Ushbu amalda V4 uslub boshqaruvlari qabul qilinmaydi. Hozirgi yaratish ma’lumotnomasi tayyor tanlangan uslub nomlari, negative_prompt, text_layout, artistic_level va no_text ni ham istisno qiladi. Kerakli natijaning ijobiy tavsifini tayyorlang va materialni maqsad kompozitsiyasi ichida baholang. Standart V4 aniq nashr, format va chiqish o‘lchamiga ega yo‘naltirilgan rastr dizayn talqinini beradi. Tasvirdan tasvir uchun 20 MB dan kichik, ko‘pi bilan 16 megapikselli, ikkala tomoni 256–4,096 piksel oralig‘idagi PNG, JPG, WebP yoki SVG bering.

Ailoot Ultra · Rasmlar POST /v1/images/generations recraft/recraft-v4

recraft/recraft-v4

Recraft /recraft/recraft-v4

Boshlash

Recraft V4 kompozitsiya, rang munosabatlari va batafsil ijodiy yo‘nalishga e’tibor qaratib, 1K rastr tasvirlar yaratadi. U ixtiyoriy uslub kirishlari va alohida tasvirdan tasvir jarayoni bilan illyustratsiya, fotorealistik sahnalar hamda grafik dizayn g‘oyalarini qamrab oladi.

Qabul qilinadigan kirish ma’lumotlari
Matn · Rasmlar
Natijalar
Rasmlar

Ailoot da mavjud · kirish ma’lumotlari va usullar

Ailoot Ultra · Rasmlar POST /v1/images/generations
Kirish
text, image
Chiqish
image
Chiqish formati
Rasm fayli
MaydonTurTalabQiymatlar va cheklovlarStandart
MaydonmodelTurstringTalabMajburiyQiymatlar va cheklovlar
recraft/recraft-v4
Standart—
MaydonpromptTurstringTalabMajburiyQiymatlar va cheklovlar
Eng kam uzunlik: 1
Standart—
MaydonnTurintegerTalabIxtiyoriyQiymatlar va cheklovlar
Eng kam: 1
Eng ko‘p: 6
Standart—
Maydonaspect_ratioTurstringTalabIxtiyoriyQiymatlar va cheklovlar
1:1, 4:3, 3:4, 16:9, 9:16, auto
Standart—
Maydoninput_referencesTurarrayTalabIxtiyoriyQiymatlar va cheklovlar
Elementlarning eng kam soni: 0
Elementlarning eng ko‘p soni: 1
Standart—
Kirish materiallari birikmalari

Matndan rasm · Majburiy: prompt

reference_guided_image · Majburiy: prompt, actual image reference

Usul parametrlari va hayot sikli
ParametrParametr talablari
Parametrcontent_typeParametr talablariapplication/json
ParametrrequiredParametr talablarimodel, prompt
Parametrmaterial_typesParametr talablaritext, image
Parametroptional_controlsParametr talablarin, aspect_ratio, input_references
ParametrnParametr talablari{"minimum":1,"maximum":6}
Parametrreference_imagesParametr talablari{"minimum":0,"maximum":1,"source":"mijoz bergan haqiqiy material"}
Parametrprovider_specific_optionsParametr talablariFaqat saqlangan aniq endpoint ruxsat ro‘yxatidagi style/controls/text_layout; taxminiy tuzilmalar yo‘q.

Usul taxalluslari: /v1/images

Hayot sikli: synchronous_result_then_owned_library

GET /v1/media/tasks/{task_id} · Amalda qaytarilgan task_id yoki media kutubxonasidagi yozuv

GET /v1/media/assets/{asset_id}/content

GET /v1/media/assets

GET /v1/media/assets/{asset_id}

Faqat matnli ko‘rsatma berilgan misolda rasmiy ImageGenerationRequest tuzilmasi saqlanadi.

Qaytarilgan har bir rasmni va to‘liq javobni saqlang; chiqishlar soni so‘ralgan n emas, haqiqiy sondir.

Tariflar

Yakuniy to‘lov qanday hisoblanadi

Ko‘rsatilgan tariflar xarajatni generatsiyadan oldin taxminiy hisoblash uchun xizmat qiladi. Yakuniy to‘lov dastlabki generatsiya uchun qayd etilgan xarajat asosida hisoblanadi. Natijaning o‘lchangan davomiyligi va oldindan taxmin qilingan miqdorlar haq undiriladigan yakuniy miqdor hisoblanmaydi.

Tarif ma’lumotlari so‘rov imkoniyatlarini qo‘shmaydi. Qo‘llab-quvvatlanadigan parametrlar tanlangan usulda ko‘rsatilgan.

Tezkor rejim
Ko‘rsatilmagan Tezkor rejim tanlanganda
Flex rejimi
Ko‘rsatilmagan flex rejimi tanlanganda
Maksimal fikrlash darajasi
Ko‘rsatilmagan Maksimal fikrlash darajasi uchun standart (default) tuzatish qo‘llanganda

Taqqoslash uchun taxminiy tariflar

Sozlamalar bo‘yicha narxlar

Har bir to‘lovni ko‘rsatilgan shartlarga moslang. Har bir muqobil sozlamalar to‘plami uchun bitta tarifdan foydalaning.

SozlamaTariflar jadvaliPrognoz miqdoriHisob birligiTo‘lov
SozlamaTokenlar uchun bazaviy tariflarTariflar jadvaliAsosiy tarifPrognoz miqdori—Hisob birligi—To‘lov
Kirish · Kirish tokenlari · Faqat taqqoslash uchun taxmin — / 1K token
Chiqish · Chiqish tokenlari · Faqat taqqoslash uchun taxmin — / 1K token
Kirish · Keshdan o‘qish · Faqat taqqoslash uchun taxmin — / 1K token
Kirish · Keshga yozish · Faqat taqqoslash uchun taxmin — / 1K token
Kirish · Keshga yozish, 1 soat · Faqat taqqoslash uchun taxmin — / 1K token
SozlamaUltraTariflar jadvali—Prognoz miqdori—Hisob birligichiqish rasmi uchunTo‘lov
Chiqish · chiqish rasmi · Faqat taqqoslash uchun taxmin $0.08 chiqish rasmi uchun
SozlamaYaratishning taxminiy qiymatiTariflar jadvali—Prognoz miqdoribir generatsiya uchun taxminHisob birligi—To‘lov
Chiqish · Yaratishning taxminiy narxi · Faqat taqqoslash uchun taxmin $0.08 yaratishdan oldingi taxmin

Bu taxmin qo‘shimcha to‘lov ham, tugallangan generatsiya uchun qat’iy tarif ham emas.

Ailoot so‘rovdan oldin taxminiy summani band qiladi. Natijadan keyin o‘lchangan sarf asosidagi yakuniy to‘lovni yechadi. Oqimli javob bo‘yicha yakuniy hisob-kitob yakuniy sarf yozuviga asoslanadi. Summani band qilish va to‘lovni hisoblash tartibi →

Ma’lumot uchun tarif tafsilotlari

Modelning ma’lumot jadvallari usul tanlash, narx hisobi yoki to‘lovlarni o‘zgartirmaydi. Amaldagi to‘lovlar tanlangan Ailoot usuli tariflari bo‘yicha hisoblanadi.

Rasm narxining sozlamalari

Sozlamalar bo‘yicha narxlar

SozlamaTo‘lovni hisoblash shartlariTo‘lov
SozlamaChiqish rasmiTo‘lovni hisoblash shartlariNarxlash varianti e’lon qilinmagan.To‘lov
Chiqish · Chiqish rasmi $0.08 rasm uchun

Teng kuchli yozuvlar ayni to‘lovni tavsiflaydi; ular ikkinchi haqni qo‘shmaydi.

So‘rov namunalari

Ailoot Ultra · Rasmlar

curlPython SDKNode.js SDK
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', '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
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', 'prompt': 'a red panda astronaut floating in space, studio lighting'}
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", "prompt": "a red panda astronaut floating in space, studio lighting"};
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");

Natijalarni olish va saqlash

Ailoot Ultra · Rasmlar

Har bir qaytarilgan rasmni yuklab oling yoki uning Base64 kontentini saqlang

  • GET /v1/media/tasks/{task_id}
  • GET /v1/media/assets/{asset_id}/content
  • GET /v1/media/assets
  • GET /v1/media/assets/{asset_id}
Barcha tayyor natijalarni saqlash

Har bir tayyor rasmni saqlang; har bir qaytarilgan URL dan kontentni oling yoki uning Base64 kontentini dekodlang.

Har bir data elementini va to‘liq foydalanish ma’lumotini saqlang; haqiqatda qaytarilgan barcha rasmlarni o‘z egaligingizga olib saqlang. URL yoki ID lar o‘ylab topilmasin.

Asl javobni tekshirish kerak bo‘lsa

Rasm yaratish yoki tahrirlash natijasini tekshirish kerak bo‘lsa, dastlabki operation_id/X-Client-Request-ID va qaytarilgan natija haqidagi ma’lumotlarni saqlang. Amalda qaytarilgan task_id yoki asset_id qiymatlari yordamida media kutubxonasidan o‘zingizga tegishli mavjud natijalarni tiklang. Rasm yaratish/tahrirlash so‘rovini qayta yubormang va operation_id dan holatni davriy tekshirish uchun URL tuzmang.

Javob maydonlari
MaydonTur
MaydoncreatedTurinteger
Maydondata[].urlTurstring
Maydondata[].b64_jsonTurbase64 string
MaydonusageTurobject
Xatolar va keyingi qadamlar
JavobShartKeyingi qadam
Javob400 · invalid_request_errorShartMajburiy maydonlar, material ifodasi yoki parametr qiymati noto‘g‘riKeyingi qadamYangi yaratish so‘rovidan oldin ko‘rsatilgan maydonlarni tuzating.
Javobserver_errorShartQaytarilgan javob operatsiya yoki natijani tekshirish kerakligini bildiradiKeyingi qadamDastlab qaytarilgan operatsiya/vazifa ID sini, so‘rov sarlavhalarini va javobni saqlang; aynan shu operatsiya uchun qo‘llab-quvvatlanadigan o‘qish so‘rovlarini davom ettiring. Yaratish so‘rovini qayta yubormang.

Taxalluslar

Model taxalluslari

Ailoot Ultra recraft/recraft-v4

Usul yo‘llari taxalluslari

/v1/images

Chaqirish uchun tegishli ID lar

recraft/recraft-v4

FAQ · Recraft: Recraft V4
Qanday kirish ma’lumotlari va natijalar mavjud?

POST /v1/images/generations · recraft/recraft-v4: text, image → image

So‘rov qaysi maydonlardan foydalanadi?

POST /v1/images/generations · recraft/recraft-v4: model, prompt, n, aspect_ratio, input_references

Qanday cheklovlar amal qiladi?

POST /v1/images/generations · recraft/recraft-v4: n.minimum: 1; n.maximum: 6

Batafsil

Ailoot’ni Claude Code, OpenCode, Hermes yoki ilovangizga ulang.

Kompaniya va uning loyihalar portfeli

Kompaniya va uning loyihalar portfeli: millionlab mijozlar; oylik sotuvlar hajmi milliardlarda.

Tokenlarni chegirma bilan xarid qiling.

Muntazam ish uchun obuna chegirmasi. Token xaridiga promokodlar — 50% gacha.

Obuna
Muntazam so‘rovlaringiz uchun chegirmali tarif tanlang.
50% gacha promokod
Xaridda kod kiriting. Narx amaldagi aksiya bilan qayta hisoblanadi.
Tarixdagi xarajatlar
Har so‘rov uchun model, token va summa saqlanadi.

Obuna tanlash · Model narxlarini ko‘rish

API’ni sotadigan mahsulotingizga ulang.

SaaS, ilova va botlar Ailoot ofertasi hamda litsenziya shartnomasiga muvofiq. Qayta sotishga reseller litsenziyasi so‘rang.

Tijorat ilovasi
Xizmatingizning pullik funksiyalariga matn, rasm, video va ovoz yaratishni qo‘shing.
Reseller litsenziyasi
Loyiha tavsifi va kirish sxemasini yuboring. Foydalanish va qayta sotishga yozma shartlarni so‘rang.
Saytdagi hujjatlar
Oferta, litsenziya shartnomasi va ma’lumotlar siyosati ulashdan oldin ochiq.

Reseller litsenziyasini so‘rash · Oferta va litsenziya shartnomasi