អ្នកអភិវឌ្ឍន៍ — 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 / 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 សាធារណៈដែលមិនប្រើខូគី (cookie) ដូច្នេះ 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បម្លែងអត្ថបទទៅជារូបភាពកូដ។ ប្រសិនបើវាលើសសមត្ថភាព វានឹងប្រាប់ថារូបរាងណានឹងសមរម្យ។
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.។ booster QR គឺជាការណែនាំដែលជួយឲ្យមនុស្សដែលគ្មានម៉ាស៊ីនស្កេនផ្ទាល់ខ្លួនអាចអានវាបានផងដែរ។