Ծրագրավորողների համար — 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 է, որը cookie-ներ չի օգտագործում, ուստի 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 — թող AI-ն ստեղծի

Միացրեք այն Claude-ի նման AI հաճախորդի, և այն կոդեր է ստեղծում ուղիղ խոսակցության մեջ։ Վերջնակետը 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-ը ուղեցույց է, որն օգնում է հատուկ սկաներ չունեցող մարդկանց նույնպես կարդալ այն։