Развивачи — API · MCP · CLI

Направете WIA Code во еден ред. Не е потребен клуч во рамките на бесплатните лимити.

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 е секогаш вклучен. Не постои опција за негово исклучување — истото важи за API, MCP и CLI. "Кога кумулативната употреба ќе достигне 100 милиони пати, boosterот се одделува и на неговото место доаѓа вашето сопствено лого" е ветување на производот, па затоа не направивме исклучок за ниту еден пат. Параметрите за кодирање (grid, bpc, bridge) исто така се фиксни на серверот.

CLI — еден ред, без инсталација

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

Работи веднаш на Node 18 или понова верзија, без инсталација. Нема зависности, па преземањето трае само неколку секунди.

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

Типови — Wi-Fi, визит-картичка, настан

Три готови видови. Не мора самите да ги составувате низовите — ги давате полињата, а серверот гради стандардна Wi-Fi / vCard / iCalendar содржина, идентична бајт по бајт со онаа што ја произведува генераторот на овој сајт.

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

Полиња

typeзадолжителноопционално
wifissid, passwordsecurity (WPA·WEP·nopass), hidden
cardnameorg, tel, email
eventtitle, startend, location, desc

Времињата се во форматот "2026-09-01 19:00". За отворена Wi-Fi мрежа проследете security=nopass и изоставете ја лозинката. Полиња што недостасуваат или се неправилно форматирани враќаат HTTP 400 со порака што го именува полето — не се рендерира слика, па погрешно барање никогаш не зазема место за рендерирање.

Повеќе одеднаш

По еден ред за секој код. При ограничување на бројот на барања, чека и продолжува наместо да застане на половина пат, и ги пријавува неуспешните редови со нивните вистински броеви на редови.

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

Одговорот е image/png. Додадете ?format=json за да добиете base64 и метаподатоци во JSON формат.

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

Повикување од прелистувач

Можете да го повикате директно од веб-апликација на кое било потекло (origin). Тоа е јавно API кое не користи колачиња, па 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,...

GET /api/v1/shapes

curl https://wiacode.com/api/v1/shapes

Параметри

имезадолжителноопис
textТекстот или URL-то за кодирање. Долгите URL-а подобро е прво да се скратат.
typewifi · card · event. Се дава наместо text — серверот ја составува стандардната низа од полињата. Видете го делот Типови погоре.
shapeСилуета (стандардно heart). Погледнете ја табелата подолу.
cellPxПиксели по ќелија (3–20, стандардно 8). Поголема вредност значи поголема слика.
labelОзнака зачувана во метаподатоците. Не се исцртува на сликата.

Силуети и капацитет

Секоја силуета содржи различна количина (UTF-8 бајти). Користете square за долга содржина; секоја форма е погодна за кратки линкови.

shapebytesshapebytes
square1450rose586
round1093clover521
hex861star386
heart854boomerang386

MCP — нека AI го направи

Поврзете го со AI клиент како Claude, и тој создава кодови директно во разговорот. Крајната точка е https://mcp.wiacode.com/mcp, а не е потребен клуч.

Поставување на Claude Desktop

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

Ако вашиот клиент директно поддржува Streamable HTTP, само дајте му ја URL-адресата.

Алатки

алаткашто прави
get_wia_code_infoОбјаснува што е WIA Code, по што се разликува од QR код, и колкав е капацитетот на секоја силуета. Повикувањето на ова прво ги намалува неуспесите.
generate_wia_codeПретвора текст во слика на код. Ако го надминe капацитетот, кажува кои силуети би одговарале.
generate_wia_code_wifiWi-Fi акредитиви — скенирањето се приклучува на мрежата без да се внесе лозинката.
generate_wia_code_cardКонтакт како стандарден vCard — скенирањето нуди зачувување во контактите на телефонот.
generate_wia_code_eventНастан како стандарден iCalendar — скенирањето го додава во календарот.

Бесплатни лимити

Ако ви треба повеќе — за масовно издавање, партнерства или комерцијална употреба, испратете ни е-пошта. Ќе ви дадеме клуч што го зголемува лимитот. 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.

Повеќе

Отвори го генераторот →

WIA Code е производ на SmileStory Co., Ltd. Booster QR е водич кој им помага и на луѓето без наменски скенер да го прочитаат.