μοντέλα

grok-imagine-image

Markdown · JSON

grok-imagine-image

Το Grok Imagine Image δημιουργεί εικόνες βάσει περιγραφής κειμένου με επιλογή σχήματος κάδρου και ανάλυσης 1K ή 2K. Εξυπηρετεί τετράγωνες, κατακόρυφες και ευρείες οπτικές συνθέσεις.

Σχετικά με το μοντέλο

Αυτή η περιγραφή καλύπτει τις δυνατότητες του μοντέλου. Οι είσοδοι, έξοδοι και επιλογές που διατίθενται στο Ailoot παρατίθενται παρακάτω για την επιλεγμένη μέθοδο.

Το Grok Imagine Image είναι μοντέλο της xAI για οπτική δημιουργία. Μετατρέπει την περιγραφή κειμένου μιας σκηνής σε εικόνα. Το ίδιο το μοντέλο διαθέτει επίσης οπτική είσοδο για εργασία με αρχική εικόνα· στη δημοσιευμένη μέθοδο δημιουργίας του Ailoot, η είσοδος είναι αίτημα κειμένου.

Παραλλαγές της ίδιας ιδέας

Ένα αίτημα μπορεί να ορίζει από 1 έως 10 εικόνες με την παράμετρο n. Αν δεν οριστεί αριθμός, δημιουργείται μία εικόνα. Αυτό είναι χρήσιμο όταν χρειάζονται πολλές παραλλαγές της ίδιας περιγραφής· διαφορετικές αυτοτελείς σκηνές καθορίζονται με ξεχωριστές περιγραφές.

Σχήμα κάδρου και ανάλυση

Μπορεί να επιλεγεί τετράγωνο κάδρο 1:1, οριζόντιο 16:9, κατακόρυφο 9:16, μορφές 4:3 και 3:4 και φωτογραφικές 3:2 και 2:3. Η λειτουργία auto επιτρέπει στο μοντέλο να επιλέγει αναλογίες βάσει περιγραφής και χρησιμοποιείται από προεπιλογή.

Για δημιουργία προβλέπονται 1K και 2K· χωρίς ρητή επιλογή χρησιμοποιείται 1K. Η ανάλυση και η αναλογία πλευρών ρυθμίζονται χωριστά: η πρώτη καθορίζει το μέγεθος εικόνας και η δεύτερη το σχήμα κάδρου.

Εργασία με οπτικό υλικό

Στην οπτική λειτουργία της xAI, η αρχική εικόνα συμπληρώνεται από οδηγία κειμένου: αυτή ορίζει την αλλαγή περιεχομένου ή εμφάνισης της σκηνής. Το αποτέλεσμα μιας επεξεργασίας μπορεί να χρησιμοποιηθεί στην επόμενη, με σταδιακή βελτίωση λεπτομερειών. Αυτή η λειτουργία του ίδιου του μοντέλου διαφέρει από τη δημοσιευμένη δημιουργία από κείμενο.

Το μοντέλο επιστρέφει εικόνα· για μεταβίβαση αποτελέσματος προβλέπονται αρχείο μέσω συνδέσμου ή δεδομένα εικόνας σε base64. Η δυνατότητα επιλογής quality με τιμές low, medium και auto αφορά το Image 2.0 και δεν μεταφέρεται στο Grok Imagine Image.

Ailoot · Εικόνες POST /v1/images/generations grok-imagine-image

grok-imagine-image

xAI /grok-imagine-image

Εισαγωγή

Το Grok Imagine Image δημιουργεί εικόνες βάσει περιγραφής κειμένου με επιλογή σχήματος κάδρου και ανάλυσης 1K ή 2K. Εξυπηρετεί τετράγωνες, κατακόρυφες και ευρείες οπτικές συνθέσεις.

Αποδεκτές είσοδοι
Κείμενο
Αποτελέσματα
Εικόνες

Διαθέσιμα στο Ailoot · είσοδοι και μέθοδοι

