Барномасозон — 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.

QR-и бустер ҳамеша дохил карда мешавад. Барои хомӯш кардани он имкон нест — ҳамин тавр барои API, MCP ва CLI низ. "Вақте ки истифодаи маҷмӯӣ ба 100 миллион маротиба мерасад, бустер ҷудо мешавад ва логои шумо ҷои онро мегирад" ваъдаи маҳсулот аст, аз ин рӯ мо барои ҳеҷ як роҳ истисно нагузоштем. Параметрҳои рамзгузорӣ (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, корти тамос, чорабинӣ

Се навъи омодашуда. Шумо худатон набояд сатрҳоро тартиб диҳед — майдонҳоро (fields) мефиристед ва сервер мундариҷаи стандартии 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 аст. Барои гирифтани base64 ва метамаълумот ҳамчун JSON ?format=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 пайваст кунед ва он рост дар сӯҳбат кодҳо месозад. Endpoint 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Матнро ба тасвири код табдил медиҳад. Агар аз иқтидор гузарад, мегӯяд кадом силуэтҳо мувофиқ мешаванд.
generate_wia_code_wifiМаълумоти воридшавии Wi-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. аст. QR-и бустер роҳнамоест, ки ба одамони бе сканери махсус низ кӯмак мекунад, ки онро хонанд.