An error occurs when uploading images using image links in the workflow. #21646

Closed
opened 2026-02-21 20:13:40 -05:00 by yindo · 1 comment
Owner

Originally created by @Moiyu1998 on GitHub (Jan 14, 2026).

Self Checks

  • I have read the Contributing Guide and Language Policy.
  • This is only for bug report, if you would like to ask a question, please head to Discussions.
  • I have searched for existing issues search for existing issues, including closed ones.
  • I confirm that I am using English to submit this report, otherwise it will be closed.
  • 【中文用户 & Non English User】请使用英语提交,否则会被关闭 :)
  • Please do not modify this template :) and fill in all the required fields.

Dify version

1.11.3

Cloud or Self Hosted

Self Hosted (Docker)

Steps to reproduce

Image Image Image

As shown in the image above, after uploading an image using an image link in the workflow and clicking Run, an error is reported, which appears to be a validation error.

✔️ Expected Behavior

After uploading an image using an image link in the workflow and clicking Run, no error occurs.

Actual Behavior

No response

Originally created by @Moiyu1998 on GitHub (Jan 14, 2026). ### Self Checks - [x] I have read the [Contributing Guide](https://github.com/langgenius/dify/blob/main/CONTRIBUTING.md) and [Language Policy](https://github.com/langgenius/dify/issues/1542). - [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 [search for existing issues](https://github.com/langgenius/dify/issues), including closed ones. - [x] I confirm that I am using English to submit this report, otherwise it will be closed. - [x] 【中文用户 & Non English User】请使用英语提交,否则会被关闭 :) - [x] Please do not modify this template :) and fill in all the required fields. ### Dify version 1.11.3 ### Cloud or Self Hosted Self Hosted (Docker) ### Steps to reproduce <img width="481" height="902" alt="Image" src="https://github.com/user-attachments/assets/083136cf-5442-45ae-b7d0-1d1d326ea41b" /> <img width="1351" height="361" alt="Image" src="https://github.com/user-attachments/assets/24c6badf-9a85-4bc9-8d5f-267ca932f8a4" /> <img width="397" height="708" alt="Image" src="https://github.com/user-attachments/assets/1f487a65-ba26-4a04-a57e-89002afbd562" /> As shown in the image above, after uploading an image using an image link in the workflow and clicking Run, an error is reported, which appears to be a validation error. ### ✔️ Expected Behavior After uploading an image using an image link in the workflow and clicking Run, no error occurs. ### ❌ Actual Behavior _No response_
yindo added the 🐞 buggood first issue labels 2026-02-21 20:13:40 -05:00
yindo closed this issue 2026-02-21 20:13:40 -05:00
Author
Owner

@dosubot[bot] commented on GitHub (Jan 14, 2026):

The error happens because the backend expects a valid image URL string, but the workflow is sending a payload with missing or null fields (like 'id': None, 'url': None), which fails Pydantic validation for file URLs. This usually means either the image link isn't a fully qualified URL (must start with http:// or https://), or the environment isn't set up correctly for file links.