Ailoot · Εικόνες POST /v1/images/generations
Είσοδος
text
Έξοδος
image
Μορφή εξόδου
Αρχείο εικόνας
ΠεδίοΤύποςΑπαίτησηΤιμές και όριαΠροεπιλογή
ΠεδίοmodelΤύποςstringΑπαίτησηΥποχρεωτικόΤιμές και όρια
grok-imagine-image
Προεπιλογή—
ΠεδίοpromptΤύποςstringΑπαίτησηΥποχρεωτικόΤιμές και όριαΠροεπιλογή—
ΠεδίοnΤύποςintegerΑπαίτησηΠροαιρετικόΤιμές και όρια
Ελάχιστο: 1
Μέγιστο: 10
Προεπιλογή1
Πεδίοresponse_formatΤύποςstringΑπαίτησηΠροαιρετικόΤιμές και όρια
url, b64_json
Προεπιλογήurl
ΠεδίοresolutionΤύποςstringΑπαίτησηΠροαιρετικόΤιμές και όρια
1k, 2k
Προεπιλογή1k
Πεδίοaspect_ratioΤύποςstringΑπαίτησηΠροαιρετικόΤιμές και όρια
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
Προεπιλογήauto
ΠεδίοqualityΤύποςstringΑπαίτησηΔεν υποστηρίζεταιΤιμές και όριαΠροεπιλογή—
Συνδυασμοί υλικών εισόδου

Κείμενο σε εικόνα · Υποχρεωτικό: prompt

Παράμετροι και κύκλος ζωής μεθόδου
ΠαράμετροςΣύμβαση
Παράμετροςmaterial_typesΣύμβασηtext
ΠαράμετροςrequiredΣύμβασηmodel, prompt
Παράμετροςoptional_controlsΣύμβασηnull
Παράμετροςcontent_typeΣύμβασηapplication/json

Κύκλος ζωής: 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}

Οι δομές και τα ID των μεθόδων είναι ακριβή· η δυνατότητα του προμηθευτή είναι ξεχωριστή από την αποδοχή αιτημάτων.

Τιμολόγηση

Χρεώσεις μεθόδων Ailoot

Ailoot ΕικόνεςPOST /v1/images/generations
Είσοδος
0,002 $ ανά εικόνα εισόδου
Έξοδος
0,02 $ ανά εικόνα ανάλυσης 1K
Έξοδος
0,02 $ ανά εικόνα ανάλυσης 2K

Το Ailoot δεσμεύει ένα εκτιμώμενο ποσό πριν από το αίτημα. Μετά το αποτέλεσμα, εκκαθαρίζει την τελική χρέωση βάσει της μετρημένης χρήσης. Η εκκαθάριση ροής χρησιμοποιεί την τελική καταγραφή χρήσης. Πώς λειτουργούν η δέσμευση και η εκκαθάριση →

Παραδείγματα αιτημάτων

Ailoot · Εικόνες

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

Λήψη και αποθήκευση αποτελεσμάτων

Ailoot · Εικόνες

Κατεβάστε κάθε εικόνα που επιστρέφεται ή αποθηκεύστε το περιεχόμενο Base64

  • GET /v1/media/tasks/{task_id}
  • GET /v1/media/assets/{asset_id}/content
  • GET /v1/media/assets
  • GET /v1/media/assets/{asset_id}
Διατηρήστε όλα τα ολοκληρωμένα αποτελέσματα

Αποθηκεύστε κάθε ολοκληρωμένη εικόνα· ανακτήστε κάθε URL που επιστρέφεται ή αποκωδικοποιήστε το περιεχόμενο Base64.

Αποθηκεύστε κάθε στοιχείο δεδομένων. Αποκωδικοποιήστε κάθε b64_json ή ανακτήστε κάθε υπογεγραμμένο URL που επιστράφηκε. Επιλέξτε την επέκταση του ονόματος αρχείου βάσει του πραγματικού τύπου MIME/των byte.

Αν χρειάζεται έλεγχος της αρχικής απάντησης

Αν το αποτέλεσμα παραγωγής ή επεξεργασίας εικόνας χρειάζεται έλεγχο, διατηρήστε το αρχικό operation_id/X-Client-Request-ID και τις πληροφορίες αποτελέσματος που επιστράφηκαν. Ανακτήστε τα υπάρχοντα αποτελέσματα που σας ανήκουν μέσω της βιβλιοθήκης πολυμέσων χρησιμοποιώντας πραγματικές τιμές task_id ή asset_id. Μην υποβάλετε ξανά το αίτημα παραγωγής/επεξεργασίας και μην κατασκευάσετε URL περιοδικού ελέγχου από το operation_id.

