ଡେଭେଲପର୍‌ — API · MCP · CLI

ଗୋଟିଏ ଲାଇନରେ WIA Code ତିଆରି କରନ୍ତୁ। ମାଗଣା ସୀମା ମଧ୍ୟରେ କୌଣସି key ଦରକାର ନାହିଁ।

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 ପାଇଁ ମଧ୍ୟ ସମାନ ଅଟେ। "ମୋଟ ବ୍ୟବହାର 10 କୋଟି ଥର ପହଞ୍ଚିଲେ booster ପୃଥକ ହୋଇଯାଏ ଏବଂ ତାହାର ସ୍ଥାନରେ ଆପଣଙ୍କର ନିଜସ୍ୱ ଲୋଗୋ ଆସିଥାଏ" ଏହା ଉତ୍ପାଦର ପ୍ରତିଶ୍ରୁତି, ତେଣୁ ଆମେ କୌଣସି ଏକକ ପଥ ପାଇଁ ବ୍ୟତିକ୍ରମ କରିନାହୁଁ। Encoding parameters (grid, bpc, bridge) ମଧ୍ୟ server ରେ ସ୍ଥିର।

CLI — ଗୋଟିଏ ଲାଇନ, install ଦରକାର ନାହିଁ

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

Node 18 କିମ୍ବା ତା'ଠାରୁ ନୂଆ ଉପରେ install ବିନା ସିଧା ଚାଲେ। କୌଣସି dependency ନାହିଁ, ତେଣୁ ଆଣିବାକୁ କେବଳ କିଛି ସେକେଣ୍ଡ ଲାଗେ।

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। base64 ଏବଂ metadata 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

Parameters

ନାମଆବଶ୍ୟକବର୍ଣ୍ଣନା
textEncode କରାଯିବାକୁ ଥିବା ଟେକ୍ସଟ୍ କିମ୍ବା URL। ଲମ୍ବା URL ପ୍ରଥମେ ଛୋଟ କରିବା ଭଲ।
typewifi · card · eventtext ପରିବର୍ତ୍ତେ ଦିଆଯାଏ — ସର୍ଭର ଫିଲ୍ଡରୁ ମାନକ ଷ୍ଟ୍ରିଙ୍ଗ ତିଆରି କରେ। ଉପରେ ଥିବା ପ୍ରକାର ବିଭାଗ ଦେଖନ୍ତୁ।
shapeSilhouette (ଡିଫଲ୍ଟ heart)। ତଳର ଟେବୁଲ୍ ଦେଖନ୍ତୁ।
cellPxପ୍ରତି cell pixel (3–20, ଡିଫଲ୍ଟ 8)। ବଡ଼ ହେଲେ ଛବି ବଡ଼ ହୁଏ।
labelmetadata ରେ ରଖାଯାଇଥିବା ଏକ label। ଏହା ଛବି ଉପରେ ଅଙ୍କାଯାଏ ନାହିଁ।

Silhouettes ଓ ଧାରଣ କ୍ଷମତା

ପ୍ରତ୍ୟେକ silhouette ଭିନ୍ନ ପରିମାଣ ଧାରଣ କରେ (UTF-8 bytes)। ଲମ୍ବା ବିଷୟବସ୍ତୁ ପାଇଁ square ବ୍ୟବହାର କରନ୍ତୁ; ଛୋଟ link ପାଇଁ ଯେକୌଣସି shape ଚାଲିବ।

shapebytesshapebytes
square1450rose586
round1093clover521
hex861star386
heart854boomerang386

MCP — AI କୁ ତିଆରି କରିବାକୁ ଦିଅନ୍ତୁ

Claude ପରି ଏକ AI client ସହିତ ସଂଯୋଗ କରନ୍ତୁ, ବାର୍ତ୍ତାଳାପ ମଧ୍ୟରେ ହିଁ code ତିଆରି ହୋଇଯିବ। endpoint ହେଉଛି https://mcp.wiacode.com/mcp ଏବଂ କୌଣସି key ଦରକାର ନାହିଁ।

Claude Desktop ସେଟଅପ୍

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

ଯଦି ଆପଣଙ୍କର client Streamable HTTP ସିଧାସଳଖ support କରେ, ତେବେ କେବଳ ଏହି URL ଦିଅନ୍ତୁ।

Tools

ଉପକରଣକଣ କରେ
get_wia_code_infoWIA Code କ'ଣ, ଏହା QR code ଠାରୁ କିପରି ଭିନ୍ନ, ଏବଂ ପ୍ରତ୍ୟେକ silhouette ର ଧାରଣ କ୍ଷମତା କେତେ ତାହା ବୁଝାଏ। ଏହାକୁ ପ୍ରଥମେ call କଲେ ବିଫଳତା କମିଯାଏ।
generate_wia_codeଟେକ୍ସଟ୍‌କୁ code ଛବିରେ ପରିଣତ କରେ। ଧାରଣ କ୍ଷମତା ଅତିକ୍ରମ କଲେ, କେଉଁ silhouette ଠିକ୍ ବସିବ ତାହା କୁହେ।
generate_wia_code_wifiWi-Fi ପ୍ରମାଣପତ୍ର — ସ୍କାନ୍ କଲେ ପାସୱାର୍ଡ ଟାଇପ୍ ନ କରି ନେଟୱାର୍କରେ ଯୋଡ଼ି ହୁଏ।
generate_wia_code_cardମାନକ vCard ଭାବେ ଏକ ଯୋଗାଯୋଗ — ସ୍କାନ୍ କଲେ ଫୋନ୍‌ର ଯୋଗାଯୋଗରେ ସେଭ୍ କରିବାକୁ ପ୍ରସ୍ତାବ ଦିଏ।
generate_wia_code_eventମାନକ iCalendar ଭାବେ ଏକ ଇଭେଣ୍ଟ — ସ୍କାନ୍ କଲେ ଏହା କ୍ୟାଲେଣ୍ଡରରେ ଯୋଡ଼ି ହୁଏ।

ମାଗଣା ସୀମା

ଯଦି ଆପଣଙ୍କୁ ଅଧିକ ଦରକାର — ବଲ୍କ ଇସୁ, ପାର୍ଟନରସିପ୍ କିମ୍ବା ବାଣିଜ୍ୟିକ ବ୍ୟବହାର ପାଇଁ, ଆମକୁ email କରନ୍ତୁ। ଆମେ ସୀମା ବଢ଼ାଉଥିବା ଏକ key ଦେବୁ। 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.

ଅଧିକ

Generator ଖୋଲନ୍ତୁ →

WIA Code SmileStory Co., Ltd. ର ଏକ ଉତ୍ପାଦ। ସମର୍ପିତ scanner ନଥିବା ଲୋକମାନେ ମଧ୍ୟ ପଢ଼ିପାରନ୍ତୁ ବୋଲି booster QR ଏକ ସହାୟକ ମାର୍ଗଦର୍ଶିକା।