Web Analytics Made Easy - Statcounter
Skip to content

API de configuraci贸n

Endpoints para gestionar la configuraci贸n de conversi贸n.

Almacenamiento basado en sesi贸n

La configuraci贸n se almacena por sesi贸n de usuario en la base de datos. La configuraci贸n de cada usuario est谩 aislada y no afecta a otros usuarios, lo que hace que Duckling sea seguro en despliegues multiusuario.

Obtener toda la configuraci贸n

GET /api/settings

Respuesta

{
  "ocr": {
    "enabled": true,
    "language": "en",
    "force_full_page_ocr": false,
    "backend": "easyocr",
    "use_gpu": false,
    "confidence_threshold": 0.5,
    "bitmap_area_threshold": 0.05
  },
  "tables": {
    "enabled": true,
    "structure_extraction": true,
    "mode": "accurate",
    "do_cell_matching": true
  },
  "images": {
    "extract": true,
    "classify": true,
    "generate_page_images": false,
    "generate_picture_images": true,
    "generate_table_images": true,
    "images_scale": 1.0
  },
  "enrichment": {
    "code_enrichment": false,
    "formula_enrichment": false,
    "picture_classification": false,
    "picture_description": false
  },
  "output": {
    "default_format": "markdown"
  },
  "performance": {
    "device": "auto",
    "num_threads": 4,
    "document_timeout": null
  },
  "chunking": {
    "enabled": false,
    "max_tokens": 512,
    "merge_peers": true
  }
}

Actualizar configuraci贸n

PUT /api/settings
Content-Type: application/json

Cuerpo de la solicitud

{
  "ocr": {
    "language": "de",
    "backend": "tesseract"
  },
  "tables": {
    "mode": "fast"
  }
}

Respuesta

Devuelve el objeto de configuraci贸n actualizado.


Restablecer la configuraci贸n a los valores predeterminados

POST /api/settings/reset

Respuesta

Devuelve el objeto de configuraci贸n predeterminado.


Obtener formatos admitidos

GET /api/settings/formats

Respuesta

{
  "input_formats": [
    {"id": "pdf", "name": "PDF Document", "extensions": [".pdf"], "icon": "document"},
    {"id": "docx", "name": "Microsoft Word", "extensions": [".docx"], "icon": "document"},
    {"id": "image", "name": "Image", "extensions": [".png", ".jpg", ".jpeg", ".tiff"], "icon": "image"}
  ],
  "output_formats": [
    {"id": "markdown", "name": "Markdown", "extension": ".md", "mime_type": "text/markdown"},
    {"id": "html", "name": "HTML", "extension": ".html", "mime_type": "text/html"},
    {"id": "json", "name": "JSON", "extension": ".json", "mime_type": "application/json"}
  ]
}

Configuraci贸n de OCR

Obtener la configuraci贸n de OCR

GET /api/settings/ocr

Actualizar la configuraci贸n de OCR

PUT /api/settings/ocr
Content-Type: application/json

Par谩metros de consulta:

Par谩metro Tipo Descripci贸n
auto_install boolean Si es true, instala autom谩ticamente los backends instalables con pip

Respuesta/Solicitud

{
  "ocr": {
    "enabled": true,
    "language": "en",
    "force_full_page_ocr": false,
    "backend": "easyocr",
    "use_gpu": false,
    "confidence_threshold": 0.5,
    "bitmap_area_threshold": 0.05
  },
  "available_languages": [
    {"code": "en", "name": "English"},
    {"code": "de", "name": "German"},
    {"code": "fr", "name": "French"}
  ],
  "available_backends": [
    {"id": "easyocr", "name": "EasyOCR", "description": "General-purpose OCR with GPU support"},
    {"id": "tesseract", "name": "Tesseract", "description": "Classic OCR engine"},
    {"id": "ocrmac", "name": "macOS Vision", "description": "Native macOS OCR (Mac only)"},
    {"id": "rapidocr", "name": "RapidOCR", "description": "Fast OCR with ONNX runtime"}
  ]
}

Gesti贸n de backends de OCR

Obtener el estado de todos los backends

GET /api/settings/ocr/backends

Devuelve el estado de instalaci贸n de todos los backends de OCR.

Respuesta

{
  "backends": [
    {
      "id": "easyocr",
      "name": "EasyOCR",
      "description": "General-purpose OCR with GPU support",
      "installed": true,
      "available": true,
      "error": null,
      "pip_installable": true,
      "requires_system_install": false,
      "platform": null,
      "note": "First run will download language models (~100MB per language)"
    },
    {
      "id": "tesseract",
      "name": "Tesseract",
      "description": "Classic OCR engine",
      "installed": false,
      "available": false,
      "error": "Package not installed",
      "pip_installable": true,
      "requires_system_install": true,
      "platform": null,
      "note": "Requires Tesseract to be installed on your system"
    }
  ],
  "current_platform": "darwin"
}

