Иштеп чыгуучулар үчүн — 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. 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'деги веб-колдонмодон түздөн-түз чакырсаңыз болот. Бул cookie колдонбогон ачык 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 жасасын

Аны Claude сыяктуу AI кардарына туташтырсаңыз, ал сүйлөшүүнүн ичинде эле коддорду түзөт. Учкай чекити — 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_infoWIA Code эмне экенин, ал QR коддон эмнеси менен айырмаланарын жана ар бир силуэттин сыйымдуулугун түшүндүрөт. Муну биринчи чакыруу каталарды азайтат.
generate_wia_codeТекстти код сүрөтүнө айландырат. Эгер ал сыйымдуулуктан ашса, кайсы силуэттер туура келерин айтат.
generate_wia_code_wifiWi-Fi кирүү маалыматтары — сканерлөө сырсөздү терүүсүз тармакка кошот.
generate_wia_code_cardБайланыш стандарттуу vCard түрүндө — сканерлөө аны телефондун байланыштарына сактоону сунуштайт.
generate_wia_code_eventИш-чара стандарттуу iCalendar түрүндө — сканерлөө аны календарга кошот.

Акысыз чектер

Эгер сизге көбүрөөк керек болсо — көп өлчөмдө чыгаруу, өнөктөштүк же коммерциялык колдонуу үчүн бизге email жазыңыз. Биз сизге чекти көтөргөн ачкыч беребиз. 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 — атайын сканери жок адамдарга да аны окууга жардам берген көрсөткүч.