Umi Developer-kuéra — API · MCP · CLI

Ejapo peteĩ WIA Code peteĩ líneape. Ndaikatuiete key oikotevẽ umi límite gratuita apytépe.

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.

Pe booster QR oĩ opa ára. Ndaipóri opción ojejapo hag̃ua desactivar — upeicha avei API, MCP ha CLI-pe g̃uarã. "Oĝuahẽvo pe uso acumulado 100 millón jeýpe, pe booster oñemboja'o ha nde logo omoĩta ipuestepe" ha'e peteĩ promesa pe producto-gui, upévare ndajajapói excepción avave rape g̃uarã. Umi parámetro de codificación (grid, bpc, bridge) avei ojefija pe servidor-pe.

CLI — peteĩ línea, ndaikatuiete instalación

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

Oñepyrũ pya'e Node 18 térã hetave pyahúpe, ndaikatuiete instalación. Ndaikatuiete dependencia, upévare ojeguereko haĝua sapy'aitéma.

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

Clase — Wi-Fi, tarjeta contacto, evento

Mbohapy clase ojeguereko mboyve. Ndaikatúi rejapo cadena nde voi — eme'ẽ campo-kuéra ha servidor ombyaty contenido estándar Wi-Fi / vCard / iCalendar, byte-por-byte peteĩcha generador ko sitio-pegua omopu'ãva.

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

Campokuéra

typetekotevẽvaopcional
wifissid, passwordsecurity (WPA·WEP·nopass), hidden
cardnameorg, tel, email
eventtitle, startend, location, desc

Aravo ha'e "2026-09-01 19:00". Red Wi-Fi ijurujáva g̃uarã eme'ẽ security=nopass ha ejapo'ỹ contraseña. Campo ndahaéiva térã vaíva ou jey HTTP 400 mensaje reheve he'íva campo réra — ndojehecháiva imagen, upévare pedido vai ndoipurúi render espacio.

Heta peteĩchapa

Peteĩ línea código-pe g̃uarã. Rate limit oĩrõ oha'arõ ha osegui, ndopyta mbytépente, ha omombe'u línea ndaikatuiva número real-icha.

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

Pe respuesta ha'e image/png. Embojoapy ?format=json eguereko haĝua base64 ha metadato JSON-pe.

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

Ehenói navegador-gui

Reikuaa hag̃ua ehenói peteĩ web app-gui edificio ambuégui. Ha'e peteĩ API público ndoiporúiva cookies, upévare CORS oĩ ijurujáva.

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

Parámetro-kuéra

tératekotevẽvadescripción
textPe texto térã URL oñemoĩta código-pe. Iporãve umi URL puku emombykyve raẽ.
typewifi · card · event. Oñeme'ẽ text rendaguépe — pe servidor ombyaty cadena estándar campo-kuéragui. Ehecha sección Types yvate guare.
shapeSilueta (default heart). Ehecha pe tabla oĩva iguýpe.
cellPxPíxel cada célula-pe (3–20, default 8). Tuichave ohechauka pe imagen tuichave.
labelPeteĩ label opytáva metadato-pe. Ndojehai pe imagen-re.

Silueta-kuéra ha ikatupyry

Peteĩ-teĩ silueta oguereko heta térã sa'i (UTF-8 byte). Eiporu square contenido puku g̃uarã; opa forma iporã enlace mbykýpe g̃uarã.

shapebytesshapebytes
square1450rose586
round1093clover521
hex861star386
heart854boomerang386

MCP — eheja pe IA ojapo

Emoirũ peteĩ cliente IA-re ha'éva Claude ha ojapóta código ñomongeta mbytépe voi. Pe endpoint ha'e https://mcp.wiacode.com/mcp ha ndaikatuiete key.

Claude Desktop configuración

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

Nde cliente oipytyvõramo Streamable HTTP mbaretépe, eme'ẽmi chupe pe URL.

Herramienta-kuéra

herramientamba'épa ojapo
get_wia_code_infoOmyesakã mba'épa pe WIA Code, mba'éicha oñemoambue código QR-gui, ha mba'eichaite ikatupyry peteĩ-teĩ silueta. Ehenói raẽ ko'ãva omomichĩ umi error.
generate_wia_codeOmbohapo pe texto código imagen-pe. Osáramo pe capacidad, he'i mba'e silueta-pa oike porãta.
generate_wia_code_wifiWi-Fi ñemi'ũ — escaneo oike red-pe eskrivi'ỹre contraseña.
generate_wia_code_cardPeteĩ contacto vCard estándar-icha — escaneo ombou opciones eñongatu hag̃ua celular contacto-pe.
generate_wia_code_eventPeteĩ evento iCalendar estándar-icha — escaneo omoĩ calendario-pe.

Límite gratuita-kuéra

Reikotevẽramo hetave — issue en masa, sociedad térã uso comercial g̃uarã, oreme'ẽ email. Rome'ẽta ndéve peteĩ key omoĩvéva pe límite. 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.

Hetave

Eipe'a pe generador →

WIA Code ha'e SmileStory Co., Ltd. producto. Pe booster QR ha'e peteĩ guía oipytyvõva umi tapicha ndorekóiva scanner dedicado g̃uarã avei omoñe'ẽ.