Source: https://ailoot.ai/models/sl/wan2-7-image/
Canonical: https://ailoot.ai/models/sl/wan2-7-image/
Language: sl

# wan2.7-image

[Markdown](https://ailoot.ai/models/sl/wan2-7-image/index.md) · [JSON](https://ailoot.ai/models/sl/wan2-7-image/facts.json)

## [wan2.7-image](https://ailoot.ai/models/sl/wan2-7-image/)

Model za ustvarjanje slik iz besedila za pripravo oblikovalskih različic in ilustracij. Po podatkih družbe Alibaba je ta različica usmerjena v hitrejše ustvarjanje slik.

- [**Ailoot · Slike** `POST /v1/images/generations` `wan2.7-image`](https://ailoot.ai/models/sl/wan2-7-image/#method-0)

O modelu

Ta opis zajema zmožnosti modela. Vhodi, izhodi in možnosti, ki so na voljo v Ailoot, so spodaj navedeni za izbrano metodo.

Wan2.7-Image ustvarja slike na podlagi besedilnega navodila. Trenutna kartica Ailoot predstavlja prav besedilni vhod in rezultat v obliki slike. Po podatkih družbe Alibaba je ta različica usmerjena v hitrejše pridobivanje različic. Specifikacija proizvajalca predvideva tudi urejanje, kombiniranje referenc in lokalne spremembe; zanje je potrebna ločena podpora vhodnim slikam, ki ni predstavljena v trenutnem načinu dostopa na kartici.

#### Načini, ki jih opisuje Alibaba

Alibaba za način z referencami predvideva do devet izvirnih slik v navodilu. Te služijo kot opora za videz objekta, kompozicijo in podrobnosti. Model lahko več gradiv združi v novo sceno ali spremeni izvirno sliko ob ohranitvi glavnega predmeta. Za ciljno urejanje so predvidena izrecno označena območja: na eni sliki lahko določite do dve pravokotni območji.

V specifikaciji družbe Alibaba običajni način ustvari od enega do štirih rezultatov. Zaporedna serija omogoča zahtevo za do 12 slik, povezanih z zgodbo ali skupnimi značilnostmi likov. Za serijo je to zgornja meja: model sam določi potrebno število kadrov in jih lahko vrne manj. Navodilo in izvirno gradivo pomagata ohranjati skupno zgodbeno nit.

Za običajno ustvarjanje iz besedila brez referenc in zaporedne serije je predviden način sklepanja. V njem model pred ustvarjanjem slike podrobneje analizira zahteven opis. Pri urejanju na podlagi slik in v zaporedni seriji se ta način ne uporablja. Določena paleta iz 3–10 barv je na voljo zunaj zaporednih serij.

#### Vhod in rezultat

V načinih z izvirnimi slikami proizvajalec podpira JPEG, JPG, PNG brez prosojnosti, BMP in WEBP. Vsaka stranica lahko obsega od 240 do 8000 slikovnih pik, velikost datoteke je do 20 MB, razmerje stranic pa od 1:8 do 8:1.

Besedilno navodilo podpira kitajščino in angleščino ter je omejeno na 5000 znakov; presežni del se zavrže. Pri tej različici negativni opis in dodatna razširitev navodila nista predvidena.

Izhodni format je PNG, ločljivost pa do ravni 2K. Oznaka se nanaša na skupno površino slikovnih pik in ne na fiksno največjo dolžino stranice; obliko lahko izbirate v razponu od 1:8 do 8:1. Pri urejanju s prednastavljeno ločljivostjo rezultat ohrani razmerje stranic zadnje reference. Enako začetno naključno seme pomaga ustvariti podobne različice, ne zagotavlja pa popolnega ujemanja.

**Ailoot · Slike** `POST /v1/images/generations` `wan2.7-image`

[`wan2.7-image`](https://ailoot.ai/models/sl/#m=wan2.7-image&route=Core&caller=wan2.7-image&fmt=images)

Alibaba /`wan2.7-image`

### Začetek

Model za ustvarjanje slik iz besedila za pripravo oblikovalskih različic in ilustracij. Po podatkih družbe Alibaba je ta različica usmerjena v hitrejše ustvarjanje slik.

Dovoljeni vhodi

Besedilo

Rezultati

Slike

### Na voljo v Ailoot · vhodi in metode

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

Vhod

`text`

Izhod

`image`

Izhodni format

Slikovna datoteka

| Polje | Vrsta | Zahteva | Vrednosti in omejitve | Privzeto |
| --- | --- | --- | --- | --- |
| Polje`model` | Vrsta`string` | ZahtevaObvezno | Vrednosti in omejitve wan2.7-image | Privzeto— |
| Polje`prompt` | Vrsta`string` | ZahtevaObvezno | Vrednosti in omejitve Najmanjša dolžina: 1 | Privzeto— |
| Polje`n` | Vrsta`integer` | ZahtevaIzbirno | Vrednosti in omejitve Najmanj: 1 | Privzeto1 |
| Polje`response_format` | Vrsta`string` | ZahtevaIzbirno | Vrednosti in omejitve url, b64\_json | Privzeto— |
| Polje`stream` | Vrsta`boolean` | ZahtevaIzbirno | Vrednosti in omejitve | Privzetofalse |
| Polje`size` | Vrsta`string` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`partial_images` | Vrsta`integer` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`images[].image_url` | Vrsta`string` | ZahtevaNi podprto | Vrednosti in omejitve Največ dekodiranih bajtov: 20.971.520 Vrste MIME: image/png, image/jpeg Največ slik na polje: 9 Pogoji: En dejanski URL na objekt images\[\]. Število elementov polja je ločeno od te listne vrednosti niza. Velja, ko: Samo JSON images/edits; JSON images/generations ne razčleni referenc images. | Privzeto— |
| Polje`image` | Vrsta`file` | ZahtevaIzbirno | Vrednosti in omejitve Največ dekodiranih bajtov: 20.971.520 Vrste MIME: image/png, image/jpeg Velja, ko: ustvarjanje prek multipart/form-data | Privzeto— |
| Polje`image[]` | Vrsta`file[]` | ZahtevaIzbirno | Vrednosti in omejitve Največ elementov: 9 Največ dekodiranih bajtov: 20.971.520 Vrste MIME: image/png, image/jpeg Velja, ko: ustvarjanje prek multipart/form-data | Privzeto— |

Kombinacije vhodnih gradiv

**Iz besedila v sliko** · Obvezno: prompt

**reference\_images\_generation** · Obvezno: prompt

Parametri in življenjski cikel metode

| Parameter | Specifikacija |
| --- | --- |
| Parameter`material_types` | Specifikacijatext |
| Parameter`required` | Specifikacijamodel, prompt |
| Parameter`optional_controls` | Specifikacijanull |
| Parameter`content_type` | Specifikacijaapplication/json |

Življenjski cikel: `synchronous_result_then_owned_library`

`GET /v1/media/tasks/{task_id}` · Dejansko vrnjeni task\_id ali zapis v medijski knjižnici

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

`GET /v1/media/assets`

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

Strukture metod in ID so natančno določeni; zmožnost ponudnika je ločena od sprejema zahteve.

### Cenik

#### Cene metod Ailoot

Izhod

0,03 $ *na sliko 1K*

Izhod

0,03 $ *na sliko 2K*

Ailoot pred zahtevo rezervira ocenjeni znesek. Po rezultatu obračuna končni strošek na podlagi izmerjene porabe. Obračun pretakanja uporablja končni zapis porabe. [Kako delujeta rezervacija in obračun →](https://ailoot.ai/docs/sl/billing/reserve/)

#### Podrobnosti referenčne tarife

Referenčne lestvice modela ne spreminjajo izbire metode, ocen cen ali stroškov. Veljavni stroški uporabljajo cene izbrane metode Ailoot.

wan2.7-image

#### Cene po nastavitvah

| Nastavitev | Obračunski pogoji | Strošek |
| --- | --- | --- |
| Nastavitevwan2.7-image · Privzeta konfiguracija | Obračunski pogojiPrivzeta konfiguracija | Strošek Vhod · Vhod **0,00 $** na klic Izhod · Izhod **0,06 $** na klic |

### Primeri zahtev

#### Ailoot · Slike

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": "wan2.7-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
```

```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': 'wan2.7-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])
```

```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": "wan2.7-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");
```

### Prejmi in shrani rezultate

#### Ailoot · Slike

Prenesite vsako vrnjeno sliko ali shranite njeno vsebino Base64

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

##### Ohrani vse dokončane rezultate

Shranite vsako dokončano sliko; pridobite vsebino z vsake vrnjene URL ali dekodirajte njeno vsebino Base64.

Shranite vsak podatkovni element. Dekodirajte vsak b64\_json ali pridobite vsebino z vsakega vrnjenega podpisanega URL. Končnico imena datoteke izberite glede na dejanski tip MIME oziroma bajte.

##### Če je treba preveriti izvirni odgovor

Če je treba preveriti rezultat generiranja ali urejanja slike, shranite izvirni operation\_id/X-Client-Request-ID in vrnjene podatke o rezultatu. Obstoječe rezultate, ki vam pripadajo, pridobite prek medijske knjižnice z dejanskimi vrednostmi task\_id ali asset\_id. Zahteve za generiranje/urejanje ne pošiljajte znova in iz operation\_id ne sestavljajte URL za periodično preverjanje stanja.

Polja odgovora

| Polje | Vrsta |
| --- | --- |
| Polje`created` | Vrstainteger |
| Polje`data[].url` | Vrstastring |
| Polje`data[].b64_json` | Vrstabase64 string |
| Polje`usage` | Vrstaobject |

Napake in naslednji koraki

| Odgovor | Pogoj | Naslednji korak |
| --- | --- | --- |
| Odgovor400 · `invalid_request_error` | PogojNeveljavna obvezna polja, predstavitev gradiva ali vrednost parametra | Naslednji korakPred novo zahtevo za ustvarjanje popravite navedena polja. |
| Odgovor`server_error` | PogojVrnjeni odgovor navaja, da je treba operacijo ali rezultat preveriti | Naslednji korakShranite izvirni vrnjeni ID operacije/opravila, glave zahteve in odgovor; nadaljujte s podprtimi branji te izvirne operacije. Zahteve za ustvarjanje ne pošiljajte znova. |

### Druga imena

#### Druga imena modelov

**Ailoot** [`wan2.7-image`](https://ailoot.ai/models/sl/#m=wan2.7-image&route=Core&caller=wan2.7-image&fmt=images)

#### Druga imena poti metod

Uporabite zgoraj navedene poti metod.

#### Povezani ID-ji za klic

[`wan2.7-image`](https://ailoot.ai/models/sl/#m=wan2.7-image&route=Core&caller=wan2.7-image&fmt=images)

FAQ · wan2.7-image

Kateri vhodi in rezultati so na voljo?

`POST /v1/images/generations` · `wan2.7-image`: `text` → `image`

Katera polja uporablja zahteva?

`POST /v1/images/generations` · `wan2.7-image`: `model`, `prompt`, `n`, `response_format`, `stream`, `image`, `image[]`

Katere omejitve veljajo?

`POST /v1/images/generations` · `wan2.7-image`: `n.minimum`: `1`

Ailoot povežite s Claude Code, OpenCode, Hermes ali svojo aplikacijo.

## Podjetje in njegov portfelj projektov

Podjetje in njegov portfelj projektov: milijoni strank; mesečna prodaja v milijardah.

## Žetone kupujte s popustom.

Naročniški popust za redno delo. Promocijske kode prinesejo do 50% popusta na nakup žetonov.

Naročnina

Za redne zahteve izberite paket s popustom.

Promocijska koda do 50%

Kodo vnesite ob nakupu. Cena se preračuna po veljavni akciji.

Poraba v zgodovini

Za vsako zahtevo se shranijo model, žetoni in znesek.

[Izberite naročnino](https://ailoot.ai/docs/sl/billing/subscriptions/) · [Oglejte si cene modelov](https://ailoot.ai/models/sl/)

## API povežite z izdelkom, ki ga prodajate.

SaaS, aplikacije in boti po ponudbi in licenčni pogodbi Ailoot. Za nadaljnjo prodajo zaprosite za preprodajno licenco.

Komercialna aplikacija

Ustvarjanje besedila, slik, videa in zvoka vključite v plačljive funkcije svoje storitve.

Licenca za preprodajalca

Pošljite opis projekta in shemo dostopa. Zahtevajte pisne pogoje uporabe in nadaljnje prodaje.

Dokumenti na strani

Ponudba, licenčna pogodba in politika obdelave podatkov so dostopne pred povezavo.

[Zaprosite za preprodajno licenco](mailto:support@ailoot.ai) · [Ponudba in licenčna pogodba](https://ailoot.ai/legal/offer?lang=sl)

## Ailoot · Podjetje in njegov portfelj projektov





Ailoot temelji na pridobljenih operativnih izkušnjah, široki bazi strank, stabilni storitvi in stalnem spremljanju KPI.





Podjetje in njegov portfelj projektov: milijoni strank; mesečna prodaja v milijardah.





Ailoot te operativne izkušnje uporablja za dostop prek API do funkcij umetne inteligence v izdelkih strank, agentih, aplikacijah in avtomatizacijah.
