ڈویلپرز — 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 پر بھی لاگو ہوتی ہے۔ "جب مجموعی استعمال 10 کروڑ مرتبہ تک پہنچ جائے تو بوسٹر الگ ہو جاتا ہے اور اس کی جگہ آپ کا اپنا لوگو آ جاتا ہے" ایک پروڈکٹ کا وعدہ ہے، اس لیے ہم نے کسی بھی راستے کے لیے استثناء نہیں بنایا۔ انکوڈنگ پیرامیٹرز (grid، bpc، bridge) سرور پر بھی طے شدہ ہیں۔

CLI — ایک لائن، کوئی انسٹال نہیں

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

Node 18 یا اس سے نئے پر بغیر انسٹال کیے فوراً چلتا ہے۔ اس کا کوئی 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

پیرامیٹرز

ناملازمیتفصیل
textانکوڈ کرنے کے لیے متن یا URL۔ لمبے URLs کو پہلے مختصر کر لینا بہتر ہے۔
typewifi · card · event۔ text کی بجائے دیا جاتا ہے — سرور فیلڈز سے معیاری اسٹرنگ بناتا ہے۔ اوپر اقسام کا حصہ دیکھیں۔
shapeسلہویٹ (ڈیفالٹ heart)۔ نیچے دی گئی جدول دیکھیں۔
cellPxفی سیل پکسلز (3–20، ڈیفالٹ 8)۔ بڑی قدر کا مطلب بڑی تصویر ہے۔
labelmetadata میں رکھا جانے والا ایک لیبل۔ یہ تصویر پر نہیں کھینچا جاتا۔

سلہویٹس اور گنجائش

ہر سلہویٹ مختلف مقدار (UTF-8 بائٹس) رکھتا ہے۔ لمبے مواد کے لیے square استعمال کریں؛ مختصر لنکس کے لیے کوئی بھی شکل کام کرتی ہے۔

shapebytesshapebytes
square1450rose586
round1093clover521
hex861star386
heart854boomerang386

MCP — AI کو بنانے دیں

اسے Claude جیسے AI کلائنٹ سے جوڑیں اور یہ بات چیت کے دوران ہی کوڈز بنا دے گا۔ 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_wifiWi-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 ایک گائیڈ ہے جو خصوصی اسکینر کے بغیر لوگوں کو بھی اسے پڑھنے میں مدد دیتا ہے۔