Horumariyeyaal — API · MCP · CLI

Ku samee WIA Code hal xariiq. Xadka bilaashka ah gudihiisa furaha looma baahna.

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.

Booster QR-ka had iyo jeer waa la daraa. Ma jiro doorasho lagu demiyo — sidoo kale API, MCP iyo CLI. "Marka isticmaalka wadajirka ah gaaro 100 milyan, booster-ku wuu ka soocmayaa, halkiisana waxaa gali doona astaantaada gaarka ah" waa balan mahsuulka, sidaas darteed marna kama samaynin exception waddo gaar ah. Baaraamiitarada codaynta (grid, bpc, bridge) sidoo kale ayaa server-ka lagu go'aamiyaa.

CLI — hal xariiq, la'aan install

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

Wuxuu si toos ah u shaqeeyaa Node 18 ama ka weyn, la'aan install. Ma laha ku-tiirsanaan, marka soo dejintiisu waxay qaadataa dhawr ilbiriqsi.

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

Noocyada — Wi-Fi, kaadhka xiriirka, dhacdada

Saddex nooc oo diyaar ah. Uma baahnid inaad qoraalka isku dartid adigu — waxaad gudbisaa goobaha (fields), serverkuna wuxuu dhisaa nuxurka Wi-Fi / vCard / iCalendar oo caadi ah, oo bar-baraki isku mid ah waxa uu generatorku ku dhaliyo boggan.

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

Goobaha

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

Wakhtiyada waa qaabka "2026-09-01 19:00". Shabakad Wi-Fi oo furan haddii aad isticmaasho, gudbi security=nopass oo ka tag furaha sirta ah. Goobaha maqan ama qaab khaldan waxay soo noqdaan HTTP 400 oo leh fariin sheegeysa goobta — sawir lama soo saarayo, sidaas darteed codsi khaldan marnaba ma qaadanayo booska soo saarista.

Dhowr mar hal mar

Hal xariiq oo kood ah. Haddii xadka soo-diritaanka la gaaro, wuu sugayaa oo wuu sii wadaa halkii uu kaga joogsan lahaa dhexda, oo wuxuu soo sheegayaa xariiqyada fashilmay lambarradooda xariiq ee dhabta ah.

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

Jawaabtu waa image/png. Ku dar ?format=json si aad u hesho base64 iyo metadata JSON ahaan.

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

Ka wicitaanka biraawsarka

Waxaad ka wici kartaa si toos ah app-ka webka ee origin kasta. Waa API dadweyne oo aan isticmaalin cookie-yo, sidaas darteed CORS waa furan yahay.

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

Baraamiitarada

magacwaajibsharraxaad
textQoraalka ama URL-ka la codaynayo. URL-yada dhaadheer waa la soo gaabiyaa marka hore.
typewifi · card · event. Waxa la siiyaa halkii text — serverku wuxuu goobaha ka dhisaa qoraalka caadiga ah. Eeg qaybta Noocyada ee kore.
shapeSilhouette-ka (default heart). Eeg jadwalka hoose.
cellPxPixels unug kastaba (3–20, default 8). Sida uu weynaado ayaa sawirka u weynaanayaa.
labelSummad lagu haysto metadata. Sawirka lagama sawiro.

Silhouettes iyo awoodda

Silhouette kastaa wuxuu qaadaa qadar kala duwan (UTF-8 bytes). U isticmaal square waxyaabaha dhaadheer; sumad kastaaba way ku filan tahay linkyada gaagaaban.

shapebytesshapebytes
square1450rose586
round1093clover521
hex861star386
heart854boomerang386

MCP — u daa AI-gu inuu sameeyo

Ku xir client AI ah sida Claude, kodhadhka waxaa lagu sameeyaa wadahadalka gudihiisa. Endpoint-ku waa https://mcp.wiacode.com/mcp, furana looma baahna.

Dejinta Claude Desktop

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

Haddii client-kaagu si toos ah u taageero Streamable HTTP, kaliya sii URL-kan.

Qalabka

qalabwaxa uu qabanayo
get_wia_code_infoWuxuu sharaxayaa waxa WIA Code yahay, sida uga duwan tahay kood QR, iyo awoodda silhouette kasta. Marka hore loo yeero tan ayaa yareysa khaladaadka.
generate_wia_codeWuxuu qoraalka u beddelaa sawir kood ah. Haddii uu ka badan yahay awoodda, wuxuu kuu sheegayaa silhouette-yada ku habboon.
generate_wia_code_wifiXogta gelitaanka Wi-Fi — sikaanintu waxay ku biirisaa shabakada iyada oo aan la qorin furaha sirta ah.
generate_wia_code_cardXiriir sida vCard caadiga ah — sikaanintu waxay soo bandhigtaa keydinta xiriirrada taleefanka.
generate_wia_code_eventDhacdo sida iCalendar caadiga ah — sikaanintu waxay ku darsaa kalandarka.

Xadka bilaashka ah

Haddii aad u baahan tahay wax dheeraad ah — soo saarid tiro badan, iskaashi ama isticmaal ganacsi, email noo soo dir. Waxaan ku siinaynaa furo kordhisa xadka. 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.

Wax dheeraad ah

Fur generator-ka →

WIA Code waa alaab ay soo saartay SmileStory Co., Ltd. Booster QR-ku waa hage ka caawiya dadka aan lahayn scanner gaarka ah inay sidoo kale akhriyaan.