models

Recraft: Recraft V3

Markdown · JSON

Recraft: Recraft V3

Recraft V3 kuria fotografijas, iliustracijas ir grafinius maketus, atsižvelgdamas į tekstą kompozicijoje ir siūlydamas stiliaus valdiklius. Atskiros rastrinė ir SVG versijos tinka plakatams, prekės ženklo vaizdų rinkiniams, piktogramoms ir dizainui, kuriame tekstas bei vizualinė struktūra turi veikti kartu.

Apie modelį

Šis aprašas apima modelio galimybes. Pasirinktam metodui Ailoot prieinamos įvestys, išvestys ir parinktys nurodytos toliau.

Recraft V3 yra vaizdų generavimo modelis, sukurtas grafiniam dizainui, taip pat fotografinėms ir iliustruotoms scenoms. Rašytinis aprašas nusako objektą, aplinką ir kompoziciją; rezultatas yra vaizdas. V3 tobulina Recraft teksto atvaizdavimą ir fotorealizmą, kartu išlaikydamas stiliaus nuoseklumą pagal pavyzdinius vaizdus be pakartotinio mokymo.

Tekstas kaip kompozicijos dalis

V3 dirba su tekstu vaizde, įskaitant ilgesnį tekstą ir vidutinio dydžio raides. Recraft aprašo maketavimo etapą, kuriame prieš generuojant vaizdą nustatomi žodžiai ir jų vietos. Maketas gali būti automatiškai sukurtas pagal aprašą arba rankiniu būdu išdėstytas Recraft dizaino aplinkoje. Tai padeda vienoje kompozicijoje susieti antraštę, iliustraciją ir papildomą tekstą. Gamintojas taip pat dokumentuoja aiškias teksto išdėstymo koordinates, išreikštas vaizdo atžvilgiu, o ne fiksuotu pikselių tinkleliu. Kiekviename teksto elemente yra vienas žodis ir keturi kampiniai taškai normalizuotomis koordinatėmis: (0, 0) yra viršutinis kairysis, (1, 1) – apatinis dešinysis kampas. Koordinatės gali išeiti už šio intervalo; tokiu atveju forma apkerpama. Aiškiai pateikti teksto išdėstymo žodžiai turi atitikti dokumentuotus simbolių apribojimus.

Plakatui ar viršeliui pateikite tikslų tekstą ir aprašykite hierarchiją: kuri eilutė pagrindinė, kur ji yra ir kaip ją palaiko paveikslas. Rinkdamiesi rezultatą patikrinkite atvaizduotą rašybą ir tarpus.

Stilius, paletė ir meninė kryptis

V3 apima parinktus fotografinius, iliustracijų ir emblemų stilius bei atskirą vektorinių stilių biblioteką. Recraft V3 Raw yra numatytasis rastrinio modelio stilius, o Vector art – vektorinės versijos numatytasis stilius. Photorealism siekia fotografinės išvaizdos, Illustration apima stilizuotas tekstūras, šešėliavimą ir sudėtingesnius spalvų perėjimus. Vektoriniai stiliai teikia pirmenybę formoms, ribotoms paletėms ir plokštiems užpildams ar paprastiems gradientams.

Individualius stilius galima kurti iš etaloninių vaizdų, esamų suderinamų stilių ar jų derinio. Jie suteikia pakartotinai naudojamą vizualinę kryptį vaizdų serijai. Dokumentuoti maišymo valdikliai leidžia etalonams ir šaltinio stiliams turėti atskirus svorius; svorių skaičius atitinka šaltinių skaičių. PaletteMatch ir MaxWeight yra dvi nurodytos maišymo politikos. Gamintojas leidžia iki 10 stiliaus etaloninių vaizdų ir V3 naudoja įprastą stiliaus derinimo režimą. Išsaugotas individualus stilius ir tiesioginiai stiliaus etalonai yra alternatyvios įvestys, o individualus stilius turi atitikti generavimui naudojamą modelį.

Pageidaujamos spalvos ir fono spalva nukreipia paletę. Dokumentuota iki 10 RGB spalvų, kurių kiekvieno komponento reikšmė yra nuo 0 iki 255. Pasirenkami santykiniai svoriai svyruoja nuo 0 iki 1; jie turi būti pateikti kiekvienai spalvai arba nė vienai, o jų suma negali viršyti 1. Meninis lygis svyruoja nuo 0 statiškam, švariam apdorojimui iki 5 dinamiškesnėms, ekscentriškoms kompozicijoms. Neigiama užklausa aprašo nepageidaujamus elementus; atskiras no-text valdiklis išjungia įterptus teksto maketus. Atkuriamumui yra atsitiktinumo sėkla. Šie valdikliai suteikia skirtingus būdus valdyti sceną, jos stilių ir vizualinį išdėstymą.

