מפתחים — 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, כרטיס איש קשר, אירוע

שלושה סוגים מוכנים מראש. אין צורך להרכיב את המחרוזות בעצמכם — מעבירים את השדות והשרת בונה תוכן 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 ציבורי שאינו משתמש בעוגיות, ולכן 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 — השרת מרכיב את המחרוזת התקנית מהשדות. ראו את סעיף Types למעלה.
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 ישירות, פשוט תנו לו את ה-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. קוד ה-QR המשופר הוא מדריך שעוזר גם לאנשים ללא הסורק הייעודי לקרוא אותו.