Reference
HTTP convert returns 400 with { "error": "…" }. Common symptoms and fixes:
| Symptom | Action |
|---|---|
body.nodes or body.nodes_json required |
Body is not a node / dump / envelope — fix JSON shape or pass figma_url |
unrecognized node payload |
Missing id+type, or malformed dump |
calque-dump has no frames |
Empty plugin export — re-export selection |
| Figma fetch failed / unauthorized | Check X-Figma-Token / FIGMA_TOKEN and file access |
| Timeout / 5xx on huge pages | Split by top-level frame; convert frames separately |
| Style/markup rejected | Use a valid pair; style: style only with html |
| Determinism check failed | Engine bug or non-stable input — report with minimal JSON fixture |
--data-binary @file over pasting multi‑MB JSON in chatcontext-diff when mapping looks wrongCALQUE_LOCAL=1 bun run calque convert … (repo only)