Issue with MinerU plugin where files and images always remain empty #744

Closed
opened 2026-02-16 10:20:21 -05:00 by yindo · 4 comments
Owner

Originally created by @tomy-kyu on GitHub (Oct 22, 2025).

Self Checks

  • This is only for bug report, if you would like to ask a question, please head to Discussions.
  • I have searched for existing issues Dify issues & Dify Official Plugins, including closed ones.
  • I confirm that I am using English to submit this report (我已阅读并同意 Language Policy).
  • [FOR CHINESE USERS] 请务必使用英文提交 Issue,否则会被关闭。谢谢!:)
  • Please do not modify this template :) and fill in all the required fields.

Dify version

1.8.1

Plugin version

langgenius / mineru 0.5.0

Cloud or Self Hosted

Self Hosted (Docker)

Steps to reproduce

I am using the MinerU plugin to analyze PDF documents, crop images, and retrieve the resulting files.
I have chosen the "pipeline" execution mode due to its accuracy, with processing being performed on GPU hardware.
I'm using the mineru-api container for this operation.

While running with MinerU plugin version 0.5.0, the images aren't being stored in either the "files" or "images" directories, and the list always remains empty.
Previously, with MinerU plugin version 0.2.0 + Mineru-API:1.23, I was successfully able to retrieve images. I'd like to resolve this issue where the image retrieval functionality has stopped working.

✔️ Error log

mineru Container logs

