modellar

Recraft: Recraft V4 Pro

Markdown · JSON

Recraft: Recraft V4 Pro

Recraft V4 Pro batafsil kompozitsiyalar, fotorealizm, illyustratsiya va bosmaga yo‘naltirilgan ijodiy ishlar uchun 2K rastr tasvirlar yaratadi. U matn topshiriqlari, ixtiyoriy uslub kirishlari va alohida tasvirdan tasvir jarayoniga ega yuqoriroq aniqlikdagi V4 nashridir.

Model haqida

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

Recraft V4 Pro — Recraft V4 oilasidagi yuqoriroq aniqlikdagi rastr model. V4 vizual tanlov, muvozanatli kompozitsiya, uyg‘un rang va ijodiy yo‘nalishni diqqat bilan talqin qilishga qaratilgan. Ishlab chiqaruvchi Pro ni nozikroq detallar, realistikroq murakkab sahnalar va yirik ishlab chiqarish vizuallari uchun taklif qiladi. Uni batafsil illyustratsiya, tahririy tasvir, plakat g‘oyasi yoki kattaroq rastr natijadan foyda oladigan boshqa material uchun ishlating. U keyingi V4.1 modeli va V4 Pro Vector ning SVG natijasidan alohida qoladi.

Aniq ishlab chiqaruvchi kodi recraftv4_pro. Hujjatlashtirilgan natija yo‘qotishsiz WebP yoki PNG shaklida 2K rastr: kvadrat uchun 2048 × 2048 piksel, 16:9 uchun 2688 × 1536, 2:3 uchun 1664 × 2560. Boshqa qo‘llanadigan nisbatlar o‘z o‘lchamlariga ega. Kerakli maket nisbatini yoki aniq ruxsat etilgan o‘lchamni tanlang; ixtiyoriy piksel o‘lchami hujjatlashtirilgan yaratish shartlariga kirmaydi. Standart V4 kichikroq 1K rastr natijaga ega, vektor modellarida esa o‘zgarmas piksel aniqligi yo‘q.

V4 izlanish uchun qisqa yoki boshqarilgan natija uchun tuzilmali topshiriqni talqin qilishi mumkin. Aniq badiiy yo‘nalishda ishlab chiqaruvchi qo‘llanmasi obyekt va muhitdan kadr kompozitsiyasi, xususiyatlar, fazoviy munosabatlar, yoritish, chuqurlik va kayfiyatga o‘tadi. Tahririy mahsulot tasviri uchun haykaltaroshona stulning dramatik vertikal fotosurati, jilvirlangan metall sirtlar, yon yoritish, sokin qoramtir fon va obyekt ustida sarlavhaga joy so‘rang. Bu munosabatlarni nomlash umumiy premium tasvir iltimosidan ko‘ra kerakli kompozitsiyani ravshanroq qiladi.

Oilaning ijodiy doirasi hikoyaviy illyustratsiya, fotorealistik sahnalar hamda material va yoritish ko‘rsatmalariga ega hajmli vizuallarni qamrab oladi. 3D ko‘rinishdagi natija tahrirlanadigan 3D sahna emas, tasvir bo‘lib qoladi. Grafik plakat uchun vizual qatlamlar va ularning o‘zaro ta’sirini belgilang: fon, illyustratsiya yoki fotosurat, sarlavha iyerarxiyasi va yordamchi matn. V4 o‘qiladigan qisqa va o‘rtacha uzunlikdagi iboralar uchun taklif qilinadi, biroq tayyor imlo va iyerarxiyani model nomidan xulosa qilmasdan tekshirish kerak.

Hozirgi yaratish ma’lumotnomasi 10,000 belgigacha topshiriq, birdan oltitagacha natija, tasodifiy seed hamda afzal ranglar va fon rangi boshqaruvlariga ruxsat beradi. Ixtiyoriy maxsus uslublar yoki mos namuna tasvirlari flexible yoki precise matching bilan ko‘rinishni yo‘naltirishi mumkin. Model eski V3 boshqaruvlari — negative_prompt, tayyor tanlangan uslublar, text_layout, artistic_level yoki no_text ni qabul qilmaydi. Kerakli yakuniy tasvirni ijobiy topshiriqda tasvirlang va obyekt, maket hamda rang talablarini aniq saqlang. 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.

Recraft V4 uchun alohida tasvirdan tasvir amalini hujjatlashtiradi. U o‘zgarish darajasini boshqarish uchun mavjud tasvir va topshiriqni 0 dan 1 gacha strength bilan birlashtiradi va shu amalda V4 maxsus uslub boshqaruvlarini qabul qilmaydi. Manbani ishlab chiqaruvchi tasvir kirishi chegaralarida tayyorlang va yangi natijaga o‘tishi kerak bo‘lgan xususiyatlarni ayting. Kattaroq yakuniy materialda mayda detallar, kesim va yozuvni kerakli o‘lchamda tekshiring. Pro ning qo‘shimcha rastr tafsiloti bu tekshiruvni qo‘llaydi, tasvir esa berilgan ijodiy topshiriqning yaratilgan talqini bo‘lib qoladi. 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-pro

recraft/recraft-v4-pro

Recraft /recraft/recraft-v4-pro

Boshlash

Recraft V4 Pro batafsil kompozitsiyalar, fotorealizm, illyustratsiya va bosmaga yo‘naltirilgan ijodiy ishlar uchun 2K rastr tasvirlar yaratadi. U matn topshiriqlari, ixtiyoriy uslub kirishlari va alohida tasvirdan tasvir jarayoniga ega yuqoriroq aniqlikdagi V4 nashridir.

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-pro
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

Usul parametrlari va hayot sikli
ParametrParametr talablari
Parametrcontent_typeParametr talablariapplication/json
ParametrrequiredParametr talablarimodel, prompt
Parametrmaterial_typesParametr talablaritext, image
Parametroptional_controlsParametr talablariaspect_ratio, n, input_references
Parametrexact_supported_parametersParametr talablari{"aspect_ratio":{"type":"enum","values":["1:1","4:3","3:4","16:9","9:16","auto"]},"n":{"type":"range","min":1,"max":6},"input_references":{"type":"range","min":0,"max":1}}
Parametrreference_material_ruleParametr talablariFaqat mijozning haqiqiy rasm referenslari; ularga provayder endpointi shartlari qo‘llanadi.

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}

Aniq model va hujjatdagi kirish maydonlaridan foydalaning.

To‘liq javobni, har bir haqiqiy chiqish natijasini va dastlab qaytarilgan ID larni saqlang.

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 · rasm chiqishi · Faqat taqqoslash uchun taxmin $0.5 chiqish rasmi uchun
SozlamaYaratishning taxminiy qiymatiTariflar jadvali—Prognoz miqdoribir generatsiya uchun taxminHisob birligi—To‘lov
Chiqish · Yaratishning taxminiy narxi · Faqat taqqoslash uchun taxmin $0.5 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.5 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-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
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-pro', '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-pro", "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

Taxalluslar

Model taxalluslari

Ailoot Ultra recraft/recraft-v4-pro

Usul yo‘llari taxalluslari

/v1/images

Chaqirish uchun tegishli ID lar

recraft/recraft-v4-pro

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

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

So‘rov qaysi maydonlardan foydalanadi?

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

Qanday cheklovlar amal qiladi?

POST /v1/images/generations · recraft/recraft-v4-pro: 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