Luo WIA Code yhdellä rivillä. Avainta ei tarvita ilmaisrajojen sisällä.
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.
Tehostin-QR sisältyy aina mukaan. Sitä ei voi kytkeä pois — sama pätee API:iin, MCP:hen ja CLI:hen. "Kun kumulatiivinen käyttö saavuttaa 100 miljoonaa kertaa, tehostin irtoaa ja sen paikalle tulee oma logosi" on tuotelupaus, joten emme tehneet poikkeusta millekään yksittäiselle polulle. Koodausparametrit (grid, bpc, bridge) on kiinnitetty myös palvelimella.
npx wiacode "https://wiacode.com" --shape heart
Toimii heti Node 18:lla tai uudemmalla, ilman asennusta. Sillä ei ole riippuvuuksia, joten sen hakeminen kestää vain muutaman sekunnin.
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
Kolme valmista tyyppiä. Sinun ei tarvitse koota merkkijonoja itse — anna kentät, ja palvelin muodostaa standardin mukaisen Wi-Fi-, vCard- tai iCalendar-sisällön, tavu tavulta identtisen sen kanssa, jonka tämän sivuston generaattori tuottaa.
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 | pakollinen | valinnainen |
|---|---|---|
| wifi | ssid, password | security (WPA·WEP·nopass), hidden |
| card | name | org, tel, email |
| event | title, start | end, location, desc |
Kellonajat ovat muodossa "2026-09-01 19:00". Avoimelle Wi-Fi-verkolle anna security=nopass ja jätä salasana pois. Puuttuvat tai virheelliset kentät palautuvat HTTP 400 -virheenä, joka nimeää kyseisen kentän — kuvaa ei tällöin muodosteta, joten virheellinen pyyntö ei koskaan vie renderöintipaikkaa.
Yksi rivi per koodi. Jos nopeusrajoitus osuu kohdalle, se odottaa ja jatkaa sen sijaan että pysähtyisi kesken kaiken, ja ilmoittaa epäonnistuneet rivit niiden todellisilla rivinumeroilla.
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
Vastaus on image/png. Lisää ?format=json saadaksesi base64:n ja metatiedot JSON-muodossa.
curl -X POST 'https://wiacode.com/api/v1/code?format=json' \
-H 'Content-Type: application/json' \
-d '{"text":"https://wiacode.com","shape":"square"}'
Sitä voi kutsua suoraan mistä tahansa alkuperästä tulevasta verkkosovelluksesta. Se on julkinen API, joka ei käytä evästeitä, joten CORS on avoinna.
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
| nimi | pakollinen | kuvaus |
|---|---|---|
| text | ✓ | Koodattava teksti tai URL. Pitkät URL:t kannattaa lyhentää ensin. |
| type | — | wifi · card · event. Annetaan text:n sijaan — palvelin kokoaa standardin merkkijonon kentistä. Katso yllä oleva Tyypit-osio. |
| shape | — | Siluetti (oletus heart). Katso alla oleva taulukko. |
| cellPx | — | Pikseliä solua kohden (3–20, oletus 8). Suurempi arvo tarkoittaa isompaa kuvaa. |
| label | — | Metatiedoissa säilytettävä tunniste. Sitä ei piirretä kuvaan. |
Kukin siluetti mahduttaa eri määrän (UTF-8-tavuja). Käytä pitkälle sisällölle muotoa square; lyhyille linkeille mikä tahansa muoto käy.
| shape | bytes | shape | bytes |
|---|---|---|---|
| square | 1450 | rose | 586 |
| round | 1093 | clover | 521 |
| hex | 861 | star | 386 |
| heart | 854 | boomerang | 386 |
Yhdistä se tekoälyasiakkaaseen, kuten Claudeen, niin se luo koodeja suoraan keskustelussa. Päätepiste on https://mcp.wiacode.com/mcp, eikä avainta tarvita.
{
"mcpServers": {
"wiacode": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.wiacode.com/mcp"]
}
}
}
Jos asiakasohjelmasi tukee Streamable HTTP:tä suoraan, anna sille vain URL.
| työkalu | toiminto |
|---|---|
| get_wia_code_info | Selittää, mikä WIA Code on, miten se eroaa QR-koodista ja mikä on kunkin siluetin kapasiteetti. Tämän kutsuminen ensin vähentää virheitä. |
| generate_wia_code | Muuttaa tekstin koodikuvaksi. Jos se ylittää kapasiteetin, se kertoo, mitkä siluetit sopisivat. |
| generate_wia_code_wifi | Wi-Fi-tunnukset — skannaus liittää laitteen verkkoon ilman salasanan kirjoittamista. |
| generate_wia_code_card | Yhteystieto standardin vCard-muodossa — skannaus tarjoutuu tallentamaan sen puhelimen yhteystietoihin. |
| generate_wia_code_event | Tapahtuma standardin iCalendar-muodossa — skannaus lisää sen kalenteriin. |
503. Yritä vain hetken kuluttua uudelleen.429-vastauksen sekä tiedon siitä, montako sekuntia pitää odottaa.Jos tarvitset enemmän — joukkotuotantoa, kumppanuuksia tai kaupallista käyttöä varten lähetä meille sähköpostia. Annamme sinulle avaimen, joka nostaa rajaa. 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.
WIA Code on SmileStory Co., Ltd.:n tuote. Tehostin-QR on opastin, joka auttaa myös niitä, joilla ei ole omaa skanneria, lukemaan sen.