The API documentation can be accessed at the following address:
- Swagger UI: http://0.0.0.0:8000/docs
- ReDoc: http://0.0.0.0:8000/redoc
Creating new Ultralytics Settings v0.0.6 file ?
View Ultralytics Settings with 'yolo settings' or at '/root/.config/Ultralytics/settings.json'
Update Settings with 'yolo settings key=value', i.e. 'yolo settings runs_dir=path/to/dir'. For help see https://docs.ultralytics.com/quickstart/#ultralytics-settings.
2025-10-22 18:45:39.307 | INFO     | mineru.backend.pipeline.pipeline_analyze:doc_analyze:125 - Batch 1/1: 10 pages/10 pages
2025-10-22 18:45:39.340 | INFO     | mineru.backend.pipeline.pipeline_analyze:batch_image_analyze:187 - gpu_memory: 22 GB, batch_ratio: 16
2025-10-22 18:45:39.340 | INFO     | mineru.backend.pipeline.model_init:__init__:192 - DocAnalysis init, this may take some times......
2025-10-22 18:45:45.637 | INFO     | mineru.backend.pipeline.model_init:__init__:248 - DocAnalysis init done!
2025-10-22 18:45:45.637 | INFO     | mineru.backend.pipeline.pipeline_analyze:custom_model_init:65 - model init cost: 6.2971601486206055
Layout Predict: 100%|??????????| 10/10 [00:01<00:00,  8.11it/s]
MFD Predict: 100%|??????????| 10/10 [00:00<00:00, 10.87it/s]
MFR Predict: 100%|??????????| 64/64 [00:01<00:00, 60.74it/s]
Table-ocr det: 100%|??????????| 5/5 [00:00<00:00, 15.17it/s]
Table-ocr rec japan:   0%|          | 0/163 [00:00<?, ?it/s]/usr/local/lib/python3.12/dist-packages/torch/nn/modules/conv.py:549: UserWarning: Using padding='same' with even kernel lengths and odd dilation may require a zero-padded copy of the input be created (Triggered internally at /pytorch/aten/src/ATen/native/Convolution.cpp:1036.)
  return F.conv2d(
Table-ocr rec japan: 100%|??????????| 163/163 [00:00<00:00, 295.85it/s]
Table-wireless Predict: 100%|??????????| 5/5 [00:00<00:00, 12.08it/s]
Table-wired Predict: 100%|??????????| 5/5 [00:01<00:00,  3.28it/s]
OCR-det japan: 100%|??????????| 48/48 [00:01<00:00, 25.26it/s]
OCR-rec Predict: 100%|??????????| 281/281 [00:01<00:00, 149.05it/s]
Processing pages: 100%|??????????| 10/10 [00:01<00:00,  8.04it/s]
2025-10-22 18:45:59.363 | INFO     | mineru.cli.common:_process_output:155 - local output dir is ./output/429b4e89-8119-4b81-b9d4-b3dba8646124/llama-cpp-kv-cache-20250515a/ocr
INFO:     10.206.176.24:48428 - "POST /file_parse HTTP/1.1" 200 OK

MinerU Plugin executed output

Due to security reasons, many parts had to be omitted, and we sincerely apologize for this.When checking the actual output, there are about eight images—this is supposed to be listed either in files or images. However, what used to work previously now consistently returns an empty result.

{
  "text": "# llama.cppのKVキヤツ........です。",
  "files": [],
  "json": [
    {
      "content_list": [
        {
          "bbox": [
            46,
            318,
            717,
            383
          ],
          "page_idx": 0,
          "text": "llama.cpp...つてみる",
          "text_level": 1,
          "type": "text"
        },
	.....
	.....
        {
          "bbox": [
          {
            "bbox": [
              379,
              357,
              827,
              575
            ],
            "page_idx": 9,
            "text": "日...り、未来です。",
            "type": "text"
          }
        ],
        "filename": "llama-cpp-kv-cache-20250515a",
        "images": [],
        "md_content": "# llama.........です。"
      }
    }
  ],
  "images": []
}

Originally created by @tomy-kyu on GitHub (Oct 22, 2025). ### Self Checks - [x] This is only for bug report, if you would like to ask a question, please head to [Discussions](https://github.com/langgenius/dify/discussions/categories/general). - [x] I have searched for existing issues [Dify issues](https://github.com/langgenius/dify/issues) & [Dify Official Plugins](https://github.com/langgenius/dify-official-plugins/issues), including closed ones. - [x] I confirm that I am using English to submit this report (我已阅读并同意 [Language Policy](https://github.com/langgenius/dify/issues/1542)). - [x] [FOR CHINESE USERS] 请务必使用英文提交 Issue,否则会被关闭。谢谢!:) - [x] Please do not modify this template :) and fill in all the required fields. ### Dify version 1.8.1 ### Plugin version langgenius / mineru 0.5.0 ### Cloud or Self Hosted Self Hosted (Docker) ### Steps to reproduce I am using the MinerU plugin to analyze PDF documents, crop images, and retrieve the resulting files. I have chosen the "pipeline" execution mode due to its accuracy, with processing being performed on GPU hardware. I'm using the mineru-api container for this operation. While running with MinerU plugin version 0.5.0, the images aren't being stored in either the "files" or "images" directories, and the list always remains empty. Previously, with MinerU plugin version 0.2.0 + Mineru-API:1.23, I was successfully able to retrieve images. I'd like to resolve this issue where the image retrieval functionality has stopped working. ### ✔️ Error log ## mineru Container logs ``` The API documentation can be accessed at the following address: - Swagger UI: http://0.0.0.0:8000/docs - ReDoc: http://0.0.0.0:8000/redoc Creating new Ultralytics Settings v0.0.6 file ? View Ultralytics Settings with 'yolo settings' or at '/root/.config/Ultralytics/settings.json' Update Settings with 'yolo settings key=value', i.e. 'yolo settings runs_dir=path/to/dir'. For help see https://docs.ultralytics.com/quickstart/#ultralytics-settings. 2025-10-22 18:45:39.307 | INFO | mineru.backend.pipeline.pipeline_analyze:doc_analyze:125 - Batch 1/1: 10 pages/10 pages 2025-10-22 18:45:39.340 | INFO | mineru.backend.pipeline.pipeline_analyze:batch_image_analyze:187 - gpu_memory: 22 GB, batch_ratio: 16 2025-10-22 18:45:39.340 | INFO | mineru.backend.pipeline.model_init:__init__:192 - DocAnalysis init, this may take some times...... 2025-10-22 18:45:45.637 | INFO | mineru.backend.pipeline.model_init:__init__:248 - DocAnalysis init done! 2025-10-22 18:45:45.637 | INFO | mineru.backend.pipeline.pipeline_analyze:custom_model_init:65 - model init cost: 6.2971601486206055 Layout Predict: 100%|??????????| 10/10 [00:01<00:00, 8.11it/s] MFD Predict: 100%|??????????| 10/10 [00:00<00:00, 10.87it/s] MFR Predict: 100%|??????????| 64/64 [00:01<00:00, 60.74it/s] Table-ocr det: 100%|??????????| 5/5 [00:00<00:00, 15.17it/s] Table-ocr rec japan: 0%| | 0/163 [00:00<?, ?it/s]/usr/local/lib/python3.12/dist-packages/torch/nn/modules/conv.py:549: UserWarning: Using padding='same' with even kernel lengths and odd dilation may require a zero-padded copy of the input be created (Triggered internally at /pytorch/aten/src/ATen/native/Convolution.cpp:1036.) return F.conv2d( Table-ocr rec japan: 100%|??????????| 163/163 [00:00<00:00, 295.85it/s] Table-wireless Predict: 100%|??????????| 5/5 [00:00<00:00, 12.08it/s] Table-wired Predict: 100%|??????????| 5/5 [00:01<00:00, 3.28it/s] OCR-det japan: 100%|??????????| 48/48 [00:01<00:00, 25.26it/s] OCR-rec Predict: 100%|??????????| 281/281 [00:01<00:00, 149.05it/s] Processing pages: 100%|??????????| 10/10 [00:01<00:00, 8.04it/s] 2025-10-22 18:45:59.363 | INFO | mineru.cli.common:_process_output:155 - local output dir is ./output/429b4e89-8119-4b81-b9d4-b3dba8646124/llama-cpp-kv-cache-20250515a/ocr INFO: 10.206.176.24:48428 - "POST /file_parse HTTP/1.1" 200 OK ``` ## MinerU Plugin executed output Due to security reasons, many parts had to be omitted, and we sincerely apologize for this.When checking the actual output, there are about eight images—this is supposed to be listed either in `files` or `images`. However, what used to work previously now consistently returns an empty result. ``` { "text": "# llama.cppのKVキヤツ........です。", "files": [], "json": [ { "content_list": [ { "bbox": [ 46, 318, 717, 383 ], "page_idx": 0, "text": "llama.cpp...つてみる", "text_level": 1, "type": "text" }, ..... ..... { "bbox": [ { "bbox": [ 379, 357, 827, 575 ], "page_idx": 9, "text": "日...り、未来です。", "type": "text" } ], "filename": "llama-cpp-kv-cache-20250515a", "images": [], "md_content": "# llama.........です。" } } ], "images": [] } ```
yindo added the bug label 2026-02-16 10:20:21 -05:00
yindo closed this issue 2026-02-16 10:20:21 -05:00
Author
Owner

@dosubot[bot] commented on GitHub (Nov 8, 2025):

Hi, @tomy-kyu. I'm Dosu, and I'm helping the dify-official-plugins team manage their backlog and am marking this issue as stale.

Issue Summary:

  • You reported that after upgrading to MinerU plugin version 0.5.0 on Dify 1.8.1 (self-hosted via Docker), image files are no longer saved in the expected directories when analyzing PDFs.
  • This behavior differs from version 0.2.0, where images were saved correctly.
  • You mentioned that image retrieval fails despite using pipeline mode on GPU.
  • No further comments or updates have been provided since the initial report.

Next Steps:

  • Please let me know if this issue is still relevant with the latest version of the dify-official-plugins repository by commenting here.
  • If I do not hear back within 5 days, I will automatically close this issue.

Thank you for your understanding and contribution!

@dosubot[bot] commented on GitHub (Nov 8, 2025): Hi, @tomy-kyu. I'm [Dosu](https://dosu.dev), and I'm helping the dify-official-plugins team manage their backlog and am marking this issue as stale. **Issue Summary:** - You reported that after upgrading to MinerU plugin version 0.5.0 on Dify 1.8.1 (self-hosted via Docker), image files are no longer saved in the expected directories when analyzing PDFs. - This behavior differs from version 0.2.0, where images were saved correctly. - You mentioned that image retrieval fails despite using pipeline mode on GPU. - No further comments or updates have been provided since the initial report. **Next Steps:** - Please let me know if this issue is still relevant with the latest version of the dify-official-plugins repository by commenting here. - If I do not hear back within 5 days, I will automatically close this issue. Thank you for your understanding and contribution!
Author
Owner

@tomy-kyu commented on GitHub (Nov 11, 2025):

No, I applied version 0.5.1, but the issue remains unresolved. For the time being, we've implemented a workaround by customizing and deploying OpenAPI.json, which while requiring some effort, has enabled the desired functionality—so there's no immediate urgency.

As a workaround, we successfully implemented a custom tool using the JSON text with the added "servers" element, allowing us to successfully transfer file data into the Dify app. Below is a reference to this implementation for reference:

{
  "openapi": "3.1.0",
  "info": {
    "title": "FastAPI",
    "description": "Analyzes PDF documents, decomposes them into elements like text, tables, and images, then outputs the results.",
    "version": "0.1.0"
  },
  "servers": [{
          "url": "http://<mineru-api-fqdn>:<portnum>"
  }],
  "paths": {
    "/file_parse": {
      "post": {
        "summary": "Parse Pdf",
        "operationId": "parse_pdf_file_parse_post",
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/Body_parse_pdf_file_parse_post"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "Body_parse_pdf_file_parse_post": {
        "properties": {
          "files": {
            "items": {
              "type": "string",
              "format": "binary"
            },
            "type": "array",
            "title": "Files"
          },
          "output_dir": {
            "type": "string",
            "title": "Output Dir",
            "default": "./output"
          },
          "lang_list": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Lang List",
          },
          "backend": {
            "type": "string",
            "title": "Backend",
            "default": "pipeline"
          },
          "parse_method": {
            "type": "string",
            "title": "Parse Method",
            "default": "auto"
          },
          "formula_enable": {
            "type": "boolean",
            "title": "Formula Enable",
            "default": true
          },
          "table_enable": {
            "type": "boolean",
            "title": "Table Enable",
            "default": true
          },
          "server_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Server Url"
          },
          "return_md": {
            "type": "boolean",
            "title": "Return Md",
            "default": true
          },
          "return_middle_json": {
            "type": "boolean",
            "title": "Return Middle Json",
            "default": false
          },
          "return_model_output": {
            "type": "boolean",
            "title": "Return Model Output",
            "default": false
          },
          "return_content_list": {
            "type": "boolean",
            "title": "Return Content List",
            "default": false
          },
          "return_images": {
            "type": "boolean",
            "title": "Return Images",
            "default": false
          },
          "response_format_zip": {
            "type": "boolean",
            "title": "Response Format Zip",
            "default": false
          },
          "start_page_id": {
            "type": "integer",
            "title": "Start Page Id",
            "default": 0
          },
          "end_page_id": {
            "type": "integer",
            "title": "End Page Id",
            "default": 99999
          }
        },
        "type": "object",
        "required": [
          "files"
        ],
        "title": "Body_parse_pdf_file_parse_post"
      },
      "HTTPValidationError": {
        "properties": {
          "detail": {
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
          }
        },
        "type": "object",
        "title": "HTTPValidationError"
      },
      "ValidationError": {
        "properties": {
          "loc": {
            "items": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "type": "array",
            "title": "Location"
          },
          "msg": {
            "type": "string",
            "title": "Message"
          },
          "type": {
            "type": "string",
            "title": "Error Type"
          }
        },
        "type": "object",
        "required": [
          "loc",
          "msg",
          "type"
        ],
        "title": "ValidationError"
      }
    }
  }
}
@tomy-kyu commented on GitHub (Nov 11, 2025): No, I applied version 0.5.1, but the issue remains unresolved. For the time being, we've implemented a workaround by customizing and deploying OpenAPI.json, which while requiring some effort, has enabled the desired functionality—so there's no immediate urgency. As a workaround, we successfully implemented a custom tool using the JSON text with the added "servers" element, allowing us to successfully transfer file data into the Dify app. Below is a reference to this implementation for reference: ```json { "openapi": "3.1.0", "info": { "title": "FastAPI", "description": "Analyzes PDF documents, decomposes them into elements like text, tables, and images, then outputs the results.", "version": "0.1.0" }, "servers": [{ "url": "http://<mineru-api-fqdn>:<portnum>" }], "paths": { "/file_parse": { "post": { "summary": "Parse Pdf", "operationId": "parse_pdf_file_parse_post", "requestBody": { "content": { "multipart/form-data": { "schema": { "$ref": "#/components/schemas/Body_parse_pdf_file_parse_post" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } } }, "components": { "schemas": { "Body_parse_pdf_file_parse_post": { "properties": { "files": { "items": { "type": "string", "format": "binary" }, "type": "array", "title": "Files" }, "output_dir": { "type": "string", "title": "Output Dir", "default": "./output" }, "lang_list": { "items": { "type": "string" }, "type": "array", "title": "Lang List", }, "backend": { "type": "string", "title": "Backend", "default": "pipeline" }, "parse_method": { "type": "string", "title": "Parse Method", "default": "auto" }, "formula_enable": { "type": "boolean", "title": "Formula Enable", "default": true }, "table_enable": { "type": "boolean", "title": "Table Enable", "default": true }, "server_url": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Server Url" }, "return_md": { "type": "boolean", "title": "Return Md", "default": true }, "return_middle_json": { "type": "boolean", "title": "Return Middle Json", "default": false }, "return_model_output": { "type": "boolean", "title": "Return Model Output", "default": false }, "return_content_list": { "type": "boolean", "title": "Return Content List", "default": false }, "return_images": { "type": "boolean", "title": "Return Images", "default": false }, "response_format_zip": { "type": "boolean", "title": "Response Format Zip", "default": false }, "start_page_id": { "type": "integer", "title": "Start Page Id", "default": 0 }, "end_page_id": { "type": "integer", "title": "End Page Id", "default": 99999 } }, "type": "object", "required": [ "files" ], "title": "Body_parse_pdf_file_parse_post" }, "HTTPValidationError": { "properties": { "detail": { "items": { "$ref": "#/components/schemas/ValidationError" }, "type": "array", "title": "Detail" } }, "type": "object", "title": "HTTPValidationError" }, "ValidationError": { "properties": { "loc": { "items": { "anyOf": [ { "type": "string" }, { "type": "integer" } ] }, "type": "array", "title": "Location" }, "msg": { "type": "string", "title": "Message" }, "type": { "type": "string", "title": "Error Type" } }, "type": "object", "required": [ "loc", "msg", "type" ], "title": "ValidationError" } } } } ```
Author
Owner

@tomy-kyu commented on GitHub (Nov 11, 2025):

Note that downloaded image data arrives encoded in base64 format. To treat this data as a file object, you'll need to implement additional mechanisms—either by uploading it to Dify or by implementing base64 decoding functionality—so please keep this in mind.

@tomy-kyu commented on GitHub (Nov 11, 2025): Note that downloaded image data arrives encoded in base64 format. To treat this data as a file object, you'll need to implement additional mechanisms—either by uploading it to Dify or by implementing base64 decoding functionality—so please keep this in mind.
Author
Owner

@dosubot[bot] commented on GitHub (Nov 11, 2025):

@crazywoola The user tomy-kyu reports that the issue persists in version 0.5.1 but has implemented a workaround by customizing and deploying OpenAPI.json with a "servers" element to transfer file data successfully. Could you please assist with this?

@dosubot[bot] commented on GitHub (Nov 11, 2025): @crazywoola The user tomy-kyu reports that the issue persists in version 0.5.1 but has implemented a workaround by customizing and deploying OpenAPI.json with a "servers" element to transfer file data successfully. Could you please assist with this?
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: langgenius/dify-official-plugins#744