Rastriniai vaizdai ir atskira SVG versija

Recraft dokumentuoja dvi V3 versijas. Rastrinis modelis pateikia nenuostolingą WebP arba PNG ir tinka fotografinėms detalėms, šešėliavimui bei tekstūrinėms iliustracijoms. Recraft V3 Vector pateikia SVG: kontūrus ir formas, kuriuos galima didinti be fiksuotos raiškos pikseliais. Jis tinka piktogramoms, logotipų koncepcijoms, ženkleliams ir detaliai vektorinei grafikai. Rastro konvertavimas į vektorių yra atskira operacija nuo tiesioginio vektorinės grafikos generavimo.

Abi versijos turi savo tapatybę. Vektorinę išvaizdą turintis vaizdas ir tikra SVG išvestis yra skirtingi pasirinkimai. Rengdami dizaino eigą pasirinkite norimą išvestį, užuot laikę bendrą V3 pavadinimą įrodymu, kad kiekviena operacija pateikia tą patį failo tipą.

Esamos grafikos redagavimas ir užbaigimas

Recraft V3 dokumentacijoje nurodomas vaizdo generavimas pagal vaizdą, inpainting, outpainting ir fono pakeitimas ar generavimas. Darbas pagal vaizdą jungia esamą vaizdą su nauju aprašu. Inpainting regeneruoja pasirinktą sritį naudodamas vaizdą ir atitinkamą kaukę; outpainting prideda turinį už pradinio kadro. Fono operacijos keičia aplinką aplink objektą.

Papildomų įrankių rinkinys taip pat apima trynimą, fono pašalinimą, vektorizavimą ir du raiškos didinimo būdus. Kūrybinis raiškos didinimas gali įvesti naujų detalių; aiškumo raiškos didinimas siekia ryškesnio, didesnio esamo turinio atvaizdo. Tai atskiros operacijos su savais įvesties duomenimis ir rezultatais, o ne papildomos rastrinio ar vektorinio modelio pavadinimo reikšmės.

Užklausos, dydžio ir šaltinio vaizdo ribos

Gamintojo V3 generavimo specifikacija priima iki 1000 simbolių užklausą ir 1–6 vaizdus vienoje užklausoje. Ji palaiko 14 kraštinių santykių: 1:1, 2:1, 1:2, 3:2, 2:3, 4:3, 3:4, 5:4, 4:5, 6:10, 14:10, 10:14, 16:9 ir 9:16. Dokumentuoti rastriniai pavyzdžiai apima 1024x1024, 1820x1024 ir 1024x1820. Tikslūs rastriniai matmenys turi būti iš palaikomų dydžių sąrašo; SVG naudoja kraštinių santykius be fiksuoto dydžio pikseliais. Kai dydis praleistas, gamintojo sistema jį parenka iš užklausos.

Vaizdo įvesties operacijoms gamintojas nurodo PNG, JPG ir WebP, taip pat SVG ten, kur konkreti operacija jį leidžia. Failai turi būti mažesni nei 20 MB, ne didesni nei 16 MP, su ilgiausia kraštine ne daugiau kaip 4096 pikselių. Trumpiausia kraštinė turi būti bent 256 pikselių, su 32 pikselių išimtimi aiškumo raiškos didinimui. Kaukės turi atitikti vaizdo dydį ir naudoti gryną juodą ir gryną baltą spalvą; stiliaus etalonams taikoma bendra 64 MB riba.

Ailoot API projektui paverskite užduotį tikslingu vaizdo aprašu: tikslus tekstas, objektų išdėstymas, vizualinis stilius ir norima kompozicija. Plakatui, produkto scenai ir piktogramų serijai reikia skirtingų aprašų; spręsdami, kaip naudoti kiekvieną rezultatą, išlaikykite atitinkamos V3 versijos ir operacijos skirtumus.

Ailoot Ultra · Vaizdai POST /v1/images/generations recraft/recraft-v3

recraft/recraft-v3

Recraft /recraft/recraft-v3

Pradžia

Recraft V3 kuria fotografijas, iliustracijas ir grafinius maketus, atsižvelgdamas į tekstą kompozicijoje ir siūlydamas stiliaus valdiklius. Atskiros rastrinė ir SVG versijos tinka plakatams, prekės ženklo vaizdų rinkiniams, piktogramoms ir dizainui, kuriame tekstas bei vizualinė struktūra turi veikti kartu.

Leidžiamos įvestys
Tekstas · Vaizdai
Rezultatai
Vaizdai

Prieinama Ailoot · įvestys ir metodai

