Lutrix.

docs · breadcrumb / api

A API do Lutrix

O Lutrix é criação e edição de imagens API/MCP-first: tudo que dá pra fazer no editor também dá por API REST ou direto do Claude via MCP. O diferencial é gerar imagens em lote a partir de um template (data-merge) — 1 arte por linha de dados.

conceitos

Visão geral

A hierarquia é Organização → Workspaces → Projetos. Cada projeto guarda um design document (textos, formas, imagens). A partir dele você exporta um PNG ou usa como template para gerar várias peças de uma vez.

Toda requisição roda isolada por organização (multi-tenant por RLS): uma API key só enxerga e altera dados da própria org.

acesso

Autenticação

Gere uma API key no app (painel Chaves de API em /app) — ela aparece uma única vez. Envie no header X-Api-Key. A base URL é https://lutrix-api-739d.onrender.com.

curl -s https://lutrix-api-739d.onrender.com/workspaces \
  -H "X-Api-Key: lutrix_sk_xxx"

# Sem chave → HTTP 401

rest

API REST

Endpoints principais (todos exigem a API key):

Workspaces

GET/workspaceslista os workspaces da org
POST/workspacescria — corpo { name }
GET/workspaces/roleseu papel na org
DELETE/workspaces/:widexclui (e seus projetos, em cascata)

Projetos

GET/workspaces/:wid/projectslista projetos
POST/workspaces/:wid/projectscria — { name, width?, height? }
GET/workspaces/:wid/projects/:pidcarrega (com o design document)
PUT/workspaces/:wid/projects/:pid/docsubstitui o design document
POST/workspaces/:wid/projects/:pid/exportrenderiza PNG → { url } (1 crédito)
GET/workspaces/:wid/projects/:pid/fieldscampos {{...}} do template
POST/workspaces/:wid/projects/:pid/mergedata-merge → { results }
DELETE/workspaces/:wid/projects/:pidexclui o projeto

Assets & créditos

POST/assetsupload de imagem (multipart)
POST/assets/from-urlimporta por URL — { url }
POST/assets/remove-backgroundremove o fundo (5 créditos)
GET/creditssaldo → { balance }
# Criar um projeto 1080x1080
curl -s -X POST $API/workspaces/$WS/projects \
  -H "X-Api-Key: $KEY" -H "Content-Type: application/json" \
  -d '{"name":"Campanha","width":1080,"height":1080}'

# Exportar PNG (devolve uma URL assinada do R2)
curl -s -X POST $API/workspaces/$WS/projects/$PID/export \
  -H "X-Api-Key: $KEY"

diferencial

Data-merge (geração em lote)

Coloque marcadores {{campo}} nos textos. Envie N linhas → o Lutrix devolve 1 PNG por linha.

curl -s -X POST $API/workspaces/$WS/projects/$PID/merge \
  -H "X-Api-Key: $KEY" -H "Content-Type: application/json" \
  -d '{"rows":[
        {"nome":"Ana","preco":"R$ 10"},
        {"nome":"Bruno","preco":"R$ 20"}
      ]}'
# → { "results": [ {"index":0,"url":"..."}, ... ] }

Custo: 1 crédito por peça gerada.

ia

Remover fundo

Remoção por IA. Passe a URL pública de uma imagem; devolve um asset já salvo.

curl -s -X POST $API/assets/remove-background \
  -H "X-Api-Key: $KEY" -H "Content-Type: application/json" \
  -d '{"imageUrl":"https://.../foto.png"}'

Custo: 5 créditos.

claude

MCP — usar direto do Claude

O Lutrix expõe um servidor MCP (stdio): o Claude ganha as capacidades do Lutrix como tools nativas. Configure no claude_desktop_config.json:

{
  "mcpServers": {
    "lutrix": {
      "command": "node",
      "args": ["/caminho/lutrix-mcp-server/dist/index.js"],
      "env": {
        "LUTRIX_API_URL": "https://lutrix-api-739d.onrender.com",
        "LUTRIX_API_KEY": "lutrix_sk_xxx"
      }
    }
  }
}

As 10 tools expostas:

  • lutrix_list_workspaces
  • lutrix_create_workspace
  • lutrix_list_projects
  • lutrix_create_project
  • lutrix_get_project
  • lutrix_set_project_doc
  • lutrix_export_png
  • lutrix_list_template_fields
  • lutrix_merge
  • lutrix_upload_asset_from_url

uso

Créditos

Ações que consomem processamento gastam créditos. Toda org nova começa com 200. Consulte em GET /credits.

Exportar PNG1 crédito
Data-merge1 crédito por peça
Remover fundo (IA)5 créditos
Importar arquivo2 créditos