დეველოპერებისთვის — 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-ის ნაცვლად — სერვერი ველებისგან აწყობს სტანდარტულ სტრიქონს. იხილეთ ზემოთ განყოფილება „ტიპები“.
shapeსილუეტი (ნაგულისხმევი heart). იხილეთ ცხრილი ქვემოთ.
cellPxპიქსელი უჯრედზე (3–20, ნაგულისხმევი 8). დიდი მნიშვნელობა ნიშნავს უფრო დიდ სურათს.
labelმეტამონაცემებში შენახული ლეიბლი. სურათზე არ ისახება.

სილუეტები და ტევადობა

თითოეული სილუეტი განსხვავებულ რაოდენობას იტევს (UTF-8 ბაიტი). გრძელი შინაარსისთვის გამოიყენეთ square; მოკლე ბმულებისთვის ნებისმიერი ფორმა გამოდგება.

shapebytesshapebytes
square1450rose586
round1093clover521
hex861star386
heart854boomerang386

MCP — მიანდეთ AI-ს შექმნა

დააკავშირეთ AI კლიენტთან, როგორიცაა 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_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 არის გზამკვლევი, რომელიც ეხმარება სპეციალური სკანერის არმქონე ადამიანებსაც წაიკითხონ ის.