Ailoot Ultra · Vaizdai POST /v1/images/generations
Įvestis
text, image
Išvestis
image
Išvesties formatas
Vaizdo failas
LaukasTipasReikalavimasReikšmės ir ribosNumatyta
LaukasmodelTipasstringReikalavimasPrivalomaReikšmės ir ribos
recraft/recraft-v3
Numatyta—
LaukaspromptTipasstringReikalavimasPrivalomaReikšmės ir ribos
Mažiausias ilgis: 1
Numatyta—
LaukasnTipasintegerReikalavimasNeprivalomaReikšmės ir ribos
Mažiausia reikšmė: 1
Didžiausia reikšmė: 6
Numatyta—
Laukasaspect_ratioTipasstringReikalavimasNeprivalomaReikšmės ir ribos
1:1, 4:3, 3:4, 16:9, 9:16, auto
Numatyta—
Laukasinput_referencesTipasarrayReikalavimasNeprivalomaReikšmės ir ribos
Mažiausias elementų skaičius: 0
Didžiausias elementų skaičius: 1
Numatyta—
Įvesties medžiagos deriniai

Iš teksto į vaizdą · Privaloma: prompt

Metodo parametrai ir gyvavimo ciklas
ParametrasSpecifikacija
Parametrascontent_typeSpecifikacijaapplication/json
ParametrasrequiredSpecifikacijamodel, prompt
Parametrasmaterial_typesSpecifikacijatext, image
Parametrasoptional_controlsSpecifikacijaaspect_ratio, n, input_references
Parametrasexact_supported_parametersSpecifikacija{"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}}
Parametrasreference_material_ruleSpecifikacijaTik tikri kliento pavyzdiniai paveikslėliai; jiems taikomos teikėjo galinio taško sąlygos.

Metodo pseudonimai: /v1/images

Gyvavimo ciklas: synchronous_result_then_owned_library

GET /v1/media/tasks/{task_id} · faktiškai grąžinta task_id reikšmė arba medijos bibliotekos įrašas

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

GET /v1/media/assets

GET /v1/media/assets/{asset_id}

Naudokite tikslų modelį ir dokumentacijoje nurodytus įvesties laukus.

Išsaugokite visą atsakymą, kiekvieną tikrą rezultatą ir pradinius grąžintus ID.

Planai

Kaip apskaičiuojamas galutinis mokestis

Rodomi įkainiai leidžia įvertinti kainą prieš generavimą. Galutinė suma apskaičiuojama pagal užfiksuotą pradinio generavimo kainą. Išmatuota rezultato trukmė ir prognozuoti kiekiai nėra galutinis apmokestinamas kiekis.

Tarifų informacija neprideda užklausos parinkčių. Palaikomi parametrai nurodyti prie pasirinkto metodo.

Spartusis režimas
Nenurodyta Pasirinkus spartųjį režimą
Flex režimas
Nenurodyta Pasirinkus flex režimą
Didžiausios samprotavimo pastangos
Nenurodyta Kai didžiausioms samprotavimo pastangoms taikomas numatytasis koregavimas (default)

Numatomi įkainiai palyginimui

Kainos pagal konfigūraciją

Kiekvieną mokestį susiekite su nurodytomis sąlygomis. Kiekvienam alternatyvių konfigūracijų rinkiniui taikykite vieną įkainį.

KonfigūracijaĮkainių lentelėNumatomas kiekisApskaitos vienetasMokestis
KonfigūracijaBaziniai žetonų įkainiaiĮkainių lentelėBazinis įkainisNumatomas kiekis—Apskaitos vienetas—Mokestis
Įvestis · Įvesties tokenai · Įvertis tik palyginimui — / 1K tokenų
Išvestis · Išvesties tokenai · Įvertis tik palyginimui — / 1K tokenų
Įvestis · Talpyklos skaitymas · Įvertis tik palyginimui — / 1K tokenų
Įvestis · Rašymas į talpyklą · Įvertis tik palyginimui — / 1K tokenų
Įvestis · Rašymas į talpyklą, 1 val · Įvertis tik palyginimui — / 1K tokenų
KonfigūracijaUltraĮkainių lentelė—Numatomas kiekis—Apskaitos vienetasuž išvesties vaizdąMokestis
Išvestis · vaizdo išvestis · Įvertis tik palyginimui $0.08 už išvesties vaizdą
KonfigūracijaNumatoma generavimo kainaĮkainių lentelė—Numatomas kiekisvieno generavimo įvertisApskaitos vienetas—Mokestis
Išvestis · Numatoma generavimo kaina · Įvertis tik palyginimui $0.08 įvertis prieš generavimą

Šis įvertis nėra papildomas mokestis ar fiksuotas užbaigto generavimo įkainis.

Ailoot prieš užklausą rezervuoja numatomą sumą. Gavus rezultatą, galutinis mokestis nuskaitomas pagal išmatuotą naudojimą. Srautinio atsakymo atsiskaitymui naudojamas galutinis naudojimo įrašas. Kaip veikia rezervavimas ir atsiskaitymas →

Informacinio tarifo duomenys

Modelio informacinės lentelės nekeičia metodo pasirinkimo, kainos įverčių ar mokesčių. Galiojantys mokesčiai nustatomi pagal pasirinkto Ailoot metodo įkainius.

Paveikslėlių kainodaros konfigūracijos

Kainos pagal konfigūraciją

KonfigūracijaApmokestinimo sąlygosMokestis
KonfigūracijaIšvesties paveikslėlisApmokestinimo sąlygosKainodaros variantas nedeklaruotas.Mokestis
Išvestis · Išvesties vaizdas $0.08 už vaizdą

Lygiaverčiai sąrašų įrašai apibūdina tą patį mokestį; jie neprideda antro mokesčio.

Užklausų pavyzdžiai

Ailoot Ultra · Vaizdai

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-v3', '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-v3', '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-v3", "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");

Gauti ir išsaugoti rezultatus

Ailoot Ultra · Vaizdai

Atsisiųskite kiekvieną grąžintą vaizdą arba išsaugokite jo Base64 turinį

  • GET /v1/media/tasks/{task_id}
  • GET /v1/media/assets/{asset_id}/content
  • GET /v1/media/assets
  • GET /v1/media/assets/{asset_id}
Išsaugoti visus baigtus rezultatus

Išsaugokite kiekvieną baigtą vaizdą; gaukite turinį iš kiekvieno grąžinto URL arba dekoduokite jo Base64 turinį.

Išsaugokite kiekvieną data elementą ir visus naudojimo duomenis; perimkite į savo saugyklą ir išsaugokite visus tikrus grąžintus paveikslėlius. Jokių išgalvotų URL ar ID.

Jei reikia patikrinti pradinį atsakymą

Jei vaizdo generavimo ar redagavimo rezultatą reikia patikrinti, išsaugokite pradinį operation_id/X-Client-Request-ID ir grąžintą informaciją apie rezultatą. Atkurkite prieigą prie esamų jums priklausančių rezultatų per medijos biblioteką, naudodami faktines task_id arba asset_id reikšmes. Pakartotinai neteikite generavimo ar redagavimo užklausos ir nekurkite būsenos tikrinimo URL iš operation_id.

Atsakymo laukai
LaukasTipas
LaukascreatedTipasinteger
Laukasdata[].urlTipasstring
Laukasdata[].b64_jsonTipasbase64 string
LaukasusageTipasobject

Pseudonimai

Modelių pseudonimai

Ailoot Ultra recraft/recraft-v3

Metodų kelių pseudonimai

/v1/images

Susiję ID iškvietimui

recraft/recraft-v3

FAQ · Recraft: Recraft V3
Kokios įvestys ir rezultatai prieinami?

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

Kokius laukus naudoja užklausa?

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

Kokie apribojimai taikomi?

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

Išsamiau

Prijunkite Ailoot prie Claude Code, OpenCode, Hermes arba savo programos.

Įmonė ir jos projektų portfelis

Įmonė ir jos projektų portfelis: milijonai klientų; mėnesio pardavimai siekia milijardus.

Pirkite žetonus su nuolaida.

Prenumeratos nuolaida reguliariam darbui. Kodai — iki 50% žetonų pirkimui.

Prenumerata
Pasirinkite planą su nuolaida reguliarioms užklausoms.
Nuolaidos kodas iki 50%
Įveskite kodą perkant. Kaina perskaičiuojama pagal galiojančios akcijos sąlygas.
Išlaidos istorijoje
Kiekvienai užklausai išsaugomi modelis, žetonai ir suma.

Pasirinkti prenumeratą · Peržiūrėti modelių kainas

Prijunkite API prie produkto, kurį parduodate.

SaaS, programos ir botai pagal Ailoot ofertą bei licencijos sutartį. Perpardavimui paprašykite perpardavėjo licencijos.

Komercinė programa
Teksto, vaizdų, video ir garso kūrimą integruokite į mokamas paslaugos funkcijas.
Perpardavėjo licencija
Atsiųskite projekto aprašymą ir prieigos schemą. Paprašykite rašytinių naudojimo ir perpardavimo sąlygų.
Dokumentai svetainėje
Oferta, licencijos sutartis ir duomenų tvarkymo politika prieinamos prieš prisijungiant.

Paprašyti perpardavėjo licencijos · Oferta ir licencijos sutartis