Πεδία απάντησης
ΠεδίοΤύπος
ΠεδίοcreatedΤύποςinteger
Πεδίοdata[].urlΤύποςstring
Πεδίοdata[].b64_jsonΤύποςbase64 string
ΠεδίοusageΤύποςobject
Σφάλματα και επόμενα βήματα
ΑπάντησηΣυνθήκηΕπόμενο βήμα
Απάντηση400 · invalid_request_errorΣυνθήκηΜη έγκυρα υποχρεωτικά πεδία, μη έγκυρη αναπαράσταση υλικού ή μη έγκυρη τιμή παραμέτρουΕπόμενο βήμαΔιορθώστε τα υποδεικνυόμενα πεδία πριν από νέο αίτημα δημιουργίας.
Απάντησηserver_errorΣυνθήκηΗ απόκριση που επιστράφηκε αναφέρει ότι η λειτουργία ή το αποτέλεσμα χρειάζεται έλεγχοΕπόμενο βήμαΔιατηρήστε το αρχικό ID της λειτουργίας/εργασίας που επιστράφηκε, τις κεφαλίδες του αιτήματος και την απόκριση· συνεχίστε με τις υποστηριζόμενες αναγνώσεις αυτής της αρχικής λειτουργίας. Μην υποβάλετε ξανά το αίτημα δημιουργίας.

Εναλλακτικά ονόματα

Εναλλακτικά ονόματα μοντέλου

Ailoot grok-imagine-image

Εναλλακτικές διαδρομές μεθόδων

Χρησιμοποιήστε τις διαδρομές μεθόδων που εμφανίζονται παραπάνω.

Σχετικά ID μοντέλων

grok-imagine-image

FAQ · grok-imagine-image
Ποιες είσοδοι και αποτελέσματα διατίθενται;

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

Ποια πεδία χρησιμοποιεί το αίτημα;

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

Ποια όρια ισχύουν;

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

Περισσότερες λεπτομέρειες

Συνδέστε το Ailoot με Claude Code, OpenCode, Hermes ή τη δική σας εφαρμογή.

Η εταιρεία και το χαρτοφυλάκιο έργων της

Η εταιρεία και το χαρτοφυλάκιο έργων της: εκατομμύρια πελάτες· μηνιαίες πωλήσεις δισεκατομμυρίων.

Αγοράστε token με έκπτωση.

Έκπτωση συνδρομής για τακτική χρήση. Προωθητικοί κωδικοί — έως 50% στην αγορά token.

Συνδρομή
Επιλέξτε πρόγραμμα με έκπτωση για τα τακτικά αιτήματά σας.
Προωθητικός κωδικός έως 50%
Εισαγάγετε τον κωδικό στην αγορά. Η τιμή επανυπολογίζεται σύμφωνα με την ενεργή προσφορά.
Δαπάνες στο ιστορικό
Μοντέλο, token και ποσό αποθηκεύονται για κάθε αίτημα.

Επιλέξτε συνδρομή · Δείτε τιμές μοντέλων

Συνδέστε το API με το προϊόν που πουλάτε.

SaaS, εφαρμογές και bot — σύμφωνα με τη δημόσια προσφορά και τη σύμβαση άδειας χρήσης Ailoot. Για μεταπώληση ζητήστε σχετική άδεια.

Εμπορική εφαρμογή
Ενσωματώστε δημιουργία κειμένου, εικόνων, βίντεο και ήχου στις πληρωμένες λειτουργίες της υπηρεσίας σας.
Άδεια για μεταπωλητή
Στείλτε περιγραφή έργου και τρόπο πρόσβασης. Ζητήστε γραπτούς όρους χρήσης και μεταπώλησης.
Έγγραφα στον ιστότοπο
Δημόσια προσφορά, σύμβαση άδειας χρήσης και πολιτική επεξεργασίας δεδομένων είναι διαθέσιμες πριν τη σύνδεση.

Ζητήστε άδεια μεταπώλησης · Δημόσια προσφορά και σύμβαση άδειας χρήσης