Gumawa ng WIA Code sa isang linya. Walang kailangang key sa loob ng libreng limitasyon.
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.
Palaging kasama ang booster QR. Walang opsyon para i-off ito — pareho rin ito sa API, MCP, at CLI. Ang "kapag umabot na sa 100 milyong beses ang kabuuang paggamit, maghihiwalay ang booster at ang sarili mong logo ang papalit dito" ay isang pangako ng produkto, kaya wala kaming ginawang eksepsiyon para sa kahit anong daan. Naka-fix din sa server ang mga encoding parameter (grid, bpc, bridge).
npx wiacode "https://wiacode.com" --shape heart
Direktang tumatakbo sa Node 18 o mas bago, nang walang install. Walang dependencies, kaya ilang segundo lang ang pag-fetch nito.
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
Tatlong handa nang gamitin. Hindi mo na kailangang buuin mismo ang mga string — ibigay mo lang ang mga field at bubuuin ng server ang karaniwang Wi-Fi / vCard / iCalendar content, kapareho nang eksakto, byte-for-byte, sa nililikha ng generator sa site na ito.
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"
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
| type | kailangan | opsyonal |
|---|---|---|
| wifi | ssid, password | security (WPA·WEP·nopass), hidden |
| card | name | org, tel, email |
| event | title, start | end, location, desc |
Ang oras ay nasa "2026-09-01 19:00" na format. Para sa bukas na Wi-Fi network, ilagay ang security=nopass at wag nang isama ang password. Ang nawawala o maling format na field ay magbabalik ng HTTP 400 na may mensaheng nagsasabi kung anong field ang problema — walang larawang ma-render, kaya ang maling request ay hindi kailanman kumukuha ng render slot.
Isang linya bawat code. Kapag naabot ang rate limit, naghihintay ito at nagpapatuloy sa halip na huminto sa gitna, at iniuulat ang mga nabigong linya kasama ang tunay nilang line number.
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"}
curl -X POST https://wiacode.com/api/v1/code \
-H 'Content-Type: application/json' \
-d '{"text":"https://wiacode.com","shape":"heart"}' \
-o wiacode.png
Ang response ay image/png. Idagdag ang ?format=json para makuha ang base64 at metadata bilang JSON.
curl -X POST 'https://wiacode.com/api/v1/code?format=json' \
-H 'Content-Type: application/json' \
-d '{"text":"https://wiacode.com","shape":"square"}'
Maaari mo itong tawagin nang direkta mula sa isang web app sa kahit anong origin. Isa itong pampublikong API na hindi gumagamit ng cookies, kaya bukas ang CORS.
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,...
curl https://wiacode.com/api/v1/shapes
| pangalan | kailangan | paglalarawan |
|---|---|---|
| text | ✓ | Ang teksto o URL na i-e-encode. Mas mainam na paikliin muna ang mahahabang URL. |
| type | — | wifi · card · event. Ibinibigay sa halip na text — bubuuin ng server ang standard na string mula sa mga field. Tingnan ang seksyong Types sa itaas. |
| shape | — | Silhouette (default heart). Tingnan ang talahanayan sa ibaba. |
| cellPx | — | Pixels bawat cell (3–20, default 8). Mas malaki ang halaga, mas malaki ang imahe. |
| label | — | Isang label na iniingatan sa metadata. Hindi ito iginuhit sa imahe. |
Iba-iba ang kaya ng bawat silhouette (UTF-8 bytes). Gamitin ang square para sa mahabang content; kahit anong hugis ay gagana para sa maiikling link.
| shape | bytes | shape | bytes |
|---|---|---|---|
| square | 1450 | rose | 586 |
| round | 1093 | clover | 521 |
| hex | 861 | star | 386 |
| heart | 854 | boomerang | 386 |
Ikonekta ito sa AI client tulad ng Claude at gagawa ito ng mga code nang direkta sa usapan. Ang endpoint ay https://mcp.wiacode.com/mcp at walang kailangang key.
{
"mcpServers": {
"wiacode": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.wiacode.com/mcp"]
}
}
}
Kung direktang sinusuportahan ng client mo ang Streamable HTTP, ibigay lang ang URL.
| kasangkapan | gawain |
|---|---|
| get_wia_code_info | Ipinapaliwanag kung ano ang WIA Code, paano ito naiiba sa QR code, at ang kapasidad ng bawat silhouette. Ang pagtawag dito muna ay nagpapababa ng mga pagkabigo. |
| generate_wia_code | Ginagawang code image ang teksto. Kapag lumampas sa kapasidad, sinasabi nito kung aling mga silhouette ang kasya. |
| generate_wia_code_wifi | Wi-Fi credentials — kapag na-scan, sumasali sa network nang hindi na kinakailangang i-type ang password. |
| generate_wia_code_card | Isang contact bilang standard na vCard — kapag na-scan, iaalok na i-save ito sa contacts ng telepono. |
| generate_wia_code_event | Isang event bilang standard na iCalendar — kapag na-scan, idinadagdag ito sa kalendaryo. |
503. Tumawag lang ulit sa loob ng ilang sandali.429 kasama ang bilang ng segundong dapat hintayin.Kung kailangan mo ng higit pa — para sa bulk na pag-isyu, partnership, o komersyal na gamit, padalhan kami ng email. Bibigyan ka namin ng key na magpapataas ng limitasyon. wiasoom@smilestory.ai
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.
Ang WIA Code ay produkto ng SmileStory Co., Ltd. Ang booster QR ay isang gabay na tumutulong sa mga taong walang dedicated scanner na mabasa rin ito.