Програмери — 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 се одваја и ваш сопствени logo заузима његово место" је обећање производа, па нисмо направили изузетак ни за један пут. Параметри кодирања (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"}'

Позивање из прегледача

Можете га позвати директно из веб-апликације са било ког порекла. То је јавни 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.

Alati

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

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

Ако вам треба више — за масовно издавање, партнерства или комерцијалну употребу, пошаљите нам email. Даћемо вам кључ који подиже limit. 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.

Više

Отворите generator →

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