Comprobar un backend concreto

GET /api/settings/ocr/backends/{backend_id}/check

Respuesta

{
  "backend": "easyocr",
  "installed": true,
  "available": true,
  "error": null,
  "pip_installable": true,
  "requires_system_install": false,
  "note": "First run will download language models"
}

Instalar backend

POST /api/settings/ocr/backends/{backend_id}/install

Instala un backend de OCR instalable con pip.

Respuesta (correcto)

{
  "message": "Successfully installed easyocr",
  "success": true,
  "installed": true,
  "available": true,
  "note": "First run will download language models"
}

Respuesta (ya instalado)

{
  "message": "easyocr is already installed and available",
  "already_installed": true
}

Respuesta (requiere instalaci贸n del sistema)

{
  "message": "Failed to install tesseract",
  "success": false,
  "error": "tesseract requires system-level installation",
  "requires_system_install": true
}

Configuraci贸n de tablas

Obtener la configuraci贸n de tablas

GET /api/settings/tables

Actualizar la configuraci贸n de tablas

PUT /api/settings/tables
Content-Type: application/json

Solicitud/Respuesta

{
  "tables": {
    "enabled": true,
    "structure_extraction": true,
    "mode": "accurate",
    "do_cell_matching": true
  }
}

Configuraci贸n de im谩genes

Obtener la configuraci贸n de im谩genes

GET /api/settings/images

Actualizar la configuraci贸n de im谩genes

PUT /api/settings/images
Content-Type: application/json

Solicitud/Respuesta

{
  "images": {
    "extract": true,
    "classify": true,
    "generate_page_images": false,
    "generate_picture_images": true,
    "generate_table_images": true,
    "images_scale": 1.0
  }
}

Configuraci贸n de enriquecimiento

Obtener la configuraci贸n de enriquecimiento

GET /api/settings/enrichment

Respuesta

{
  "enrichment": {
    "code_enrichment": false,
    "formula_enrichment": false,
    "picture_classification": false,
    "picture_description": false
  },
  "options": {
    "code_enrichment": {
      "description": "Mejora los bloques de c贸digo con detecci贸n de idioma y resaltado de sintaxis",
      "default": false,
      "note": "Puede aumentar el tiempo de procesamiento"
    },
    "formula_enrichment": {
      "description": "Extrae representaciones LaTeX de f贸rmulas matem谩ticas",
      "default": false,
      "note": "Permite un mejor renderizado de f贸rmulas en las exportaciones"
    },
    "picture_classification": {
      "description": "Clasifica las im谩genes por tipo (figura, gr谩fico, diagrama, foto, etc.)",
      "default": false,
      "note": "A帽ade etiquetas sem谩nticas a las im谩genes extra铆das"
    },
    "picture_description": {
      "description": "Genera descripciones para im谩genes usando modelos de visi贸n con IA",
      "default": false,
      "note": "Requiere descargar modelos adicionales y aumenta notablemente el tiempo de procesamiento"
    }
  }
}

Actualizar la configuraci贸n de enriquecimiento

PUT /api/settings/enrichment
Content-Type: application/json

Solicitud

{
  "code_enrichment": true,
  "formula_enrichment": true
}

Respuesta

{
  "message": "Enrichment settings updated",
  "enrichment": {
    "code_enrichment": true,
    "formula_enrichment": true,
    "picture_classification": false,
    "picture_description": false
  }
}
Campo Tipo Descripci贸n
code_enrichment boolean Mejora los bloques de c贸digo con detecci贸n de idioma
formula_enrichment boolean Extrae LaTeX de f贸rmulas matem谩ticas
picture_classification boolean Clasifica las im谩genes por tipo sem谩ntico
picture_description boolean Genera descripciones con IA para las im谩genes

Tiempo de procesamiento

Activar formula_enrichment y sobre todo picture_description puede aumentar de forma notable el tiempo de procesamiento de los documentos.


Configuraci贸n de rendimiento

Obtener la configuraci贸n de rendimiento

GET /api/settings/performance

Actualizar la configuraci贸n de rendimiento

PUT /api/settings/performance
Content-Type: application/json

Solicitud/Respuesta

{
  "performance": {
    "device": "auto",
    "num_threads": 4,
    "document_timeout": null
  }
}

Configuraci贸n de fragmentaci贸n

Obtener la configuraci贸n de fragmentaci贸n

GET /api/settings/chunking

Actualizar la configuraci贸n de fragmentaci贸n

PUT /api/settings/chunking
Content-Type: application/json

Solicitud/Respuesta

{
  "chunking": {
    "enabled": false,
    "max_tokens": 512,
    "merge_peers": true
  }
}

Configuraci贸n de salida

Obtener la configuraci贸n de salida

GET /api/settings/output

Actualizar la configuraci贸n de salida

PUT /api/settings/output
Content-Type: application/json

Solicitud/Respuesta

{
  "output": {
    "default_format": "markdown"
  }
}