qr-code
Runs in your own browser: we issue a work order, your agent opens the tool page and follows `recipe`, and the run settles when the file is saved. The image never passes through our servers.
v1 beta browser · 1 tokens
Call it
POST https://timbrica.com/v1/tools/qr-code/runs
Authorization: Bearer $TIMBRICA_KEY
Idempotency-Key: <your retry-safe key>
Content-Type: application/json
Input
| Field | Type | Required | Notes |
|---|---|---|---|
data | string | yes |
Payload to encode — a URL when type=url, free text when type=text.
max length: 2000 |
type | string | no | one of: url, text default: url |
format | string | no |
Download format.
one of: png, svg default: png |
Browser recipe
This tool runs in your own browser. The work order you receive carries this recipe with the placeholders filled in; the selectors below are a versioned contract, not implementation detail — they do not change without a version bump.
{
"engine": "dom",
"steps": [
{
"action": "click",
"selector": "[data-tmb-api=\"type-{{type}}\"]"
},
{
"action": "fill",
"selector": "[data-tmb-api=\"input-{{type}}\"]",
"value": "{{data}}"
},
{
"action": "wait",
"selector": "[data-tmb-api=\"result\"]",
"timeout_s": 15
},
{
"action": "click",
"selector": "[data-tmb-api=\"download-{{format}}\"]"
}
],
"result": {
"kind": "download",
"settles": "automatically"
}
}
Errors it can return
validation_failed
insufficient_tokens
History
- v1 — 2026-07-30 — Initial release (browser lane).
This contract cannot change without a new version and a line above: a test compares the published schema, pricing and limits against a committed lockfile and fails the build otherwise. Subscribe to /v1/changelog to be told when something moves.