المطوّرون — 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. "عند بلوغ الاستخدام التراكمي 100 مليون مرة، ينفصل المعزِّز ويحل شعارك الخاص مكانه" وعد بشأن المنتج، لذا لم نستثنِ أي مسار. معاملات الترميز (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". لشبكة واي فاي مفتوحة مرّر 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"}'

استدعاؤها من المتصفح

يمكنك استدعاؤها مباشرة من تطبيق ويب من أي مصدر. إنها واجهة برمجة تطبيقات عامة لا تستخدم ملفات تعريف الارتباط، لذا فإن 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النص أو الرابط المراد ترميزه. يُفضَّل تقصير الروابط الطويلة أولًا.
typewifi · card · event. يُرسل بدلاً من text — يبني الخادم النص القياسي من الحقول. راجع قسم الأنواع أعلاه.
shapeالشكل (الافتراضي heart). انظر الجدول أدناه.
cellPxالبكسل لكل خلية (3–20، الافتراضي 8). كلما زاد الرقم كبرت الصورة.
labelتسمية تُحفظ في البيانات الوصفية. لا تُرسم على الصورة.

الأشكال والسعة

كل شكل يستوعب كمية مختلفة (بايتات UTF-8). استخدم square للمحتوى الطويل؛ أي شكل يصلح للروابط القصيرة.

shapebytesshapebytes
square1450rose586
round1093clover521
hex861star386
heart854boomerang386

MCP — اجعل الذكاء الاصطناعي ينشئه

اربطه بعميل ذكاء اصطناعي مثل Claude ليصنع الرموز مباشرة داخل المحادثة. نقطة النهاية هي https://mcp.wiacode.com/mcp ولا حاجة لمفتاح.

إعداد Claude Desktop

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

إذا كان عميلك يدعم Streamable HTTP مباشرة، فقط زوّده بالرابط.

الأدوات

الأداةالوظيفة
get_wia_code_infoيشرح ماهية WIA Code، وكيف يختلف عن رمز QR، وسعة كل شكل. استدعاء هذه الأداة أولًا يقلل الأخطاء.
generate_wia_codeيحوّل النص إلى صورة رمز. إذا تجاوز السعة، يخبرك بالأشكال التي تناسبه.
generate_wia_code_wifiبيانات شبكة واي فاي — المسح يتصل بالشبكة دون كتابة كلمة المرور.
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 المعزِّز دليل يساعد من ليس لديهم الماسح المخصص على قراءته أيضًا.