models

grok-imagine-image-2.0

Markdown · JSON

grok-imagine-image-2.0

A Grok Imagine Image 2.0 leírásból készít képeket, választható arányokkal, felbontással és minőséggel. Maga a modell képszerkesztést és vizuális stílusátvitelt is támogat.

A modellről

Ez a leírás a modell képességeit ismerteti. Az Ailootban elérhető bemenetek, kimenetek és lehetőségek alább, a kiválasztott metódusnál láthatók.

Képgenerálás és a kép pontosítása

A Grok Imagine Image 2.0 megkapja a jelenet leírását, és képet készít. Az xAI modellje eredeti vizuális anyaggal is tud dolgozni: szöveges utasítás alapján módosít, és az előző eredményt új bemenetként használva folytatja a szerkesztést. Az Ailootban szövegből történő generálási metódus van közzétéve.

Vizuális stílusok

Az Image 2.0 esetében az xAI valósághű fényképet, animét, olajfestményt és ceruzarajzot ír le. A stílus szavakkal adható meg; eredeti képpel végzett munkánál az utasítás határozza meg a kívánt esztétikát. Az egymást követő módosításokkal részletek adhatók hozzá, és az eredmény lépésről lépésre pontosítható.

Arányok, méret és mennyiség

  • Az n egy leíráshoz 1 és 10 közötti képet ad meg; az alapértelmezés egy.
  • Az aspect_ratio a kép formáját választja ki; az auto a modellre bízza a választást.
  • A resolution 1K vagy 2K felbontást ad meg; az alapértelmezett érték 1K.

Négyzetes, fekvő és álló formátumok érhetők el: 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 2:1, 1:2. A hosszúkás képernyők 19.5:9, 9:19.5, 20:9 és 9:20, valamint a széles 21:9 és 5:2 formátumai is rendelkezésre állnak.

Minőségválasztás

Az Image 2.0 a low, medium és auto értékeket támogatja. A paraméter kifejezetten ehhez a verzióhoz tartozik; minőség megadása nélkül az auto használatos. Az ellenőrzés időpontjában az automatikus mód generálásnál low, szerkesztésnél medium értéket választ.

Az xAI szerint a medium több számítási kapacitást szán a kép részletes kidolgozására. A low vagy medium kifejezett választása rögzíti a kívánt módot, az auto viselkedését pedig a gyártó aktuális beállítása határozza meg.

Bemenet és eredmény

A modell szöveges és vizuális bemenettel rendelkezik, eredménye pedig kép. Az xAI Image 2.0 saját szerkesztési módjában legfeljebb öt eredeti képet fogad; az Ailoot aktuális generálási metódusa szöveges bemenetet használ. Az eredmény hivatkozáson elérhető fájlként vagy base64 formában továbbítható.

Ailoot · Képek POST /v1/images/generations grok-imagine-image-2.0

grok-imagine-image-2.0

xAI /grok-imagine-image-2.0

Kezdő lépések

A Grok Imagine Image 2.0 leírásból készít képeket, választható arányokkal, felbontással és minőséggel. Maga a modell képszerkesztést és vizuális stílusátvitelt is támogat.

Elfogadott bemenetek
Szöveg
Eredmények
Képek

Elérhető az Ailootban · bemenetek és metódusok

Ailoot · Képek POST /v1/images/generations
Bemenet
text
Kimenet
image
Kimeneti formátum
Képfájl
MezőTípusKövetelményÉrtékek és korlátokAlapértelmezett
MezőmodelTípusstringKövetelményKötelezőÉrtékek és korlátok
grok-imagine-image-2.0
Alapértelmezett—
MezőpromptTípusstringKövetelményKötelezőÉrtékek és korlátokAlapértelmezett—
MezőnTípusintegerKövetelményOpcionálisÉrtékek és korlátok
Minimum: 1
Maximum: 10
Alapértelmezett1
Mezőresponse_formatTípusstringKövetelményOpcionálisÉrtékek és korlátok
url, b64_json
Alapértelmezetturl
MezőresolutionTípusstringKövetelményOpcionálisÉrtékek és korlátok
1k, 2k
Alapértelmezett1k
Mezőaspect_ratioTípusstringKövetelményOpcionálisÉrtékek és korlátok
auto, 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 2:1, 1:2, 19.5:9, 9:19.5, 20:9, 9:20, 21:9, 5:2
Alapértelmezettauto
MezőqualityTípusstringKövetelményOpcionálisÉrtékek és korlátok
low, medium, auto
Alapértelmezett—
Bemeneti anyagok kombinációi

