Referencia de la API HTTP
Todas las rutas de la API HTTP local de NeoMath, con método, cuerpo, parámetros y respuestas, a partir de la especificación OpenAPI 3.1.
En esta página
Servidor: http://127.0.0.1:8790. Toda ruta, salvo /v1/saude, exige el token (Authorization: Bearer <token>). Cuerpo limitado a 16 MB (64 MB en /v1/lote-zip). La especificación OpenAPI completa también está disponible para modelos de IA en el recurso MCP neomath://api-http.
Resumen de rutas#
| Método | Ruta | Qué hace | Servidor |
|---|---|---|---|
| GET | /v1/saude |
versión, rutas, límites y extensiones disponibles, sin token | ambos |
| POST | /v1/eps |
genera el EPS | ambos |
| POST | /v1/svg |
SVG con los glifos en curvas | ambos |
| POST | /v1/png |
PNG | ambos |
| POST | /v1/normalizar |
limpia MathML que viene de Word o la web | ambos |
| POST | /v1/layout |
posiciones de glifos y trazos | ambos |
| POST | /v1/latex |
LaTeX a MathML | ambos |
| POST | /v1/para-latex |
MathML a LaTeX | ambos |
| POST | /v1/abrir |
recupera la ecuación de un EPS, SVG o PNG | ambos |
| POST | /v1/lote |
lote en carpeta (solo dentro de --raiz) |
ambos |
| POST | /v1/lote-zip |
lote por .zip, sin tocar el disco |
ambos |
| GET | /v1/fontes |
fuentes instaladas | ambos |
| POST | /v1/vinculos |
fecha y tamaño de hasta 500 archivos | ambos |
| POST | /v1/ocr |
reconoce la ecuación de una imagen | aplicación |
| POST | /v1/quimica |
dibuja una estructura o un esquema de reacción | aplicación |
| POST | /v1/editar |
abre un .eps en NeoMath para edición |
aplicación |
Petición de generación#
/v1/eps, /v1/svg y /v1/png reciben el mismo cuerpo:
{
"mathml": "x=\\frac{-b\\pm\\sqrt{b^2-4ac}}{2a}",
"opcoes": {
"neqp": "{ … texto de un .neqp … }",
"cor": [0, 100, 100, 0],
"cor_em_tudo": true,
"formato": "neof",
"tamanho": 12,
"fonte": "Times New Roman"
}
}| Campo | Tipo | Descripción |
|---|---|---|
mathml |
texto, obligatorio | MathML o LaTeX |
opcoes.neqp |
texto | contenido de un estilo |
opcoes.cor |
texto o lista | #RRGGBB, nombre, [c,m,y,k] (0 a 100) o [r,g,b] (0 a 255) |
opcoes.cmyk |
lista de números | color en CMYK |
opcoes.cor_em_tudo |
booleano | pinta también trazos y delimitadores |
opcoes.tamanho |
número de 1 a 1000 | tamaño del cuerpo en pt |
opcoes.fonte |
texto | fuente del texto, de las variables y de los números |
POST /v1/eps#
Devuelve JSON con el EPS y las medidas. Con ?bruto=1, devuelve el archivo (application/postscript).
{
"status": "ok",
"eps": "%!PS-Adobe-3.0 EPSF-3.0 …",
"largura_pt": 61.2,
"altura_pt": 24.6,
"linha_base_pt": 7.9,
"mathml": "<math …>",
"correcoes": []
}Errores: 400, 401, 413, 421 y 422.
POST /v1/svg#
Devuelve image/svg+xml con los glifos en curvas.
POST /v1/png#
| Parámetro | Valores | Predeterminado |
|---|---|---|
dpi |
36 a 2400 | 300 |
fundo |
branco |
transparente |
Devuelve image/png.
Conversiones#
| Ruta | Cuerpo | Respuesta |
|---|---|---|
POST /v1/latex |
el LaTeX | MathML |
POST /v1/para-latex |
el MathML | LaTeX |
POST /v1/normalizar |
el MathML | MathML limpio y lista de correcciones |
POST /v1/abrir |
el archivo EPS, SVG o PNG | MathML, LaTeX, formato y preferencias |
POST /v1/layout |
petición de generación | glifos y trazos en JSON |
Lote#
POST /v1/lote#
Solo dentro de la carpeta --raiz del servidor; sin ella, responde 403.
{ "pasta": "/caminho/da/entrada", "saida": "/caminho/da/saida", "opcoes": { "formato": "neof" } }Devuelve el informe del lote.
POST /v1/lote-zip#
Entra el .zip exportado, sale el .zip con las ecuaciones en EPS. No toca el disco. Las opciones van en el parámetro opcoes (JSON en la URL).
Aplicación y vínculos#
POST /v1/ocr#
Cuerpo: la imagen (application/octet-stream: PNG, JPEG, BMP, WebP o GIF) o JSON { "imagem": "<base64 o data:image/...>" }.
{ "status": "ok", "latex": "\\frac{a}{b}", "latex_bruto": "…", "mathml": "<math …>", "provedor": "NeoCR", "milissegundos": 412 }422 cuando la imagen es ilegible o no se reconoce nada; 501 en el servidor de la línea de comandos.
POST /v1/quimica#
{ "texto": "aspirina", "opcoes": { "modo": "auto" } }modo: auto, smiles, nome, chemfig o texto, más las opciones de estilo de NeoChem. Devuelve { ok, svg, tipo, texto, cml, info: { smiles, formula, massa, atomos, ligacoes } }.
POST /v1/editar#
{ "caminho": "/caminho/eq_1.eps" }Abre el archivo en NeoMath y devuelve { status: "ok", vinculo } con el estado antes de la edición. 400 si no es .eps, 403 fuera de la raíz, 404 si el archivo no existe.
POST /v1/vinculos#
{ "caminhos": ["/caminho/eq_1.eps", "/caminho/eq_2.eps"] }Devuelve itens con caminho, existe, modificado_ms (ms desde 1970), tamanho y, fuera de la raíz, erro. Hasta 500 rutas.
Esquema de error#
{ "status": "erro", "codigo": "entrada", "erro": "mensaje legible" }