Datblygwyr — API · MCP · CLI

Crëwch WIA Code mewn un llinell. Does dim angen allwedd o fewn y terfynau am ddim.

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.

Mae'r QR hybu bob amser wedi'i gynnwys. Does dim opsiwn i'w ddiffodd — mae'r un peth yn wir am yr API, MCP a'r CLI. Mae "pan fydd defnydd cronnol yn cyrraedd 100 miliwn o weithiau, mae'r hybwr yn gwahanu a daw eich logo eich hun yn ei le" yn addewid cynnyrch, felly wnaethom ni ddim gwneud eithriad ar gyfer unrhyw lwybr. Mae paramedrau amgodio (grid, bpc, bridge) hefyd wedi'u sefydlogi ar y gweinydd.

CLI — un llinell, dim gosod

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

Yn rhedeg yn syth ar Node 18 neu'n hwyrach, heb osod. Does ganddo ddim dibyniaethau, felly mae ei nôl yn cymryd ychydig eiliadau.

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

Mathau — Wi-Fi, cerdyn cyswllt, digwyddiad

Tri math parod. Does dim rhaid i chi gydosod y llinynnau eich hun — trosglwyddwch y meysydd ac mae'r gweinydd yn adeiladu cynnwys Wi-Fi / vCard / iCalendar safonol, yn union yr un fath, beit wrth feit, â'r hyn mae'r cynhyrchydd ar y wefan hon yn ei gynhyrchu.

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

Meysydd

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

Mae amseroedd ar ffurf "2026-09-01 19:00". Ar gyfer rhwydwaith Wi-Fi agored, trosglwyddwch security=nopass a hepgor password. Mae meysydd coll neu gamffurfiedig yn dychwelyd fel HTTP 400 gyda neges sy'n enwi'r maes — ni chynhyrchir unrhyw ddelwedd, felly nid yw cais gwallus byth yn cymryd slot rendro.

Sawl un ar y tro

Un llinell fesul cod. Wrth daro terfyn cyfradd, mae'n aros ac yn parhau yn hytrach na stopio hanner ffordd, ac yn adrodd am linellau a fethodd gyda'u rhif llinell gwirioneddol.

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

Yr ymateb yw image/png. Ychwanegwch ?format=json i gael base64 a metadata fel JSON.

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

Ei alw o borwr

Gallwch ei alw'n uniongyrchol o ap gwe ar unrhyw darddiad. Mae'n API cyhoeddus nad yw'n defnyddio cwcis, felly mae CORS ar agor.

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

Paramedrau

enwgofynnoldisgrifiad
textY testun neu URL i'w amgodio. Mae'n well byrhau URLau hir yn gyntaf.
typewifi · card · event. Yn cael ei roi yn lle text — mae'r gweinydd yn adeiladu'r llinyn safonol o'r meysydd. Gweler yr adran Mathau uchod.
shapeSilwét (rhagosodedig heart). Gweler y tabl isod.
cellPxPicseli fesul cell (3–20, rhagosodedig 8). Mae gwerth mwy yn golygu delwedd fwy.
labelLabel sy'n cael ei gadw yn y metadata. Nid yw'n cael ei dynnu ar y ddelwedd.

Silwetau a chapasiti

Mae pob silwét yn dal swm gwahanol (bytes UTF-8). Defnyddiwch square ar gyfer cynnwys hir; mae unrhyw siâp yn gweithio ar gyfer dolenni byr.

shapebytesshapebytes
square1450rose586
round1093clover521
hex861star386
heart854boomerang386

MCP — gadewch i'r AI ei wneud

Cysylltwch ef â chleient AI fel Claude ac mae'n creu codau yn syth yn y sgwrs. Yr endpoint yw https://mcp.wiacode.com/mcp a does dim angen allwedd.

Sefydlu Claude Desktop

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

Os yw eich cleient yn cefnogi Streamable HTTP yn uniongyrchol, rhowch yr URL iddo.

Offer

teclynbeth mae'n ei wneud
get_wia_code_infoYn esbonio beth yw WIA Code, sut mae'n wahanol i god QR, a chapasiti pob silwét. Mae galw hwn yn gyntaf yn lleihau methiannau.
generate_wia_codeYn troi testun yn ddelwedd god. Os yw'n mynd y tu hwnt i'r capasiti, mae'n dweud pa silwetau fyddai'n ffitio.
generate_wia_code_wifiManylion mynediad Wi-Fi — mae sganio yn ymuno â'r rhwydwaith heb deipio'r cyfrinair.
generate_wia_code_cardCyswllt fel vCard safonol — mae sganio'n cynnig ei gadw i gysylltiadau'r ffôn.
generate_wia_code_eventDigwyddiad fel iCalendar safonol — mae sganio'n ei ychwanegu at y calendr.

Terfynau am ddim

Os oes angen mwy arnoch — ar gyfer cyhoeddi swmp, partneriaethau neu ddefnydd masnachol, anfonwch e-bost atom. Byddwn yn rhoi allwedd i chi sy'n codi'r terfyn. 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.

Mwy

Agor y generadur →

Mae WIA Code yn gynnyrch gan SmileStory Co., Ltd. Mae'r QR hybu yn ganllaw sy'n helpu pobl heb y sganiwr penodol i'w ddarllen hefyd.