Szövegből kép · Kötelező: prompt

Metódus paraméterei és életciklusa
ParaméterSzerződés
Paramétermaterial_typesSzerződéstext
ParaméterrequiredSzerződésmodel, prompt
Paraméteroptional_controlsSzerződésnull
Paramétercontent_typeSzerződésapplication/json

Életciklus: synchronous_result_then_owned_library

GET /v1/media/tasks/{task_id} · A ténylegesen visszaadott task_id vagy a médiatár bejegyzése

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

GET /v1/media/assets

GET /v1/media/assets/{asset_id}

A metódusok szerkezete és azonosítói pontosak; a beszállítói képesség különbözik a kérelmek befogadásától.

Díjcsomagok

Ailoot-metódusok díjai

Ailoot KépekPOST /v1/images/generations
Bemenet
0,01 USD bemeneti képenként
Kimenet
0,05 USD 1.5K felbontású képenként, alacsony minőségben
Kimenet
0,07 USD 1.5K felbontású képenként, közepes minőségben
Kimenet
0,04 USD 1K felbontású képenként, alacsony minőségben
Kimenet
0,06 USD 1K felbontású képenként, közepes minőségben
Kimenet
0,06 USD 2K felbontású képenként, alacsony minőségben
Kimenet
0,08 USD 2K felbontású képenként, közepes minőségben

Az Ailoot a kérés előtt becsült összeget foglal le. Az eredmény után a mért használat alapján elszámolja a végső díjat. Folyamatos átvitel esetén a végső használati rekordot használja. A foglalás és az elszámolás működése →

Példakérések

Ailoot · Képek

curlPython SDKNode.js SDK
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
export AILOOT_API_KEY
: "${AILOOT_PROMPT_FILE:?Set your actual UTF-8 image brief}"
export AILOOT_PROMPT_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "grok-imagine-image-2.0", "prompt": ""}')
f=Path(os.environ["AILOOT_PROMPT_FILE"])
if not f.is_file():raise SystemExit("Choose your actual UTF-8 brief")
p['prompt']=f.read_text(encoding="utf-8")
if not p['prompt'].strip():raise SystemExit("Brief must contain text")
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")

f=Path(os.environ["AILOOT_PROMPT_FILE"])
if not f.is_file():raise SystemExit("Set your actual UTF-8 image brief file")
request={'model': 'grok-imagine-image-2.0', 'prompt': ''}
request["prompt"]=f.read_text(encoding="utf-8")
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": "grok-imagine-image-2.0", "prompt": ""};
if(!process.env.AILOOT_PROMPT_FILE)throw new Error("Set your actual UTF-8 image brief file");
request.prompt=readFileSync(process.env.AILOOT_PROMPT_FILE,"utf8");
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");

Eredmények fogadása és mentése

Ailoot · Képek

Töltsön le minden visszaadott képet, vagy mentse a Base64-tartalmat

  • GET /v1/media/tasks/{task_id}
  • GET /v1/media/assets/{asset_id}/content
  • GET /v1/media/assets
  • GET /v1/media/assets/{asset_id}
Őrizzen meg minden elkészült eredményt

Mentsen minden elkészült képet; töltse le az összes visszaadott URL tartalmát, vagy dekódolja a Base64-tartalmat.

