Cipta WIA Code dalam satu baris. Tiada kunci diperlukan dalam had percuma.
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 sentiasa disertakan. Tiada pilihan untuk mematikannya — begitu juga untuk API, MCP dan CLI. "Apabila penggunaan kumulatif mencecah 100 juta kali, booster akan berasingan dan logo anda sendiri mengambil tempatnya" adalah janji produk, jadi kami tidak membuat pengecualian untuk mana-mana laluan. Parameter pengekodan (grid, bpc, bridge) turut ditetapkan di pelayan.
npx wiacode "https://wiacode.com" --shape heart
Berjalan terus pada Node 18 atau lebih baharu, tanpa pemasangan. Tiada kebergantungan, jadi mengambilnya hanya beberapa saat.
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
Tiga jenis siap sedia. Anda tidak perlu menyusun rentetan itu sendiri — hantar medan-medan tersebut dan pelayan membina kandungan Wi-Fi / vCard / iCalendar standard, sama bait demi bait dengan yang dihasilkan oleh penjana di laman ini.
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"
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 | wajib | pilihan |
|---|---|---|
| wifi | ssid, password | security (WPA·WEP·nopass), hidden |
| card | name | org, tel, email |
| event | title, start | end, location, desc |
Masa dalam format "2026-09-01 19:00". Untuk rangkaian Wi-Fi terbuka, hantar security=nopass dan tinggalkan kata laluan. Medan yang tiada atau tidak sah dikembalikan sebagai HTTP 400 dengan mesej yang menamakan medan berkenaan — tiada imej dijana, jadi permintaan yang tidak sah tidak sekali-kali mengambil slot penjanaan.
Satu baris bagi setiap kod. Apabila had kadar dicapai, ia menunggu dan meneruskan dan bukannya berhenti separuh jalan, serta melaporkan baris yang gagal berserta nombor baris sebenarnya.
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"}
curl -X POST https://wiacode.com/api/v1/code \
-H 'Content-Type: application/json' \
-d '{"text":"https://wiacode.com","shape":"heart"}' \
-o wiacode.png
Respons adalah image/png. Tambah ?format=json untuk mendapatkan base64 dan metadata sebagai JSON.
curl -X POST 'https://wiacode.com/api/v1/code?format=json' \
-H 'Content-Type: application/json' \
-d '{"text":"https://wiacode.com","shape":"square"}'
Anda boleh memanggilnya terus daripada aplikasi web pada sebarang origin. Ia adalah API awam yang tidak menggunakan kuki, jadi CORS dibuka.
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,...
curl https://wiacode.com/api/v1/shapes
| nama | wajib | penerangan |
|---|---|---|
| text | ✓ | Teks atau URL untuk dikodkan. URL yang panjang lebih baik dipendekkan dahulu. |
| type | — | wifi · card · event. Diberikan sebagai ganti text — pelayan menyusun rentetan standard daripada medan-medan tersebut. Lihat bahagian Jenis di atas. |
| shape | — | Siluet (lalai heart). Lihat jadual di bawah. |
| cellPx | — | Piksel setiap sel (3–20, lalai 8). Lebih besar bermaksud imej lebih besar. |
| label | — | Label yang disimpan dalam metadata. Ia tidak dilukis pada imej. |
Setiap siluet memuatkan jumlah yang berbeza (bait UTF-8). Guna square untuk kandungan panjang; mana-mana bentuk sesuai untuk pautan pendek.
| shape | bytes | shape | bytes |
|---|---|---|---|
| square | 1450 | rose | 586 |
| round | 1093 | clover | 521 |
| hex | 861 | star | 386 |
| heart | 854 | boomerang | 386 |
Sambungkan kepada pelanggan AI seperti Claude dan kod dicipta terus dalam perbualan. Titik akhirnya ialah https://mcp.wiacode.com/mcp dan tiada kunci diperlukan.
{
"mcpServers": {
"wiacode": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.wiacode.com/mcp"]
}
}
}
Jika pelanggan anda menyokong Streamable HTTP secara terus, berikan sahaja URL ini.
| alat | fungsi |
|---|---|
| get_wia_code_info | Menerangkan apa itu WIA Code, bezanya dengan kod QR, dan kapasiti setiap siluet. Memanggil ini dahulu mengurangkan kegagalan. |
| generate_wia_code | Menukar teks kepada imej kod. Jika melebihi kapasiti, ia memberitahu siluet mana yang muat. |
| generate_wia_code_wifi | Kelayakan Wi-Fi — mengimbas menyertai rangkaian tanpa menaip kata laluan. |
| generate_wia_code_card | Kenalan sebagai vCard standard — mengimbas menawarkan untuk menyimpannya ke kenalan telefon. |
| generate_wia_code_event | Acara sebagai iCalendar standard — mengimbas menambahkannya ke kalendar. |
503. Cuba lagi sebentar sahaja selepas itu.429 berserta berapa saat perlu menunggu.Jika anda perlukan lebih — untuk pengeluaran pukal, perkongsian atau kegunaan komersial, hantar e-mel kepada kami. Kami akan berikan kunci yang menaikkan had. wiasoom@smilestory.ai
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 adalah produk SmileStory Co., Ltd. Booster QR adalah panduan yang membantu mereka yang tiada pengimbas khusus turut boleh membacanya.