To fix this, make sure:

  1. The image link you paste is a complete URL (including http:// or https://) and contains no spaces or special characters.
  2. In your docker/.env file, set the FILES_URL variable to your Dify access address (for example, http://your-server-ip:port/ if you use a non-standard port).
  3. After updating FILES_URL, restart Docker with docker-compose down && docker-compose up -d.
  4. Avoid using localhost or proxies in your URLs—use the actual IP address.
  5. If you use Array[File] variables, add a list filter node between workflow nodes to handle arrays properly.

If you use plugins (like OpenAI or OpenRouter), make sure they're updated to the minimum required versions: Azure OpenAI >= 0.0.11, OpenAI >= 0.0.14, OpenRouter >= 0.0.6.

For more details and troubleshooting steps, see this discussion and this workflow upload guide. If the error persists, check the backend logs for details on file.url=None errors and confirm the backend can access the image URL (try curl or wget inside the container) source.

Let me know if you need help with a specific configuration or log output!

To reply, just mention @dosu.


How did I do? Good | Irrelevant | Incorrect | Verbose | Hallucination | Report 🐛 | Other

Chat with Dosu Open in Cursor Join Discord Share on X

@dosubot[bot] commented on GitHub (Jan 14, 2026): <!-- Answer --> The error happens because the backend expects a valid image URL string, but the workflow is sending a payload with missing or null fields (like `'id': None, 'url': None`), which fails Pydantic validation for file URLs. This usually means either the image link isn't a fully qualified URL (must start with `http://` or `https://`), or the environment isn't set up correctly for file links. To fix this, make sure: 1. The image link you paste is a complete URL (including `http://` or `https://`) and contains no spaces or special characters. 2. In your `docker/.env` file, set the `FILES_URL` variable to your Dify access address (for example, `http://your-server-ip:port/` if you use a non-standard port). 3. After updating `FILES_URL`, restart Docker with `docker-compose down && docker-compose up -d`. 4. Avoid using `localhost` or proxies in your URLs—use the actual IP address. 5. If you use Array[File] variables, add a list filter node between workflow nodes to handle arrays properly. If you use plugins (like OpenAI or OpenRouter), make sure they're updated to the minimum required versions: Azure OpenAI >= 0.0.11, OpenAI >= 0.0.14, OpenRouter >= 0.0.6. For more details and troubleshooting steps, see [this discussion](https://github.com/langgenius/dify/issues/26180) and [this workflow upload guide](https://github.com/langgenius/dify/issues/15847). If the error persists, check the backend logs for details on `file.url=None` errors and confirm the backend can access the image URL (try `curl` or `wget` inside the container) [source](https://github.com/langgenius/dify/issues/18954). Let me know if you need help with a specific configuration or log output! <!-- Dosu Comment Footer --> *To reply, just mention [@dosu](https://go.dosu.dev/dosubot).* --- <sup>How did I do? [Good](https://app.dosu.dev/response-feedback/7522e7e9-735c-446c-b483-dcb0e4862e85?feedback_type=great_response) | [Irrelevant](https://app.dosu.dev/response-feedback/7522e7e9-735c-446c-b483-dcb0e4862e85?feedback_type=irrelevant_answer) | [Incorrect](https://app.dosu.dev/response-feedback/7522e7e9-735c-446c-b483-dcb0e4862e85?feedback_type=incorrect_sources) | [Verbose](https://app.dosu.dev/response-feedback/7522e7e9-735c-446c-b483-dcb0e4862e85?feedback_type=too_verbose) | [Hallucination](https://app.dosu.dev/response-feedback/7522e7e9-735c-446c-b483-dcb0e4862e85?feedback_type=hallucination) | [Report 🐛](https://app.dosu.dev/response-feedback/7522e7e9-735c-446c-b483-dcb0e4862e85?feedback_type=bug_report) | [Other](https://app.dosu.dev/response-feedback/7522e7e9-735c-446c-b483-dcb0e4862e85?feedback_type=other)</sup> [![Chat with Dosu](https://dosu.dev/dosu-chat-badge.svg)](https://app.dosu.dev/6088a4f4-073a-43f3-b3d4-4f06fb0c05a0/ask?utm_source=github)&nbsp;[![Open in Cursor](https://dosu.dev/dosu-in-cursor.svg)](https://cursor.com/link/prompt?text=The%20error%20happens%20because%20the%20backend%20expects%20a%20valid%20image%20URL%20string%2C%20but%20the%20workflow%20is%20sending%20a%20payload%20with%20missing%20or%20null%20fields%20%28like%20%60%27id%27%3A%20None%2C%20%27url%27%3A%20None%60%29%2C%20which%20fails%20Pydantic%20validation%20for%20file%20URLs.%20This%20usually%20means%20either%20the%20image%20link%20isn%27t%20a%20fully%20qualified%20URL%20%28must%20start%20with%20%60http%3A//%60%20or%20%60https%3A//%60%29%2C%20or%20the%20environment%20isn%27t%20set%20up%20correctly%20for%20file%20links.%0A%0ATo%20fix%20this%2C%20make%20sure%3A%0A%0A1.%20The%20image%20link%20you%20paste%20is%20a%20complete%20URL%20%28including%20%60http%3A//%60%20or%20%60https%3A//%60%29%20and%20contains%20no%20spaces%20or%20special%20characters.%0A2.%20In%20your%20%60docker/.env%60%20file%2C%20set%20the%20%60FILES_URL%60%20variable%20to%20your%20Dify%20access%20address%20%28for%20example%2C%20%60http%3A//your-server-ip%3Aport/%60%20if%20you%20use%20a%20non-standard%20port%29.%0A3.%20After%20updating%20%60FILES_URL%60%2C%20restart%20Docker%20with%20%60docker-compose%20down%20%26%26%20docker-compose%20up%20-d%60.%0A4.%20Avoid%20using%20%60localhost%60%20or%20proxies%20in%20your%20URLs%E2%80%94use%20the%20actual%20IP%20address.%0A5.%20If%20you%20use%20Array%5BFile%5D%20variables%2C%20add%20a%20list%20filter%20node%20between%20workflow%20nodes%20to%20handle%20arrays%20properly.%0A%0AIf%20you%20use%20plugins%20%28like%20OpenAI%20or%20OpenRouter%29%2C%20make%20sure%20they%27re%20updated%20to%20the%20minimum%20required%20versions%3A%20Azure%20OpenAI%20%3E%3D%200.0.11%2C%20OpenAI%20%3E%3D%200.0.14%2C%20OpenRouter%20%3E%3D%200.0.6.%0A%0AFor%20more%20details%20and%20troubleshooting%20steps%2C%20see%20%5Bthis%20discussion%5D%28https%3A//github.com/langgenius/dify/issues/26180%29%20and%20%5Bthis%20workflow%20upload%20guide%5D%28https%3A//github.com/langgenius/dify/issues/15847%29.%20If%20the%20error%20persists%2C%20check%20the%20backend%20logs%20for%20details%20on%20%60file.url%3DNone%60%20errors%20and%20confirm%20the%20backend%20can%20access%20the%20image%20URL%20%28try%20%60curl%60%20or%20%60wget%60%20inside%20the%20container%29%20%5Bsource%5D%28https%3A//github.com/langgenius/dify/issues/18954%29.%0A%0ALet%20me%20know%20if%20you%20need%20help%20with%20a%20specific%20configuration%20or%20log%20output%21)&nbsp;[![Join Discord](https://img.shields.io/badge/join-5865F2?logo=discord&logoColor=white&label=)](https://go.dosu.dev/discord-bot)&nbsp;[![Share on X](https://img.shields.io/badge/X-share-black)](https://twitter.com/intent/tweet?text=%40dosu_ai%20helped%20me%20solve%20this%20issue!&url=https%3A//github.com/langgenius/dify/issues/30996)
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: langgenius/dify#21646