Mentsen minden adatelemet. Dekódoljon minden b64_json értéket, vagy töltse le minden visszaadott, aláírt URL tartalmát. A fájlnév kiterjesztését a tényleges MIME-típus/bájtok alapján válassza ki.

Ha az eredeti választ ellenőrizni kell

Ha egy képgenerálási vagy képszerkesztési eredmény ellenőrzést igényel, őrizze meg az eredeti operation_id/X-Client-Request-ID értéket és a visszaadott eredményadatokat. A saját, már meglévő eredményeket a médiatárból állítsa helyre a tényleges task_id vagy asset_id értékekkel. Ne küldje be újra a generálási/szerkesztési kérést, és ne állítson össze állapotlekérdezési URL-t az operation_id értékéből.

Válaszmezők
MezőTípus
MezőcreatedTípusinteger
Meződata[].urlTípusstring
Meződata[].b64_jsonTípusbase64 string
MezőusageTípusobject
Hibák és következő lépések
VálaszFeltételKövetkező lépés
Válasz400 · invalid_request_errorFeltételÉrvénytelen kötelező mezők, az anyag érvénytelen reprezentációja vagy érvénytelen paraméterértékKövetkező lépésJavítsa a jelzett mezőket egy új létrehozási kérés előtt.
Válaszserver_errorFeltételA visszaadott válasz szerint a művelet vagy az eredmény ellenőrzést igényelKövetkező lépésŐrizze meg az eredetileg visszaadott művelet- vagy feladatazonosítót, a kérés fejléceit és a választ; folytassa az eredeti művelet támogatott lekérdezéseit. Ne küldje be újra a létrehozási kérést.

Álnevek

Modell álnevei

Ailoot grok-imagine-image-2.0

Metódusútvonalak álnevei

Használja a fent látható metódusútvonalakat.

Kapcsolódó modellazonosítók

grok-imagine-image-2.0

FAQ · grok-imagine-image-2.0
Milyen bemenetek és eredmények érhetők el?

POST /v1/images/generations · grok-imagine-image-2.0: text → image

Mely mezőket használja a kérés?

POST /v1/images/generations · grok-imagine-image-2.0: model, prompt, n, response_format, resolution, aspect_ratio, quality

Milyen korlátok érvényesek?

POST /v1/images/generations · grok-imagine-image-2.0: n.minimum: 1; n.maximum: 10

További részletek

Csatlakoztassa az Ailootot a Claude Code-hoz, OpenCode-hoz, Hermeshez vagy saját alkalmazásához.

A vállalat és projektportfóliója

A vállalat és projektportfóliója: ügyfelek milliói; havi értékesítés milliárdos nagyságrendben.

Vásároljon tokeneket kedvezménnyel.

Előfizetési kedvezmény rendszeres munkához. Promókódok — akár 50% tokenvásárlási kedvezmény.

Előfizetés
Válasszon kedvezményes tarifát a rendszeres kéréseihez.
Promókód akár 50%-ig
Vásárláskor adja meg a kódot. Az ár az érvényes akció szerint újraszámolódik.
Költségek az előzményekben
Minden kéréshez megmarad a modell, a tokenek és az összeg.

Előfizetés kiválasztása · Modellárak megtekintése

Csatlakoztassa az API-t az értékesített termékéhez.

SaaS, alkalmazások és botok — az Ailoot ajánlati feltételei és licencszerződése alapján. Viszonteladáshoz kérjen viszonteladói licencet.

Kereskedelmi alkalmazás
Építsen szöveg-, kép-, videó- és hanggenerálást szolgáltatása fizetős funkcióiba.
Viszonteladói licenc
Küldje el a projekt leírását és a hozzáférés módját. Kérjen írásos használati és viszonteladási feltételeket.
Dokumentumok a weboldalon
Az ajánlati feltételek, licencszerződés és adatkezelési szabályzat már a csatlakoztatás előtt elérhető.

Viszonteladói licenc kérése · Ajánlati feltételek és licencszerződés