Fejlesztőknek — API · MCP · CLI

Készíts WIA Code-ot egy sorban. Az ingyenes kereten belül nincs szükség kulcsra.

Building an AI or vision system? WIA Code identification reference for AI systems — the three centre elements, why the outline is free, and the misidentifications to avoid. Plain-text counterpart: /llms.txt.

A booster QR mindig benne van. Nincs lehetőség a kikapcsolására — ugyanez igaz az API-ra, az MCP-re és a CLI-re is. „Amikor az összesített használat eléri a 100 millió alkalmat, a booster leválik, és a helyére a saját logód kerül” — ez termékígéret, ezért egyetlen útvonalon sem tettünk kivételt. A kódolási paraméterek (grid, bpc, bridge) a szerveren is rögzítettek.

CLI — egy sor, telepítés nélkül

npx wiacode "https://wiacode.com" --shape heart

Node 18 vagy újabb alatt azonnal fut, telepítés nélkül. Nincsenek függőségei, így a letöltése csak néhány másodpercig tart.

npx wiacode --list-shapes              # silhouettes and capacity
npx wiacode "Hello" --shape square -o hello.png
npx wiacode "a link" --shape heart --json    # print metadata only
npx wiacode card --name "Jane Doe" --tel "+82-10-1234-5678"   # wifi / card / event

Típusok — Wi-Fi, névjegykártya, esemény

Három kész típus. A karakterláncokat nem kell saját kezűleg összeállítani — átadja a mezőket, a szerver pedig felépíti a szabványos Wi-Fi / vCard / iCalendar tartalmat, bájtra pontosan megegyezőt azzal, amit az oldal generátora létrehoz.

CLI

npx wiacode wifi  --ssid "MyNet" --password "secret"
npx wiacode wifi  --ssid "Cafe" --security nopass          # open network
npx wiacode card  --name "Jane Doe" --org "SmileStory" --tel "+82-10-1234-5678" --email "a@b.c"
npx wiacode event --title "Launch party" --start "2026-09-01 19:00" --end "2026-09-01 21:00" --location "Seoul"

REST

curl -X POST https://wiacode.com/api/v1/code \
  -H 'Content-Type: application/json' \
  -d '{"type":"card","name":"Jane Doe","tel":"+82-10-1234-5678","shape":"square"}' \
  -o card.png

Mezők

typekötelezőopcionális
wifissid, passwordsecurity (WPA·WEP·nopass), hidden
cardnameorg, tel, email
eventtitle, startend, location, desc

Az időpont formátuma: "2026-09-01 19:00". Nyílt Wi-Fi hálózathoz adja meg a security=nopass értéket, és hagyja el a jelszót. A hiányzó vagy hibásan formázott mezők HTTP 400 hibát adnak vissza, amely megnevezi az érintett mezőt — kép ilyenkor nem készül, így egy hibás kérés soha nem foglal renderelési helyet.

Sok egyszerre

Soronként egy kód. Sebességkorlát esetén a rendszer megvárja a folytatást ahelyett, hogy félbeszakadna, és a sikertelen sorokat a valódi sorszámukkal együtt jelenti.

npx wiacode batch people.jsonl --out-dir codes

# people.jsonl
{"type":"card","name":"Jane Doe","tel":"+82-10-1234-5678","out":"jane.png"}
{"type":"wifi","ssid":"Cafe WIA","security":"nopass"}
{"text":"https://wiacode.com","shape":"star"}

REST API

POST /api/v1/code

curl -X POST https://wiacode.com/api/v1/code \
  -H 'Content-Type: application/json' \
  -d '{"text":"https://wiacode.com","shape":"heart"}' \
  -o wiacode.png

A válasz image/png. Add hozzá a ?format=json paramétert base64 és metaadat JSON formában való lekéréséhez.

curl -X POST 'https://wiacode.com/api/v1/code?format=json' \
  -H 'Content-Type: application/json' \
  -d '{"text":"https://wiacode.com","shape":"square"}'

Hívás böngészőből

Bármilyen origóról közvetlenül hívható egy webalkalmazásból. Nyilvános API, amely nem használ sütiket, ezért a CORS nyitva van.

