Documentación de la API DecoToolkit

Referencia técnica para usar las herramientas de DecoToolkit de forma programática.

¿Necesitas un token de API? Crea uno en tu cuenta.

Crear token de API
Más información sobre los planes de la API DecoToolkit

Visión general

La API DecoToolkit te permite integrar nuestras herramientas en automatizaciones, flujos de trabajo y aplicaciones. Empieza con las API de Generador de Códigos QR, Limpieza de Texto y Formato JSON, con más herramientas en camino.

Acceso Anticipado

La API DecoToolkit se encuentra actualmente en acceso anticipado. El primer endpoint disponible es el Generador de Códigos QR. Se añadirán más herramientas gradualmente a medida que ampliemos la plataforma.

URL Base

https://api.decotoolkit.com

Autenticación

Los endpoints protegidos requieren un token Bearer en la cabecera Authorization.

Authorization: Bearer YOUR_API_TOKEN

Crea y gestiona tus tokens de API desde tu cuenta. Cada plan define cuántos tokens activos puedes mantener y cuántos créditos mensuales puedes gastar.

Endpoints Disponibles

POST/v1/tools/qr-code

Genera un código QR a partir de una URL o texto.

Cuerpo de la Solicitud

{
  "data": "https://decotoolkit.com",
  "size": 512,
  "format": "svg"
}

Parámetros

ParámetroTipoObligatorioDescripción
datastringObligatorioEl contenido a codificar. De 1 a 2000 caracteres.
sizenumberOpcionalTamaño de salida en píxeles. Mín. 128, máx. 2048. Predeterminado: 512.
formatstringOpcionalFormato de salida. Actualmente solo se admite "svg".

Ejemplo de Respuesta

{
  "success": true,
  "tool": "qr-code",
  "result": {
    "format": "svg",
    "content": "<svg>...</svg>"
  },
  "links": {
    "open_tool": "https://decotoolkit.com/qr-code-generator?utm_source=api&utm_medium=automation&utm_campaign=qr_code",
    "documentation": "https://decotoolkit.com/api/docs"
  },
  "usage": {
    "credits_used": 1
  }
}

Ejemplo cURL

curl -X POST https://api.decotoolkit.com/v1/tools/qr-code \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "data": "https://decotoolkit.com",
    "size": 512,
    "format": "svg"
  }'
POST/v1/tools/text-cleaner

Limpia y normaliza texto para flujos de automatización.

Cuerpo de la Solicitud

{
  "text": "  Hello   world!\n\nThis is   DecoToolkit.  ",
  "options": {
    "trim": true,
    "removeExtraSpaces": true,
    "removeLineBreaks": false,
    "removeDuplicateLines": false,
    "removeEmptyLines": false
  }
}

Parámetros

ParámetroTipoObligatorioDescripción
textstringObligatorioEl contenido de texto a limpiar.
optionsobjectOpcionalOpciones de limpieza. Todas las opciones son false por defecto, excepto trim y removeExtraSpaces.
options.trimbooleanOpcionalRecorta la salida final y cada línea conservada. Predeterminado: true.
options.removeExtraSpacesbooleanOpcionalReemplaza varios espacios y tabulaciones por un solo espacio. Predeterminado: true.
options.removeLineBreaksbooleanOpcionalReemplaza los saltos de línea por espacios. Predeterminado: false.
options.removeDuplicateLinesbooleanOpcionalElimina líneas duplicadas conservando la primera aparición. Predeterminado: false.
options.removeEmptyLinesbooleanOpcionalElimina las líneas en blanco. Predeterminado: false.

Ejemplo de Respuesta

{
  "success": true,
  "tool": "text-cleaner",
  "result": {
    "text": "Hello world!\n\nThis is DecoToolkit.",
    "original_length": 41,
    "cleaned_length": 35,
    "changed": true
  },
  "links": {
    "open_tool": "https://decotoolkit.com/text-cleaner?utm_source=api&utm_medium=automation&utm_campaign=text_cleaner",
    "documentation": "https://decotoolkit.com/api/docs"
  },
  "usage": {
    "credits_used": 1
  }
}

Ejemplo cURL

