Buat WIA Code dalam satu baris. Tidak perlu kunci selama masih dalam batas gratis.
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 selalu disertakan. Tidak ada opsi untuk mematikannya — begitu juga untuk API, MCP, dan CLI. "Ketika penggunaan kumulatif mencapai 100 juta kali, booster akan terpisah dan logo Anda sendiri akan menggantikannya" adalah janji produk, jadi kami tidak membuat pengecualian untuk jalur mana pun. Parameter encoding (grid, bpc, bridge) juga dikunci di server.
npx wiacode "https://wiacode.com" --shape heart
Langsung berjalan di Node 18 atau lebih baru, tanpa instalasi. Tidak memiliki dependensi, jadi pengambilannya hanya butuh beberapa detik.
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 tipe siap pakai. Anda tidak perlu menyusun string sendiri — kirim saja bidangnya dan server membangun konten Wi-Fi / vCard / iCalendar standar, identik byte demi byte dengan hasil generator di situs 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 | opsional |
|---|---|---|
| wifi | ssid, password | security (WPA·WEP·nopass), hidden |
| card | name | org, tel, email |
| event | title, start | end, location, desc |
Waktu memakai format "2026-09-01 19:00". Untuk Wi-Fi terbuka, kirim security=nopass dan kosongkan kata sandi. Bidang yang hilang atau salah format dikembalikan sebagai HTTP 400 beserta nama bidangnya — tidak ada gambar yang dibuat, jadi permintaan yang salah tidak pernah memakai slot render.
Satu baris satu kode. Saat kena batas per menit, ia menunggu lalu melanjutkan alih-alih berhenti di tengah, dan melaporkan baris yang gagal dengan nomor baris aslinya.
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
Responsnya adalah image/png. Tambahkan ?format=json untuk mendapatkan base64 dan metadata dalam bentuk 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 dapat memanggilnya langsung dari aplikasi web di origin mana pun. Ini adalah API publik yang tidak menggunakan cookie, sehingga 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 | deskripsi |
|---|---|---|
| text | ✓ | Teks atau URL yang akan dienkode. URL panjang sebaiknya dipendekkan dulu. |
| type | — | wifi · card · event. Dikirim menggantikan text — server menyusun string standar dari bidang-bidang itu. Lihat bagian Tipe di atas. |
| shape | — | Siluet (default heart). Lihat tabel di bawah. |
| cellPx | — | Piksel per sel (3–20, default 8). Semakin besar berarti gambar semakin besar. |
| label | — | Label yang disimpan di metadata. Tidak digambar pada gambar. |
Setiap siluet menampung jumlah yang berbeda (byte UTF-8). Gunakan square untuk konten panjang; bentuk apa pun cocok untuk tautan pendek.
| shape | bytes | shape | bytes |
|---|---|---|---|
| square | 1450 | rose | 586 |
| round | 1093 | clover | 521 |
| hex | 861 | star | 386 |
| heart | 854 | boomerang | 386 |
Hubungkan ke klien AI seperti Claude, dan ia membuat kode langsung dalam percakapan. Endpoint-nya adalah https://mcp.wiacode.com/mcp dan tidak perlu kunci.
{
"mcpServers": {
"wiacode": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.wiacode.com/mcp"]
}
}
}
Jika klien Anda mendukung Streamable HTTP secara langsung, cukup berikan URL-nya.
| alat | fungsinya |
|---|---|
| get_wia_code_info | Menjelaskan apa itu WIA Code, bedanya dengan kode QR, dan kapasitas setiap siluet. Memanggil ini lebih dulu mengurangi kegagalan. |
| generate_wia_code | Mengubah teks menjadi gambar kode. Jika melebihi kapasitas, ia memberi tahu siluet mana yang muat. |
| generate_wia_code_wifi | Kredensial Wi-Fi — memindai langsung menyambung tanpa mengetik kata sandi. |
| generate_wia_code_card | Kontak sebagai vCard standar — memindai membuat ponsel menawarkan menyimpannya. |
| generate_wia_code_event | Acara sebagai iCalendar standar — memindai menambahkannya ke kalender. |
503. Cukup panggil lagi sesaat kemudian.429 beserta berapa detik harus menunggu.Jika Anda butuh lebih banyak — untuk penerbitan massal, kemitraan, atau penggunaan komersial, kirimi kami email. Kami akan memberi Anda kunci yang menaikkan batas. 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 dari SmileStory Co., Ltd. Booster QR adalah panduan yang membantu orang tanpa pemindai khusus untuk tetap bisa membacanya.