Source: https://ailoot.ai/models/fi/gpt-image-2/
Canonical: https://ailoot.ai/models/fi/gpt-image-2/
Language: fi

# OpenAI: GPT Image 2

[Markdown](https://ailoot.ai/models/fi/gpt-image-2/index.md) · [JSON](https://ailoot.ai/models/fi/gpt-image-2/facts.json)

## [OpenAI: GPT Image 2](https://ailoot.ai/models/fi/gpt-image-2/)

GPT Image 2 luo ja muokkaa kuvia tekstistä ja visuaalisista viitteistä. Se tukee joustavia kuvakokoja ja käsittelee kuvasyötteet automaattisesti korkealla lähdeuskollisuudella sekä tarjoaa valmiille aineistolle erilliset laatu-, muoto- ja taustasäädöt.

- [**Ailoot · Kuvat** `POST /v1/images/generations` `gpt-image-2`](https://ailoot.ai/models/fi/gpt-image-2/#method-0)
- [**Ailoot Ultra · Kuvat** `POST /v1/images/generations` `gpt-image-2`](https://ailoot.ai/models/fi/gpt-image-2/#method-1)
- [**Ailoot Ultra · Kuvat** `POST /v1/images/generations` `openai/gpt-image-2`](https://ailoot.ai/models/fi/gpt-image-2/#method-2)

Tietoa mallista

Tämä kuvaus kattaa mallin ominaisuudet. Ailootissa saatavilla olevat syötteet, tulosteet ja asetukset luetellaan alla valitulle menetelmälle.

GPT Image 2 on OpenAI:n malli kuvien luontiin ja muokkaukseen tekstistä ja visuaalisista syötteistä. Se luo uuden kuvan kirjallisesta briiffistä ja voi käyttää lähtökuvia muokkauksiin tai viitteiden ohjaamaan työhön. Käytännön tehtäviä ovat kuvitukset, tuotekonseptit, visuaaliset sommitelmat ja olemassa olevan aineiston muutokset. Se on erillinen versio GPT Image 2.5 Sunburst- ja Flare-malleista, ja sillä on oma laatuvalikoima ja syötteen lähdeuskollisuuden toimintatapa.

Kuvaile luontia varten kohde, näkymä, sommittelu, valo ja tarkoitettu tyyli. Nimeä muokkauksessa, minkä tulee muuttua ja minkä ulkoasun säilyä. Tuotebriiffi voi pyytää keraamista valaisinta vaalealla pinnalla, keskitettyä siluettia ja tilaa kuvatekstille; jatkomuokkaus voi vaihtaa taustan säilyttäen valaisimen muodon ja katselukulman. Dokumentoidut suorat luonti- ja muokkaustyönkulut hyväksyvät enintään 32 000 merkin kehotteet ja voivat palauttaa yhdestä kymmeneen kuvaa.

Viitteisiin perustuva muokkaus hyväksyy enintään kuusitoista syötekuvaa. Määritä kunkin viitteen tarkoitus, jotta kohde, tausta ja visuaalinen käsittely eivät sekoitu. GPT Image 2 käsittelee jokaisen kuvasyötteen automaattisesti korkealla lähdeuskollisuudella; input\_fidelity tulee jättää pois, koska se ei ole säädettävissä tässä versiossa. Tämä eroaa GPT Image 1:n high- tai low-valinnasta ja GPT Image 1 Minin vain low-tason syöteuskollisuustilasta. Korkean lähdeuskollisuuden syötekäsittely tukee lähtökuvan yksityiskohtia takaamatta jokaisen yksityiskohdan muuttumatonta toistoa.

Maski voi osoittaa muokattavan alueen. Lähtökuvan ja maskin on oltava samassa muodossa ja samoissa mitoissa sekä alle 50 MB oppaan valmisteluvaatimusten mukaan; maski tarvitsee myös alfakanavan. Jos annetaan useita syötekuvia, maski koskee ensimmäistä. Malli käsittelee maskia kehotepohjaisena ohjauksena tiukan geometrisen rajan sijaan. Kuvaile paikallinen muutos ja säilyttämisvaatimukset ja tarkista sitten ympäröivä alue tahattomien erojen varalta.

GPT Image 2 tukee laatutasoja low, medium, high ja auto, ja oletus on auto. 2.5-perheen xhigh- ja max-asetukset eivät kuulu tämän version laatuvalikoimaan. Koko voi olla neliö, vaaka, pysty, automaattinen tai kelvollinen mukautettu leveys ja korkeus. Valmistajan esimerkkeihin kuuluvat 1024 × 1024, 1536 × 1024, 1024 × 1536, 2048 × 2048, 2048 × 1152, 3840 × 2160 ja 2160 × 3840 pikseliä. Valitse suunta ja yksityiskohtaisuus todellisen asettelun mukaan sen sijaan, että käsittelisit laatua ja mittoja samana säätönä.

Mukautettujen mittojen on oltava kuudentoista pikselin kerrannaisia, pisimmän sivun enintään 3840 pikseliä, pitkän ja lyhyen sivun suhteen enintään 3:1 ja pinta-alan välillä 655 360–8 294 400 pikseliä. Nämä ehdot ovat voimassa samanaikaisesti. Yli 2560 × 1440 -tarkkuudet on merkitty kokeellisiksi. Yhden säännön täyttävä koko voi silti rikkoa toista, joten valitse tuettu mittapari ja kuvaile rajaukselle herkät elementit briiffissä.

Tulos on oletuksena PNG, ja myös JPEG tai WebP ovat käytettävissä. JPEG ja WebP tukevat pakkausta väliltä 0–100. Tausta voi olla peittävä tai automaattinen; täsmällinen nykyinen viite kuvaa GPT Image 2:n läpinäkyvyyden ennakkovaiheen ominaisuudeksi. Käytä läpinäkyvyyttä pyytäessäsi PNG- tai WebP-muotoa, jotta alfakanava voidaan säilyttää. Dokumentoitu suoratoistotyönkulku sallii enintään kolme osittaista kuvaa ennen valmista kuvaa; tallenna lopullinen aineisto etenemisen esikatselun sijaan. Valmistajan rajapinta tukee myös eräkäsittelyä.

Arvioi tekstin selkeys, esineiden sijainti ja lähtöaineiston yksityiskohtien säilyminen varsinaisesta tuloksesta. GPT Imagella voi olla vaikeuksia täsmällisten tekstien, asettelulle herkkien sommitelmien ja erillisten generointien välillä toistuvan visuaalisen tunnistettavuuden kanssa. Käytä muokkaussarjassa valittua tulosta seuraavana lähtökuvana ja anna konkreettinen näkyvään ongelmaan sidottu muutos. GPT Image 2:n hyödyllinen tulos on selkeään luonti- tai muokkausbriiffiin yhdistetty kuva, jonka korkeauskolliset syötteet, mitat ja laatu valitaan kyseistä tehtävää varten.

**Ailoot · Kuvat** `POST /v1/images/generations` `gpt-image-2`

[`gpt-image-2`](https://ailoot.ai/models/fi/#m=openai%2Fgpt-image-2&route=Core&caller=gpt-image-2&fmt=images)

OpenAI /`gpt-image-2`

### Aloitus

GPT Image 2 luo ja muokkaa kuvia tekstistä ja visuaalisista viitteistä. Se tukee joustavia kuvakokoja ja käsittelee kuvasyötteet automaattisesti korkealla lähdeuskollisuudella sekä tarjoaa valmiille aineistolle erilliset laatu-, muoto- ja taustasäädöt.

Hyväksytyt syötteet

Teksti

Tulokset

Kuvat

### Saatavilla Ailootissa · syötteet & menetelmät

**Ailoot · Kuvat** `POST /v1/images/generations`

Syötetyypit

`text`

Tulostyypit

`image`

Tulosteen muoto

Kuvatiedosto

| Kenttä | Tyyppi | Vaatimus | Arvot & rajat | Oletus |
| --- | --- | --- | --- | --- |
| Kenttä`model` | Tyyppi`string` | VaatimusPakollinen | Arvot & rajat gpt-image-2 | Oletus— |
| Kenttä`prompt` | Tyyppi`string` | VaatimusPakollinen | Arvot & rajat Vähimmäispituus: 1 | Oletus— |
| Kenttä`n` | Tyyppi`integer` | VaatimusValinnainen | Arvot & rajat Vähimmäismäärä: 1 | Oletus1 |
| Kenttä`response_format` | Tyyppi`string` | VaatimusValinnainen | Arvot & rajat url, b64\_json | Oletus— |
| Kenttä`stream` | Tyyppi`boolean` | VaatimusValinnainen | Arvot & rajat | Oletusfalse |
| Kenttä`size` | Tyyppi`string` | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |
| Kenttä`quality` | Tyyppi`string` | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |
| Kenttä`background` | Tyyppi`string` | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |
| Kenttä`output_format` | Tyyppi`string` | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |
| Kenttä`output_compression` | Tyyppi`integer` | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |
| Kenttä`moderation` | Tyyppi`string` | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |
| Kenttä`input_fidelity` | Tyyppi`string` | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |
| Kenttä`style` | Tyyppi`string` | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |
| Kenttä`partial_images` | Tyyppi`integer` | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |

Syöteaineistojen yhdistelmät

**Tekstistä kuvaksi** · Pakollinen: prompt

Menetelmän parametrit ja elinkaari

| Parametri | Sopimus |
| --- | --- |
| Parametri`material_types` | Sopimustext |
| Parametri`required` | Sopimusmodel, prompt |
| Parametri`optional_controls` | Sopimusnull |
| Parametri`content_type` | Sopimusapplication/json |

Elinkaari: `synchronous_result_then_owned_library`

`GET /v1/media/tasks/{task_id}` · todellisuudessa palautettu task\_id tai mediakirjaston tietue

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

`GET /v1/media/assets`

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

Menetelmien rakenteet ja ID:t ovat täsmällisiä; toimittajan kyvykkyys on erillinen pyynnön hyväksymisestä.

### Hinnoittelu

#### Ailoot-menetelmien hinnat

Tekstisyöte

0,0025 $ */ 1K*

Syöte, kuva

0,004 $ */ 1K tokens*

Tuloste, kuva

0,015 $ */ 1K tokens*

Ailoot varaa arvioidun summan ennen pyyntöä. Tuloksen jälkeen lopullinen veloitus toteutetaan mitatun käytön perusteella. Suoratoiston veloituksessa käytetään lopullista käyttötietuetta. [Varauksen ja lopullisen veloituksen toiminta →](https://ailoot.ai/docs/fi/billing/reserve/)

### Esimerkkipyynnöt

#### Ailoot · Kuvat

curlPython SDKNode.js SDK

```bash
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": "gpt-image-2", "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
```

```python
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': 'gpt-image-2', '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])
```

```js
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": "gpt-image-2", "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");
```

### Vastaanota ja tallenna tulokset

#### Ailoot · Kuvat

Lataa jokainen palautettu kuva tai tallenna sen Base64-sisältö

- `GET /v1/media/tasks/{task_id}`
- `GET /v1/media/assets/{asset_id}/content`
- `GET /v1/media/assets`
- `GET /v1/media/assets/{asset_id}`

##### Säilytä kaikki valmistuneet tulokset

Tallenna jokainen valmistunut kuva; nouda jokainen palautettu URL tai pura sen Base64-sisältö.

Tallenna jokainen data-alkio. Pura jokainen b64\_json-arvo tai lataa jokaisen palautetun allekirjoitetun URL-osoitteen sisältö. Valitse tiedostopääte todellisen MIME-tyypin tai tavusisällön perusteella.

##### Jos alkuperäinen vastaus on tarkistettava

Jos kuvan generoinnin tai muokkauksen tulos edellyttää tarkistusta, säilytä alkuperäinen operation\_id/X-Client-Request-ID ja palautetut tulostiedot. Hae olemassa olevat omistamasi tulokset mediakirjastosta käyttämällä todellisia task\_id- tai asset\_id-arvoja. Älä lähetä generointi- tai muokkauspyyntöä uudelleen äläkä muodosta tilakyselyn URL-osoitetta operation\_id-arvosta.

Vastauksen kentät

| Kenttä | Tyyppi |
| --- | --- |
| Kenttä`created` | Tyyppiinteger |
| Kenttä`data[].url` | Tyyppistring |
| Kenttä`data[].b64_json` | Tyyppibase64 string |
| Kenttä`usage` | Tyyppiobject |

Virheet ja seuraavat vaiheet

| Vastaus | Ehto | Seuraava vaihe |
| --- | --- | --- |
| Vastaus400 · `invalid_request_error` | EhtoVirheelliset pakolliset kentät, aineiston esitysmuoto tai parametrin arvo | Seuraava vaiheKorjaa ilmoitetut kentät ennen uutta luontipyyntöä. |
| Vastaus`server_error` | EhtoPalautettu vastaus ilmoittaa, että operaatio tai tulos edellyttää tarkistusta | Seuraava vaiheSäilytä alkuperäinen palautettu operaation tai tehtävän ID, pyynnön otsakkeet ja vastaus; jatka kyseisen alkuperäisen operaation tuettuja lukutoimintoja. Älä lähetä luontipyyntöä uudelleen. |

### Aliakset

#### Mallin aliakset

<strong>Ailoot</strong> [`gpt-image-2`](https://ailoot.ai/models/fi/#m=openai%2Fgpt-image-2&route=Core&caller=gpt-image-2&fmt=images)
**Ailoot Ultra** [`gpt-image-2`](https://ailoot.ai/models/fi/#m=openai%2Fgpt-image-2&route=Ultra&caller=gpt-image-2&fmt=images), [`openai/gpt-image-2`](https://ailoot.ai/models/fi/#m=openai%2Fgpt-image-2&route=Ultra&caller=openai%2Fgpt-image-2&fmt=images)

#### Menetelmäpolkujen aliakset

`/v1/images`

#### Liittyvät kutsujan ID:t

[`openai/gpt-image-2`](https://ailoot.ai/models/fi/#m=openai%2Fgpt-image-2&route=Ultra&caller=openai%2Fgpt-image-2&fmt=images), [`gpt-image-2`](https://ailoot.ai/models/fi/#m=openai%2Fgpt-image-2&route=Core&caller=gpt-image-2&fmt=images), [`gpt-image-2`](https://ailoot.ai/models/fi/#m=openai%2Fgpt-image-2&route=Ultra&caller=gpt-image-2&fmt=images)

**Ailoot Ultra · Kuvat** `POST /v1/images/generations` `gpt-image-2`

[`gpt-image-2`](https://ailoot.ai/models/fi/#m=openai%2Fgpt-image-2&route=Ultra&caller=gpt-image-2&fmt=images)

OpenAI /`gpt-image-2`

Mallin ID

- `gpt-image-2`
- `openai/gpt-image-2`

### Aloitus

GPT Image 2 luo ja muokkaa kuvia tekstistä ja visuaalisista viitteistä. Se tukee joustavia kuvakokoja ja käsittelee kuvasyötteet automaattisesti korkealla lähdeuskollisuudella sekä tarjoaa valmiille aineistolle erilliset laatu-, muoto- ja taustasäädöt.

Hyväksytyt syötteet

Teksti

Tulokset

Kuvat

### Saatavilla Ailootissa · syötteet & menetelmät

**Ailoot Ultra · Kuvat** `POST /v1/images/generations`

Syötetyypit

`text`

Tulostyypit

`image`

| Kenttä | Tyyppi | Vaatimus | Arvot & rajat | Oletus |
| --- | --- | --- | --- | --- |
| Kenttä`model` | Tyyppi`string` | VaatimusPakollinen | Arvot & rajat gpt-image-2 | Oletus— |
| Kenttä`prompt` | Tyyppi`string` | VaatimusPakollinen | Arvot & rajat Enimmäispituus: 32 000 | Oletus— |
| Kenttä`size` | Tyyppi`string` | VaatimusValinnainen | Arvot & rajat Ehdot: Käytä auto-arvoa tai WIDTHxHEIGHT-muotoa siten, että molemmat mitat ovat jaollisia luvulla 16. Pisin sivu on enintään 3,840 pikseliä ja kokonaiskoko enintään 8,300,000 pikseliä. | Oletusauto |
| Kenttä`background` | Tyyppi`string` | VaatimusValinnainen | Arvot & rajat transparent, opaque, auto | Oletusauto |
| Kenttä`moderation` | Tyyppi`string` | VaatimusValinnainen | Arvot & rajat low, auto Ehdot: Käytä auto-arvoa tavalliseen sisällön moderointiin. | Oletus— |
| Kenttä`n` | Tyyppi`integer` | VaatimusValinnainen | Arvot & rajat Vähimmäismäärä: 1 Enimmäismäärä: 10 | Oletus1 |
| Kenttä`quality` | Tyyppi`string` | VaatimusValinnainen | Arvot & rajat auto, high, medium, low | Oletusauto |
| Kenttä`output_compression` | Tyyppi`integer` | VaatimusValinnainen | Arvot & rajat Vähimmäismäärä: 0 Enimmäismäärä: 100 Ehdot: Koskee JPEG- ja WebP-tuloksia; lähetä dokumentoitu kokonaislukuarvo. | Oletus100 |
| Kenttä`output_format` | Tyyppi`string` | VaatimusValinnainen | Arvot & rajat webp, png, jpeg | Oletuspng |
| Kenttä`stream` | Tyyppi`boolean` | VaatimusValinnainen | Arvot & rajat false Ehdot: Tämä reitti palauttaa yhden valmiin JSON-vastauksen. | Oletusfalse |

Menetelmän parametrit ja elinkaari

| Parametri | Sopimus |
| --- | --- |
| Parametri`content_type` | Sopimusapplication/json |
| Parametri`required` | Sopimusprompt, model |
| Parametri`material_types` | Sopimustext |
| Parametri`optional` | Sopimussize, background, moderation, n, quality, output\_compression, output\_format, stream |
| Parametri`conditions` | SopimusLäpinäkyvä tausta edellyttää PNG- tai WebP-muotoa., Tuloksen pakkaus koskee JPEG- tai WebP-muotoa., Valittu menetelmä luo tuloksen tekstistä. Valmistajan kuvaamat muokkaus- ja suoratoistoasetukset ovat erillisiä ominaisuuksia. |

Elinkaari: `synchronous_result_then_owned_library`

`GET /v1/media/tasks/{task_id}` · todellisuudessa palautettu task\_id tai mediakirjaston tietue

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

`GET /v1/media/assets`

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

### Hinnoittelu

##### Lopullisen veloituksen laskenta

Näytettyjen hintojen avulla arvioidaan kustannukset ennen generointia. Lopullinen veloitus lasketaan alkuperäiselle generoinnille kirjatun kustannuksen perusteella. Lopullisena laskutettavana määränä ei käytetä tulosteen mitattua kestoa eikä ennustettuja määriä.

Hintatiedot eivät lisää pyyntövalintoja. Tuetut parametrit on lueteltu valitulle menetelmälle.

Nopea tila

Ei määritetty Kun nopea tila on valittu

Flex-tila

Ei määritetty Kun flex-tila on valittu

Päättelyn enimmäisteho

Ei määritetty Kun päättelyn enimmäistehoon sovelletaan default-oletussäätöä

#### Arvioidut vertailuhinnat

#### Hinnat asetusten mukaan

Kohdista kukin veloitus näytettyihin ehtoihin. Käytä yhtä hintaa kutakin vaihtoehtoisten asetusten ryhmää kohden.

| Asetukset | Hinnasto | Ennustettu määrä | Veloitus |
| --- | --- | --- | --- |
| AsetuksetTokenien perushinnat | HinnastoPerushinta | Ennustettu määrä— | Veloitus Syöte · Syötetokenit · Arvio vain vertailua varten **—** / 1K tokenia Tuloste · Tulostokenit · Arvio vain vertailua varten **—** / 1K tokenia Syöte · Välimuistin luku · Arvio vain vertailua varten **—** / 1K tokenia Syöte · Välimuistiin kirjoitus · Arvio vain vertailua varten **—** / 1K tokenia Syöte · Välimuistiin kirjoitus, 1 tunti · Arvio vain vertailua varten **—** / 1K tokenia |
| AsetuksetArvioitu luontikustannus | Hinnasto— | Ennustettu määräyhden generoinnin arvio | Veloitus Tuloste · Arvioidut generointikustannukset · Arvio vain vertailua varten **$0.24576** arvio ennen generointia Tämä arvio ei ole lisämaksu eikä valmistuneen generoinnin kiinteä hinta. |

Ailoot varaa arvioidun summan ennen pyyntöä. Tuloksen jälkeen lopullinen veloitus toteutetaan mitatun käytön perusteella. Suoratoiston veloituksessa käytetään lopullista käyttötietuetta. [Varauksen ja lopullisen veloituksen toiminta →](https://ailoot.ai/docs/fi/billing/reserve/)

### Esimerkkipyynnöt

#### Ailoot Ultra · Kuvat

curl

```bash
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={'prompt': 'A cute baby sea otter', 'model': 'gpt-image-2', 'size': '1024x1024', 'n': 1, 'background': 'auto', 'moderation': 'auto', 'output_format': 'png'}

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

### Vastaanota ja tallenna tulokset

#### Ailoot Ultra · Kuvat

Lataa jokainen palautettu kuva tai tallenna sen Base64-sisältö

- `GET /v1/media/tasks/{task_id}`
- `GET /v1/media/assets/{asset_id}/content`
- `GET /v1/media/assets`
- `GET /v1/media/assets/{asset_id}`

Muut sisällön lukukerrat

Lue olemassa olevat omistamasi aineistot

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \
  -H "Authorization: Bearer $AILOOT_API_KEY" -o owned-assets.json
# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.
```

##### Säilytä kaikki valmistuneet tulokset

Tallenna jokainen valmistunut kuva; nouda jokainen palautettu URL tai pura sen Base64-sisältö.

Säilytä koko vastaus ja otsakkeet, jokainen todellinen tuloste, alkuperäiset palautetut tunnisteet ja kaikki käyttötietokentät. Selvitä alkuperäisen operaation tila lähettämättä luontipyyntöä uudelleen.

##### Jos alkuperäinen vastaus on tarkistettava

Säilytä palautettu X-Client-Request-ID täsmäytystä varten. Tee lukukyselyt vain todellisuudessa palautetuilla task\_id/asset\_id-arvoilla tai käytä omistamaasi mediakirjastoa; älä koskaan rakenna tehtävän URL-osoitetta operaation ID:n perusteella äläkä lähetä luontipyyntöä uudelleen.

Vastauksen kentät

| Kenttä | Tyyppi |
| --- | --- |
| Kenttä`created` | Tyyppi |
| Kenttä`data[].url` | Tyyppi |
| Kenttä`data[].b64_json` | Tyyppi |
| Kenttä`usage` | Tyyppi |

### Aliakset

#### Mallin aliakset

<strong>Ailoot</strong> [`gpt-image-2`](https://ailoot.ai/models/fi/#m=openai%2Fgpt-image-2&route=Core&caller=gpt-image-2&fmt=images)
**Ailoot Ultra** [`gpt-image-2`](https://ailoot.ai/models/fi/#m=openai%2Fgpt-image-2&route=Ultra&caller=gpt-image-2&fmt=images), [`openai/gpt-image-2`](https://ailoot.ai/models/fi/#m=openai%2Fgpt-image-2&route=Ultra&caller=openai%2Fgpt-image-2&fmt=images)

#### Menetelmäpolkujen aliakset

`/v1/images`

#### Liittyvät kutsujan ID:t

[`openai/gpt-image-2`](https://ailoot.ai/models/fi/#m=openai%2Fgpt-image-2&route=Ultra&caller=openai%2Fgpt-image-2&fmt=images), [`gpt-image-2`](https://ailoot.ai/models/fi/#m=openai%2Fgpt-image-2&route=Core&caller=gpt-image-2&fmt=images), [`gpt-image-2`](https://ailoot.ai/models/fi/#m=openai%2Fgpt-image-2&route=Ultra&caller=gpt-image-2&fmt=images)

**Ailoot Ultra · Kuvat** `POST /v1/images/generations` `openai/gpt-image-2`

[`openai/gpt-image-2`](https://ailoot.ai/models/fi/#m=openai%2Fgpt-image-2&route=Ultra&caller=openai%2Fgpt-image-2&fmt=images)

OpenAI /`openai/gpt-image-2`

Mallin ID

- `gpt-image-2`
- `openai/gpt-image-2`

### Aloitus

GPT Image 2 luo ja muokkaa kuvia tekstistä ja visuaalisista viitteistä. Se tukee joustavia kuvakokoja ja käsittelee kuvasyötteet automaattisesti korkealla lähdeuskollisuudella sekä tarjoaa valmiille aineistolle erilliset laatu-, muoto- ja taustasäädöt.

Hyväksytyt syötteet

Teksti · Kuvat

Tulokset

Kuvat

### Saatavilla Ailootissa · syötteet & menetelmät

**Ailoot Ultra · Kuvat** `POST /v1/images/generations`

Syötetyypit

`text`, `image`

Tulostyypit

`image`

| Kenttä | Tyyppi | Vaatimus | Arvot & rajat | Oletus |
| --- | --- | --- | --- | --- |
| Kenttä`model` | Tyyppi`string` | VaatimusPakollinen | Arvot & rajat openai/gpt-image-2 | Oletus— |
| Kenttä`prompt` | Tyyppi`string` | VaatimusPakollinen | Arvot & rajat Vähimmäispituus: 1 | Oletus— |
| Kenttä`aspect_ratio` | Tyyppi`string` | VaatimusValinnainen | Arvot & rajat 1:1, 3:2, 2:3, 4:3, 3:4, 16:9, 9:16, 21:9, auto | Oletus— |
| Kenttä`quality` | Tyyppi`string` | VaatimusValinnainen | Arvot & rajat auto, low, medium, high | Oletus— |
| Kenttä`background` | Tyyppi`string` | VaatimusValinnainen | Arvot & rajat auto, opaque | Oletus— |
| Kenttä`n` | Tyyppi`integer` | VaatimusValinnainen | Arvot & rajat Vähimmäismäärä: 1 Enimmäismäärä: 10 | Oletus— |
| Kenttä`input_references` | Tyyppi`array` | VaatimusValinnainen | Arvot & rajat Kohteiden vähimmäismäärä: 0 Kohteiden enimmäismäärä: 16 | Oletus— |
| Kenttä`output_compression` | Tyyppi`integer` | VaatimusValinnainen | Arvot & rajat Vähimmäismäärä: 0 Enimmäismäärä: 100 | Oletus— |
| Kenttä`provider` | Tyyppi`object` | VaatimusValinnainen | Arvot & rajat | Oletus— |

Menetelmän parametrit ja elinkaari

| Parametri | Sopimus |
| --- | --- |
| Parametri`content_type` | Sopimusapplication/json |
| Parametri`required` | Sopimusmodel, prompt |
| Parametri`material_types` | Sopimustext, image |

Elinkaari: `synchronous_result_then_owned_library`

`GET /v1/media/tasks/{task_id}` · todellisuudessa palautettu task\_id tai mediakirjaston tietue

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

`GET /v1/media/assets`

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

### Hinnoittelu

##### Lopullisen veloituksen laskenta

Näytettyjen hintojen avulla arvioidaan kustannukset ennen generointia. Lopullinen veloitus lasketaan alkuperäiselle generoinnille kirjatun kustannuksen perusteella. Lopullisena laskutettavana määränä ei käytetä tulosteen mitattua kestoa eikä ennustettuja määriä.

Hintatiedot eivät lisää pyyntövalintoja. Tuetut parametrit on lueteltu valitulle menetelmälle.

Nopea tila

Ei määritetty Kun nopea tila on valittu

Flex-tila

Ei määritetty Kun flex-tila on valittu

Päättelyn enimmäisteho

Ei määritetty Kun päättelyn enimmäistehoon sovelletaan default-oletussäätöä

#### Arvioidut vertailuhinnat

#### Hinnat asetusten mukaan

Kohdista kukin veloitus näytettyihin ehtoihin. Käytä yhtä hintaa kutakin vaihtoehtoisten asetusten ryhmää kohden.

| Asetukset | Hinnasto | Ennustettu määrä | Veloitus |
| --- | --- | --- | --- |
| AsetuksetTokenien perushinnat | HinnastoPerushinta | Ennustettu määrä— | Veloitus Syöte · Syötetokenit · Arvio vain vertailua varten **—** / 1K tokenia Tuloste · Tulostokenit · Arvio vain vertailua varten **—** / 1K tokenia Syöte · Välimuistin luku · Arvio vain vertailua varten **—** / 1K tokenia Syöte · Välimuistiin kirjoitus · Arvio vain vertailua varten **—** / 1K tokenia Syöte · Välimuistiin kirjoitus, 1 tunti · Arvio vain vertailua varten **—** / 1K tokenia |
| AsetuksetArvioitu luontikustannus | Hinnasto— | Ennustettu määräyhden generoinnin arvio | Veloitus Tuloste · Arvioidut generointikustannukset · Arvio vain vertailua varten **$0.24576** arvio ennen generointia Tämä arvio ei ole lisämaksu eikä valmistuneen generoinnin kiinteä hinta. |

Ailoot varaa arvioidun summan ennen pyyntöä. Tuloksen jälkeen lopullinen veloitus toteutetaan mitatun käytön perusteella. Suoratoiston veloituksessa käytetään lopullista käyttötietuetta. [Varauksen ja lopullisen veloituksen toiminta →](https://ailoot.ai/docs/fi/billing/reserve/)

### Esimerkkipyynnöt

#### Ailoot Ultra · Kuvat

curl

```bash
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': 'openai/gpt-image-2', '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
```

### Vastaanota ja tallenna tulokset

#### Ailoot Ultra · Kuvat

Lataa jokainen palautettu kuva tai tallenna sen Base64-sisältö

- `GET /v1/media/tasks/{task_id}`
- `GET /v1/media/assets/{asset_id}/content`
- `GET /v1/media/assets`
- `GET /v1/media/assets/{asset_id}`

Muut sisällön lukukerrat

Lue olemassa olevat omistamasi aineistot

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \
  -H "Authorization: Bearer $AILOOT_API_KEY" -o owned-assets.json
# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.
```

##### Säilytä kaikki valmistuneet tulokset

Tallenna jokainen valmistunut kuva; nouda jokainen palautettu URL tai pura sen Base64-sisältö.

Säilytä koko vastaus ja otsakkeet, jokainen todellinen tuloste, alkuperäiset palautetut tunnisteet ja kaikki käyttötietokentät. Selvitä alkuperäisen operaation tila lähettämättä luontipyyntöä uudelleen.

##### Jos alkuperäinen vastaus on tarkistettava

Säilytä palautettu X-Client-Request-ID täsmäytystä varten. Tee lukukyselyt vain todellisuudessa palautetuilla task\_id/asset\_id-arvoilla tai käytä omistamaasi mediakirjastoa; älä koskaan rakenna tehtävän URL-osoitetta operaation ID:n perusteella äläkä lähetä luontipyyntöä uudelleen.

Vastauksen kentät

| Kenttä | Tyyppi |
| --- | --- |
| Kenttä`created` | Tyyppi |
| Kenttä`data[].url` | Tyyppi |
| Kenttä`data[].b64_json` | Tyyppi |
| Kenttä`usage` | Tyyppi |

### Aliakset

#### Mallin aliakset

<strong>Ailoot</strong> [`gpt-image-2`](https://ailoot.ai/models/fi/#m=openai%2Fgpt-image-2&route=Core&caller=gpt-image-2&fmt=images)
**Ailoot Ultra** [`gpt-image-2`](https://ailoot.ai/models/fi/#m=openai%2Fgpt-image-2&route=Ultra&caller=gpt-image-2&fmt=images), [`openai/gpt-image-2`](https://ailoot.ai/models/fi/#m=openai%2Fgpt-image-2&route=Ultra&caller=openai%2Fgpt-image-2&fmt=images)

#### Menetelmäpolkujen aliakset

`/v1/images`

#### Liittyvät kutsujan ID:t

[`openai/gpt-image-2`](https://ailoot.ai/models/fi/#m=openai%2Fgpt-image-2&route=Ultra&caller=openai%2Fgpt-image-2&fmt=images), [`gpt-image-2`](https://ailoot.ai/models/fi/#m=openai%2Fgpt-image-2&route=Core&caller=gpt-image-2&fmt=images), [`gpt-image-2`](https://ailoot.ai/models/fi/#m=openai%2Fgpt-image-2&route=Ultra&caller=gpt-image-2&fmt=images)

FAQ · OpenAI: GPT Image 2

Mitä syötteitä ja tuloksia on saatavilla?

`POST /v1/images/generations` · `gpt-image-2`: `text` → `image` `POST /v1/images/generations` · `gpt-image-2`: `text` → `image` `POST /v1/images/generations` · `openai/gpt-image-2`: `text`, `image` → `image`

Mitä kenttiä pyyntö käyttää?

`POST /v1/images/generations` · `gpt-image-2`: `model`, `prompt`, `n`, `response_format`, `stream` `POST /v1/images/generations` · `gpt-image-2`: `model`, `prompt`, `size`, `background`, `moderation`, `n`, `quality`, `output_compression`, `output_format`, `stream` `POST /v1/images/generations` · `openai/gpt-image-2`: `model`, `prompt`, `aspect_ratio`, `quality`, `background`, `n`, `input_references`, `output_compression`, `provider`

Mitä rajoja sovelletaan?

`POST /v1/images/generations` · `gpt-image-2`: `n.minimum`: `1` `POST /v1/images/generations` · `gpt-image-2`: `prompt.maximum_length`: `32000`; `n.minimum`: `1`; `n.maximum`: `10`; `output_compression.minimum`: `0`; `output_compression.maximum`: `100` `POST /v1/images/generations` · `openai/gpt-image-2`: `n.minimum`: `1`; `n.maximum`: `10`; `output_compression.minimum`: `0`; `output_compression.maximum`: `100`

Yhdistä Ailoot Claude Codeen, OpenCodeen, Hermesiin tai omaan sovellukseesi.

## Yritys ja sen projektisalkku

Yritys ja sen projektisalkku: miljoonia asiakkaita; kuukausittainen myynti miljardiluokassa.

## Osta tokenit alennuksella.

Tilausalennus säännölliseen käyttöön. Kampanjakoodit — jopa 50% tokeniostoista.

Tilaus

Valitse alennushintainen paketti säännöllisiä pyyntöjäsi varten.

Kampanjakoodi jopa 50%

Syötä koodi oston yhteydessä. Hinta lasketaan uudelleen voimassa olevan kampanjan mukaan.

Kulut historiassa

Malli, tokenit ja summa tallennetaan jokaiselle pyynnölle.

[Valitse tilaus](https://ailoot.ai/docs/fi/billing/subscriptions/) · [Katso mallihinnat](https://ailoot.ai/models/fi/)

## Yhdistä API tuotteeseen, jonka myyt.

SaaS, sovellukset ja botit Ailootin palveluehtojen ja lisenssisopimuksen mukaisesti. Pyydä edelleenmyyntiin jälleenmyyjälisenssi.

Kaupallinen sovellus

Lisää tekstin, kuvien, videoiden ja äänen luonti palvelusi maksullisiin ominaisuuksiin.

Jälleenmyyjälisenssi

Lähetä projektikuvaus ja pääsyn toteutustapa. Pyydä kirjalliset käyttö- ja jälleenmyyntiehdot.

Asiakirjat verkkosivustolla

Palveluehdot, lisenssisopimus ja tietojenkäsittelykäytäntö ovat saatavilla ennen yhdistämistä.

[Pyydä jälleenmyyjälisenssi](mailto:support@ailoot.ai) · [Palveluehdot ja lisenssisopimus](https://ailoot.ai/legal/offer?lang=fi)

## Ailoot · Yritys ja sen projektisalkku





Ailoot perustuu kertyneeseen toimintakokemukseen, laajaan asiakaskuntaan, vakaaseen palveluun ja jatkuvaan KPI-seurantaan.





Yritys ja sen projektisalkku: miljoonia asiakkaita; kuukausittainen myynti miljardiluokassa.





Ailoot hyödyntää tätä toimintakokemusta tarjotessaan API-yhteyden tekoälytoimintoihin asiakkaiden tuotteissa, agenteissa, sovelluksissa ja automaatioissa.