curl -X POST "https://api.decotoolkit.com/v1/tools/text-cleaner" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "text": "  Hello   world!\n\nThis is   DecoToolkit.  ",
    "options": {
      "trim": true,
      "removeExtraSpaces": true,
      "removeLineBreaks": false,
      "removeDuplicateLines": false,
      "removeEmptyLines": false
    }
  }'

Para n8n: Los usuarios pueden importar el comando cURL en un nodo HTTP Request y reemplazar el valor de text por una expresión dinámica como {{$json.text}}.

POST/v1/tools/json-formatter

Valida, formatea, minifica y ordena JSON dentro de flujos de automatización, scripts, n8n, Zapier, Make y futuros agentes de IA.

Cuerpo de la Solicitud

{
  "json": "{\"name\":\"DecoToolkit\",\"type\":\"API\"}",
  "options": {
    "mode": "format",
    "indent": 2,
    "sortKeys": false
  }
}

Parámetros

ParámetroTipoObligatorioDescripción
jsonstringObligatorioEl contenido JSON a procesar. De 1 a 100.000 caracteres.
optionsobjectOpcionalOpciones de procesamiento. Todas las opciones tienen valores predeterminados.
options.modeenumOpcionalModo de procesamiento: "format" | "minify" | "validate". Predeterminado: "format".
options.indentnumberOpcionalNivel de indentación (0–8). Acepta números y cadenas numéricas para compatibilidad con n8n/Zapier/Make. Predeterminado: 2.
options.sortKeysbooleanOpcionalOrdena recursivamente las claves de los objetos alfabéticamente (conserva el orden de los arrays). Predeterminado: false.

Ejemplo de Respuesta

{
  "success": true,
  "tool": "json-formatter",
  "result": {
    "json": "{\n  \"name\": \"DecoToolkit\",\n  \"type\": \"API\"\n}",
    "valid": true,
    "mode": "format",
    "type": "object",
    "original_length": 39,
    "output_length": 49,
    "changed": true
  },
  "links": {
    "open_tool": "https://decotoolkit.com/json-formatter?utm_source=api&utm_medium=automation&utm_campaign=json_formatter",
    "documentation": "https://decotoolkit.com/api/docs"
  },
  "usage": {
    "credits_used": 1
  }
}

Ejemplo cURL

curl -X POST "https://api.decotoolkit.com/v1/tools/json-formatter" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"json":"{\"name\":\"DecoToolkit\",\"type\":\"API\"}"}'

Para n8n: Los usuarios pueden importar cualquier ejemplo cURL en un nodo HTTP Request. Tras importarlo, reemplaza YOUR_API_TOKEN por tu token de API y, opcionalmente, reemplaza el valor de json por una expresión dinámica como {{$json.payload}}.

POST/v1/pdf/extract

Extrae texto limpio, contenido por página, metadatos y Markdown de archivos PDF. Diseñado para flujos de trabajo de IA, pipelines RAG, automatizaciones n8n y scripts de procesamiento de datos.

Cuerpo de la Solicitud

{
  "fileUrl": "https://ejemplo.com/documento.pdf",
  "mode": "text",
  "includeMetadata": true,
  "cleanText": true,
  "pageRange": { "from": 1, "to": 5 }
}

Parámetros

ParámetroTipoObligatorioDescripción
fileUrlstringOpcionalURL pública del PDF a descargar y procesar. Se requiere exactamente uno de fileUrl o fileBase64.
fileBase64stringOpcionalContenido del PDF codificado en base64. Se requiere exactamente uno de fileBase64 o fileUrl.
modeenumObligatorio"text" — texto completo como cadena. "pages" — texto dividido por página. "metadata" — solo metadatos y recuento de páginas (1 crédito). "markdown" — salida en Markdown básico.
includeMetadatabooleanOpcionalIncluir metadatos del documento (título, autor, fechas) en la respuesta. Predeterminado: true.
cleanTextbooleanOpcionalNormalizar espacios, eliminar líneas en blanco excesivas y recortar cada línea. Predeterminado: true.
pageRangeobjectOpcionalProcesar solo un subconjunto de páginas. { from: number, to: number } — ambos basados en 1. Reduce los créditos consumidos.

Ejemplo de Respuesta

