Tərtibatçılar — API · MCP · CLI

Bir sətirlə WIA Code yaradın. Pulsuz limitlər daxilində açar tələb olunmur.

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 həmişə daxildir. Onu söndürmək seçimi yoxdur — eyni şey API, MCP və CLI üçün də doğrudur. "Kumulyativ istifadə 100 milyon dəfəyə çatanda booster ayrılır və onun yerinə öz loqonuz gəlir" məhsul vədidir, ona görə heç bir yol üçün istisna etmədik. Kodlaşdırma parametrləri (grid, bpc, bridge) də serverdə sabitlənib.

CLI — bir sətir, quraşdırma yoxdur

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

Node 18 və ya daha yeni versiyada quraşdırmadan dərhal işləyir. Asılılığı yoxdur, ona görə yüklənməsi bir neçə saniyə çəkir.

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

Növlər — Wi-Fi, əlaqə kartı, tədbir

Üç hazır növ var. Sətirləri özünüz yığmağa ehtiyac yoxdur — sahələri ötürün, server standart Wi-Fi / vCard / iCalendar məzmununu qurur, bu, saytdakı generatorun yaratdığı ilə bayt-bayt eynidir.

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

Sahələr

typeməcburiseçimli
wifissid, passwordsecurity (WPA·WEP·nopass), hidden
cardnameorg, tel, email
eventtitle, startend, location, desc

Vaxtlar "2026-09-01 19:00" formatındadır. Açıq Wi-Fi şəbəkəsi üçün security=nopass ötürün və şifrəni buraxın. Çatışmayan və ya səhv formatlı sahələr, sahənin adını göstərən mesajla HTTP 400 kimi qaytarılır — heç bir şəkil render olunmur, ona görə də səhv sorğu heç vaxt render yeri tutmur.

Bir dəfəyə çoxlu

Hər sətirdə bir kod. Sürət limitinə çatdıqda yarıda dayanmaq əvəzinə gözləyir və davam edir, uğursuz sətirləri həqiqi sətir nömrələri ilə bildirir.

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

Cavab image/png formatındadır. JSON kimi base64 və metaməlumat almaq üçün ?format=json əlavə edin.

curl -X POST 'https://wiacode.com/api/v1/code?format=json' \
  -H 'Content-Type: application/json' \
  -d '{"text":"https://wiacode.com","shape":"square"}'

Brauzerdən çağırmaq

Onu istənilən mənbədən veb tətbiqdən birbaşa çağıra bilərsiniz. Bu, kuki istifadə etməyən ictimai API-dir, buna görə CORS açıqdır.

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

Parametrlər

adməcburitəsvir
textKodlaşdırılacaq mətn və ya URL. Uzun URL-ləri əvvəlcə qısaltmaq daha yaxşıdır.
typewifi · card · event. text əvəzinə verilir — server sahələrdən standart sətri qurur. Yuxarıdakı Növlər bölməsinə baxın.
shapeSiluet (defolt heart). Aşağıdakı cədvələ baxın.
cellPxXana başına piksel (3–20, defolt 8). Böyük dəyər daha böyük şəkil deməkdir.
labelMetaməlumatda saxlanılan etiket. Şəkil üzərində çəkilmir.

Siluetlər və tutum

Hər siluet fərqli miqdar tutur (UTF-8 bayt). Uzun məzmun üçün square istifadə edin; qısa linklər üçün istənilən forma uyğundur.

shapebytesshapebytes
square1450rose586
round1093clover521
hex861star386
heart854boomerang386

MCP — süni intellektə yaratdırın

Claude kimi bir süni intellekt klientinə qoşun və o, kodları birbaşa söhbət daxilində yaradır. Uc nöqtə https://mcp.wiacode.com/mcp olub, açar tələb olunmur.

Claude Desktop quraşdırılması

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

Klientiniz Streamable HTTP-ni birbaşa dəstəkləyirsə, sadəcə URL-i verin.

Alətlər

alətnə edir
get_wia_code_infoWIA Code-un nə olduğunu, QR koddan necə fərqləndiyini və hər siluetin tutumunu izah edir. Bunu əvvəlcə çağırmaq xətaları azaldır.
generate_wia_codeMətni kod şəklinə çevirir. Tutumu aşarsa, hansı siluetlərin uyğun gələcəyini bildirir.
generate_wia_code_wifiWi-Fi giriş məlumatları — skan etmək şifrəni yazmadan şəbəkəyə qoşulur.
generate_wia_code_cardStandart vCard kimi əlaqə — skan etmək onu telefonun əlaqələrinə saxlamağı təklif edir.
generate_wia_code_eventStandart iCalendar kimi tədbir — skan etmək onu təqvimə əlavə edir.

Pulsuz limitlər

Daha çoxu lazımdırsa — toplu buraxılış, tərəfdaşlıq və ya kommersiya istifadəsi üçün bizə e-poçt göndərin. Limiti artıran açar verəcəyik. 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.

Daha çox

Generatoru açın →

WIA Code SmileStory Co., Ltd. şirkətinin məhsuludur. Booster QR xüsusi skaneri olmayan insanlara da onu oxumağa kömək edən bələdçidir.