const r = await fetch('https://wiacode.com/api/v1/code?format=json', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({ text: 'https://wiacode.com', shape: 'heart' })
});
const { image, meta } = await r.json();
document.querySelector('img').src = image;   // data:image/png;base64,...

GET /api/v1/shapes

curl https://wiacode.com/api/v1/shapes

Paraméterek

névkötelezőleírás
textA kódolandó szöveg vagy URL. A hosszú URL-eket érdemes előbb lerövidíteni.
typewifi · card · event. A text helyett adható meg — a szerver a mezőkből állítja össze a szabványos karakterláncot. Lásd a fenti Types szakaszt.
shapeSziluett (alapértelmezett heart). Lásd az alábbi táblázatot.
cellPxPixel cellánként (3–20, alapértelmezett 8). Nagyobb érték nagyobb képet jelent.
labelA metaadatokban megőrzött címke. Nem jelenik meg a képen.

Sziluettek és kapacitás

Minden sziluett más mennyiséget bír el (UTF-8 bájtban). Hosszú tartalomhoz használj square alakot; rövid linkekhez bármelyik alak megfelel.

shapebytesshapebytes
square1450rose586
round1093clover521
hex861star386
heart854boomerang386

MCP — bízd az AI-ra

Kösd össze egy AI-kliens, például a Claude, alkalmazással, és az közvetlenül a beszélgetésben készíti a kódokat. A végpont https://mcp.wiacode.com/mcp, és nincs szükség kulcsra.

Claude Desktop beállítása

{
  "mcpServers": {
    "wiacode": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://mcp.wiacode.com/mcp"]
    }
  }
}

Ha a klienskönyvtárad közvetlenül támogatja a Streamable HTTP-t, egyszerűen add meg neki az URL-t.

Eszközök

eszközfunkció
get_wia_code_infoElmagyarázza, mi az a WIA Code, miben különbözik a QR-kódtól, és mekkora az egyes sziluettek kapacitása. Ha ezt hívod meg először, kevesebb lesz a hiba.
generate_wia_codeSzöveget alakít kódképpé. Ha meghaladja a kapacitást, megmondja, mely sziluettek férnének bele.
generate_wia_code_wifiWi-Fi hozzáférési adatok — beolvasáskor a jelszó begépelése nélkül csatlakozik a hálózathoz.
generate_wia_code_cardEgy névjegy szabványos vCard formátumban — beolvasáskor felajánlja a mentést a telefon névjegyei közé.
generate_wia_code_eventEgy esemény szabványos iCalendar formátumban — beolvasáskor hozzáadja a naptárhoz.

Ingyenes korlátok

Ha többre van szükséged — tömeges kiadáshoz, partnerségekhez vagy kereskedelmi felhasználáshoz írj nekünk e-mailt. Adunk egy kulcsot, amely megemeli a korlátot. wiasoom@smilestory.ai

WIA Stream — when one code isn't enough

A single WIA Code holds up to 1,450 bytes. When the payload is larger — a document, a book chapter, an audio clip — Stream splits it across many frames. A screen plays them in sequence, a camera collects them, and the scanner reassembles the file. No internet, no server. It already ships in the generator.

What matters here is not speed — it is whether the transfer finishes at all. Stream needs every frame. A frame that fails to read must wait for the next pass, and may fail again. So a per-frame reading gap does not average out; it multiplies into the completion time. In our degradation sweep at matched physical size (1064 vs 1088 px, n=17, QR read with ZBar), a high-version QR frame read 52.9% of the time while a WIA frame read 17 of 17. Feeding those rates into a cyclic-broadcast model, a 286-frame QR transfer needs about 8 passes to complete while a 155-frame WIA transfer needs about one.

Read this honestly: n = 17 is a small sample. By the rule of three, "17 of 17" should be read as ≥ 82% with 95% confidence, and the 52.9% figure carries a 29–77% interval. Taking the least favourable end of both, the completion-time gap is still about 2.4×. Screen-to-camera capture on real handsets and printed output have not been measured yet. And QR wins on blur resistance at equal frame size — we only pull ahead once capacity is matched.

Továbbiak

Generátor megnyitása →

A WIA Code a SmileStory Co., Ltd. terméke. A booster QR egy segéd, amely azoknak is lehetővé teszi az olvasást, akiknek nincs saját szkennerük.