{
  "success": true,
  "mode": "text",
  "document": {
    "pageCount": 4,
    "title": "Documento de Ejemplo",
    "author": "Nombre del Autor",
    "subject": null,
    "creator": null,
    "producer": null,
    "createdAt": "2024-01-15T14:30:00.000Z",
    "modifiedAt": null
  },
  "text": "Texto extraído completo de todas las páginas...",
  "pages": null,
  "markdown": null,
  "usage": {
    "credits": 4,
    "pagesProcessed": 4
  }
}

Ejemplo cURL

curl -X POST "https://api.decotoolkit.com/v1/pdf/extract" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "fileUrl": "https://ejemplo.com/documento.pdf",
    "mode": "text",
    "cleanText": true
  }'

Para n8n: En n8n, usa un nodo HTTP Request con método POST e importa el ejemplo cURL. Para fileUrl, conecta la salida de un nodo anterior usando una expresión como {{$json.pdfUrl}}. Créditos consumidos: 1 por página procesada para los modos text/pages/markdown, 1 crédito para el modo metadata.

POST/v1/pdf/ocr

Extrae texto de PDFs escaneados o basados en imágenes mediante OCR. Usa este endpoint cuando /v1/pdf/extract no devuelve texto, por ejemplo cuando un documento se creó escaneando páginas físicas. El OCR procesa cada página como una imagen, por lo que es más lento y más costoso que la extracción de texto normal. La precisión depende de la calidad del escaneo, la resolución y el idioma. No extrae tablas estructuradas ni datos de facturas.

Cuerpo de la Solicitud

{
  "fileUrl": "https://ejemplo.com/documento-escaneado.pdf",
  "mode": "text",
  "language": "spa",
  "cleanText": true,
  "pageRange": { "from": 1, "to": 3 }
}

Parámetros

ParámetroTipoObligatorioDescripción
fileUrlstringOpcionalURL pública del PDF a descargar y procesar. Se requiere exactamente uno de los campos fileUrl o fileBase64.
fileBase64stringOpcionalContenido del PDF codificado en Base64. Se requiere exactamente uno de los campos fileBase64 o fileUrl.
modeenumOpcional"text" — texto OCR completo como una sola cadena (predeterminado). "pages" — texto OCR dividido por página. "markdown" — salida Markdown básica con encabezados de página.
languageenumOpcionalSugerencia de idioma para el OCR. Valores admitidos: "eng" (inglés, predeterminado), "por" (portugués), "spa" (español), "fra" (francés), "deu" (alemán). Usa el idioma que coincida con el documento para mayor precisión.
cleanTextbooleanOpcionalNormaliza los espacios, elimina líneas en blanco excesivas y recorta cada línea. Predeterminado: true.
pageRangeobjectOpcionalProcesa solo un subconjunto de páginas. { from: number, to: number } — ambas en base 1. Reduce los créditos usados. El OCR procesa las páginas en serie, por lo que los rangos más pequeños se completan más rápido.

Ejemplo de Respuesta

{
  "success": true,
  "mode": "text",
  "document": {
    "pageCount": 3,
    "title": null
  },
  "text": "Texto OCR completo de todas las páginas...",
  "pages": null,
  "markdown": null,
  "ocr": {
    "provider": "local-tesseract",
    "language": "spa",
    "averageConfidence": null
  },
  "usage": {
    "credits": 15,
    "pagesProcessed": 3
  }
}

Ejemplo cURL

# OCR de un PDF escaneado vía URL
curl -X POST "https://api.decotoolkit.com/v1/pdf/ocr" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "fileUrl": "https://ejemplo.com/documento-escaneado.pdf",
    "mode": "text",
    "language": "spa"
  }'

# OCR con idioma portugués, solo páginas 1-2
curl -X POST "https://api.decotoolkit.com/v1/pdf/ocr" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "fileUrl": "https://ejemplo.com/relatorio.pdf",
    "mode": "pages",
    "language": "por",
    "pageRange": { "from": 1, "to": 2 }
  }'

# OCR de un PDF en base64, salida Markdown
curl -X POST "https://api.decotoolkit.com/v1/pdf/ocr" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "fileBase64": "JVBERi0xLjQK...",
    "mode": "markdown",
    "language": "eng"
  }'

