Masu Haɓakawa — API · MCP · CLI

Ƙirƙiri WIA Code a layi ɗaya. Ba a buƙatar maɓalli a cikin iyakokin kyauta.

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.

Ana haɗa booster QR koyaushe. Babu zaɓi na kashe shi — haka ma yake ga API, MCP da CLI. "Idan yawan amfani ya kai sau miliyan 100, booster zai rabu sannan tambarin ka zai maye gurbinsa" alkawari ne na kayan, don haka ba mu yi keɓancewa ga kowace hanya ba. Har ila yau an tsayar da sigogin sanya lamba (grid, bpc, bridge) a sabar.

CLI — layi ɗaya, ba tare da shigarwa ba

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

Yana gudana nan take akan Node 18 ko sabo, ba tare da shigarwa ba. Ba shi da dogaro da wani abu, don haka ɗauko shi yana ɗaukar 'yan daƙiƙa kaɗan.

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

Nau'ika — Wi-Fi, katin lamba, taro

Nau'ika uku da aka riga aka shirya. Ba sai ka gina strings ɗin da kanka ba — ka aika filayen sai sabar ta gina abun ciki na Wi-Fi / vCard / iCalendar na daidaitacce, wanda ya yi daidai byte-da-byte da abin da janareta na wannan shafin yake samarwa.

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

Filaye

typewajibina zaɓi
wifissid, passwordsecurity (WPA·WEP·nopass), hidden
cardnameorg, tel, email
eventtitle, startend, location, desc

Lokaci yana kama da "2026-09-01 19:00". Don hanyar sadarwar Wi-Fi mai buɗe, ka aika security=nopass kuma ka bar password. Filayen da suka ɓace ko marasa daidaitaccen tsari za su dawo a matsayin HTTP 400 tare da saƙon da ke ambaton filin — ba a samar da hoto ba, saboda haka bukata mara kyau ba ta taɓa ɗaukar wurin render ba.

Da yawa lokaci ɗaya

Layi ɗaya ga kowane code. Idan an isa iyakar yawan aiki, tsarin yana jira sannan ya ci gaba maimakon ya tsaya a tsakiya, kuma yana ba da rahoton layukan da suka gaza tare da ainihin lambar layinsu.

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

Amsar ita ce image/png. Ƙara ?format=json don samun base64 da bayanan meta a matsayin JSON.

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

Kiran shi daga burauza

Kana iya kiran shi kai tsaye daga app na yanar gizo a kowane asali. API ce ta jama'a wadda ba ta amfani da kukis, don haka CORS a bude yake.

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

Sigogi

sunawajibibayani
textRubutu ko URL da za a sanya lamba. Yana da kyau a takaita dogayen URL da farko.
typewifi · card · event. Ana bayarwa maimakon text — sabar tana gina daidaitaccen string daga filayen. Duba sashin Types a sama.
shapeSilhouette (tsoho heart). Duba tebur da ke ƙasa.
cellPxPixels a kowace tantanin halitta (3–20, tsoho 8). Girman lamba yana nufin hoto mafi girma.
labelLakabin da ake ajiyewa a bayanan meta. Ba a zana shi akan hoton.

Silhouettes da Ƙarfin Ɗauka

Kowane silhouette yana ɗauke da adadi daban-daban (bytes na UTF-8). Yi amfani da square don abun ciki mai tsawo; kowane siffa yana aiki don gajerun hanyoyin haɗi.

shapebytesshapebytes
square1450rose586
round1093clover521
hex861star386
heart854boomerang386

MCP — bari AI ya ƙirƙira

Haɗa shi da abokin ciniki na AI kamar Claude kuma zai ƙirƙiri lambobi kai tsaye a cikin tattaunawar. Ƙarshen shi ne https://mcp.wiacode.com/mcp kuma ba a buƙatar maɓalli.

Saitin Claude Desktop

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

Idan abokin cinikinku yana goyan bayan Streamable HTTP kai tsaye, kawai ba shi URL.

Kayan Aiki

kayan aikiaiki
get_wia_code_infoYana bayyana menene WIA Code, yadda ya bambanta da lambar QR, da ƙarfin ɗaukar kowane silhouette. Kiran wannan da farko yana rage gazawa.
generate_wia_codeYana juya rubutu zuwa hoton lamba. Idan ya wuce ƙarfin ɗauka, yana gaya wa waɗanne silhouettes za su dace.
generate_wia_code_wifiBayanan shiga na Wi-Fi — bincike (scan) yana shiga hanyar sadarwar ba tare da buga password ba.
generate_wia_code_cardMai lamba a matsayin vCard na daidaitacce — bincike yana ba da shawarar adana shi cikin lambobin waya na wayar.
generate_wia_code_eventTaro a matsayin iCalendar na daidaitacce — bincike yana ƙara shi cikin kalanda.

Iyakokin Kyauta

Idan kuna buƙatar ƙari — don bayarwa masu yawa, haɗin gwiwa ko amfani na kasuwanci, aiko mana da imel. Za mu ba ku maɓalli wanda zai ɗaga iyaka. 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.

Ƙari

Buɗe generator →

WIA Code kaya ne na SmileStory Co., Ltd. Booster QR jagora ne da ke taimaka wa mutanen da ba su da na'urar bincike ta musamman su ma su karanta shi.