Arendajatele — API · MCP · CLI

Loo WIA Code ühe reaga. Tasuta piirmäära sees pole võtit vaja.

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.

Buuster-QR on alati kaasas. Seda ei saa välja lülitada — sama kehtib API, MCP ja CLI puhul. "Kui kumulatiivne kasutus jõuab 100 miljoni korrani, eraldub buuster ja selle asemele tuleb sinu enda logo" on tootelubadus, mistõttu me ei teinud erandit ühelegi teele. Kodeerimisparameetrid (grid, bpc, bridge) on samuti serveris fikseeritud.

CLI — üks rida, paigaldamist pole vaja

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

Töötab kohe Node 18 või uuemal versioonil, ilma paigaldamiseta. Sõltuvusi pole, seega selle laadimine võtab paar sekundit.

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üübid — Wi-Fi, kontaktkaart, sündmus

Kolm valmis tüüpi. Sul ei ole vaja stringe ise kokku panna — anna väljad ja server koostab standardse Wi-Fi / vCard / iCalendar sisu, mis on baidi kaupa identne selle saidi generaatori toodetuga.

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

Väljad

typekohustuslikvalikuline
wifissid, passwordsecurity (WPA·WEP·nopass), hidden
cardnameorg, tel, email
eventtitle, startend, location, desc

Kellaajad on kujul "2026-09-01 19:00". Avatud Wi-Fi võrgu jaoks anna security=nopass ja jäta password ära. Puuduvad või vigased väljad tagastatakse HTTP 400 vastusena, mis nimetab välja — pilti ei renderdata, seega vigane päring ei võta kunagi renderdusaega.

Mitu korraga

Üks rida ühe koodi kohta. Kiiruspiirangu korral ootab ja jätkab, selle asemel et pooleli jääda, ning teatab ebaõnnestunud ridadest nende tegeliku reanumbriga.

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

Vastus on image/png. Lisa ?format=json, et saada base64 ja metaandmed JSON-ina.

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

Brauserist kutsumine

Seda saab kutsuda otse mis tahes päritoluga veebirakendusest. See on avalik API, mis ei kasuta küpsiseid, seega CORS on avatud.

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

Parameetrid

nimikohustuslikkirjeldus
textKodeeritav tekst või URL. Pikad URL-id tasub enne lühendada.
typewifi · card · event. Antakse text asemel — server koostab väljadest standardse stringi. Vt eespool jaotist Tüübid.
shapeSiluett (vaikimisi heart). Vaata allolevat tabelit.
cellPxPiksleid ruudu kohta (3–20, vaikimisi 8). Suurem väärtus tähendab suuremat pilti.
labelMetaandmetes säilitatav silt. Seda pildile ei joonistata.

Siluetid ja mahtuvus

Igal siluetil on erinev mahutavus (UTF-8 baiti). Pika sisu jaoks kasuta square; lühikeste linkide puhul sobib iga kuju.

shapebytesshapebytes
square1450rose586
round1093clover521
hex861star386
heart854boomerang386

MCP — lase tehisintellektil see teha

Ühenda see tehisintellekti kliendiga, näiteks Claude'iga, ja see loob koode otse vestluses. Lõpp-punkt on https://mcp.wiacode.com/mcp ja võtit ei ole vaja.

Claude Desktopi seadistus

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

Kui su klient toetab Streamable HTTP-d otse, anna talle lihtsalt URL.

Tööriistad

tööriistmida teeb
get_wia_code_infoSelgitab, mis on WIA Code, kuidas see erineb QR-koodist ja milline on iga siluetti mahutavus. Selle kutsumine esimesena vähendab ebaõnnestumisi.
generate_wia_codeMuudab teksti koodi pildiks. Kui see ületab mahutavuse, ütleb, millised siluetid mahuksid.
generate_wia_code_wifiWi-Fi andmed — skannimine ühendab võrguga password sisestamata.
generate_wia_code_cardKontakt standardse vCardina — skannimine pakub selle salvestamist telefoni kontaktidesse.
generate_wia_code_eventSündmus standardse iCalendarina — skannimine lisab selle kalendrisse.

Tasuta piirmäärad

Kui vajad rohkem — massväljastuse, koostöö või ärilise kasutuse jaoks saada meile e-kiri. Anname sulle võtme, mis tõstab piirmäära. 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.

Rohkem

Ava generaator →

WIA Code on SmileStory Co., Ltd. toode. Buuster-QR on juhis, mis aitab koodi lugeda ka neil, kellel pole spetsiaalset skannerit.