ایک لائن میں 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) سرور پر بھی طے شدہ ہیں۔
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 مواد بنائے گا، جو اس سائٹ کے جنریٹر سے بنائے گئے مواد کے بائٹ بہ بائٹ یکساں ہوگا۔
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"
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 | لازمی | اختیاری |
|---|---|---|
| wifi | ssid, password | security (WPA·WEP·nopass), hidden |
| card | name | org, tel, email |
| event | title, start | end, 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"}
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,...
curl https://wiacode.com/api/v1/shapes
| نام | لازمی | تفصیل |
|---|---|---|
| text | ✓ | انکوڈ کرنے کے لیے متن یا URL۔ لمبے URLs کو پہلے مختصر کر لینا بہتر ہے۔ |
| type | — | wifi · card · event۔ text کی بجائے دیا جاتا ہے — سرور فیلڈز سے معیاری اسٹرنگ بناتا ہے۔ اوپر اقسام کا حصہ دیکھیں۔ |
| shape | — | سلہویٹ (ڈیفالٹ heart)۔ نیچے دی گئی جدول دیکھیں۔ |
| cellPx | — | فی سیل پکسلز (3–20، ڈیفالٹ 8)۔ بڑی قدر کا مطلب بڑی تصویر ہے۔ |
| label | — | metadata میں رکھا جانے والا ایک لیبل۔ یہ تصویر پر نہیں کھینچا جاتا۔ |
ہر سلہویٹ مختلف مقدار (UTF-8 بائٹس) رکھتا ہے۔ لمبے مواد کے لیے square استعمال کریں؛ مختصر لنکس کے لیے کوئی بھی شکل کام کرتی ہے۔
| shape | bytes | shape | bytes |
|---|---|---|---|
| square | 1450 | rose | 586 |
| round | 1093 | clover | 521 |
| hex | 861 | star | 386 |
| heart | 854 | boomerang | 386 |
اسے Claude جیسے AI کلائنٹ سے جوڑیں اور یہ بات چیت کے دوران ہی کوڈز بنا دے گا۔ Endpoint https://mcp.wiacode.com/mcp ہے اور کسی کلید کی ضرورت نہیں۔
{
"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 — اسکین کرنے پر کیلنڈر میں شامل ہو جاتا ہے۔ |
503 کا جواب دیتا ہے۔ بس تھوڑی دیر بعد دوبارہ کال کریں۔429 کے ساتھ یہ بھی ملتا ہے کہ کتنے سیکنڈ انتظار کرنا ہے۔اگر آپ کو مزید چاہیے — بڑے پیمانے پر اجراء، شراکت داری یا تجارتی استعمال کے لیے، ہمیں ای میل کریں۔ ہم آپ کو ایسی کلید دیں گے جو حد بڑھا دے۔ wiasoom@smilestory.ai
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 ایک گائیڈ ہے جو خصوصی اسکینر کے بغیر لوگوں کو بھی اسے پڑھنے میں مدد دیتا ہے۔