Para n8n: En n8n, usa un nodo HTTP Request con método POST e importa el ejemplo cURL. Conecta la URL del PDF de un nodo anterior con una expresión como {{$json.pdfUrl}}. Créditos consumidos: 5 por página procesada de forma predeterminada. El OCR es más lento que la extracción de texto normal — usa pageRange para limitar las páginas y reducir tanto el costo como el tiempo de respuesta.

Casos de Uso

Conecta DecoToolkit a las herramientas que ya usas.

Flujos de n8n

Genera códigos QR automáticamente dentro de flujos de n8n usando nodos HTTP Request.

Marketing y Eventos

Crea códigos QR para páginas de productos, menús de restaurantes, eventos y campañas de marketing a escala.

Scripts Personalizados

Integra DecoToolkit en Python, Node.js o cualquier lenguaje que pueda hacer solicitudes HTTP.

Agentes de IA

Prepara flujos automatizados para agentes de IA y herramientas compatibles con MCP.

Usar con n8n

La forma más rápida de conectar la API DecoToolkit con n8n es importar un comando cURL en un nodo HTTP Request.

Pasos

  1. 1.Añade un nodo HTTP Request.
  2. 2.Haz clic en "Import cURL".
  3. 3.Pega el comando de abajo.
  4. 4.Reemplaza YOUR_API_TOKEN por tu token de API DecoToolkit.
  5. 5.Ejecuta el nodo.

Ejemplo cURL

curl -X POST "https://api.decotoolkit.com/v1/tools/qr-code" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "data": "https://decotoolkit.com",
    "size": 512,
    "format": "svg"
  }'

Ejemplo de entrada dinámica

Tras importar el comando cURL, el valor estático de data puede reemplazarse por una expresión de n8n:

{{$json.url}}

Ejemplo de cuerpo de la solicitud:

{
  "data": "{{$json.url}}",
  "size": 512,
  "format": "svg"
}

Errores, Límites y Uso

Qué esperar de las solicitudes autenticadas.

Autenticación

Cada endpoint protegido requiere un token Bearer válido. Las solicitudes sin token, o con un token inválido o revocado, devuelven 401 Unauthorized.

Límites del plan

Cada plan define una asignación mensual de créditos y un número máximo de tokens activos. Cuando se agotan tus créditos, las solicitudes se rechazan hasta el siguiente ciclo o una mejora de plan.

Errores de validación

Los payloads inválidos devuelven 400 Bad Request con un error de validación descriptivo que explica qué campo falló y por qué.

Uso y créditos

Cada llamada exitosa consume créditos. La cantidad gastada se devuelve en el campo usage.credits_used de cada respuesta, para que puedas controlar el consumo.

Próximamente

Hay más endpoints en la hoja de ruta.

  • API de Conversión de Unidades
  • API de Herramientas de Imagen
  • Soporte para Servidor MCP

Explora DecoToolkit

FAQ

¿Qué es la API DecoToolkit?

La API DecoToolkit permite a desarrolladores y creadores de automatizaciones usar las herramientas de DecoToolkit de forma programática, desde scripts, flujos de trabajo y agentes de IA.

¿Cómo autentico las solicitudes?

Todas las solicitudes a la API requieren un token Bearer en la cabecera Authorization. Puedes crear y gestionar tokens desde tu cuenta.

¿Qué herramientas están disponibles ahora?

Los endpoints disponibles incluyen Generador de Códigos QR (POST /v1/tools/qr-code), Limpieza de Texto (POST /v1/tools/text-cleaner) y Formato JSON (POST /v1/tools/json-formatter). Se añadirán más herramientas gradualmente.

¿Cómo se cuentan el uso y los créditos?

Cada llamada exitosa consume créditos de la asignación mensual de tu plan. La cantidad usada se devuelve en el campo usage.credits_used de cada respuesta.

¿DecoToolkit admitirá MCP?

El soporte para Servidor MCP está en nuestra hoja de ruta. Nuestro objetivo es poner las herramientas de DecoToolkit a disposición de los agentes de IA mediante protocolos estándar.

¿Puedo usarla con n8n o Zapier?

Sí. Cualquier herramienta que admita solicitudes HTTP — incluidos n8n, Zapier, Make y scripts personalizados — puede integrarse con la API DecoToolkit.