/Tool/Mind Map Generator · Dark Aurora / GIF / WebP / PNG
app icon

Mind Map Generator · Dark Aurora / GIF / WebP / PNG

Verified by Dify
No ratings yet
33
Z
zhangyu/si_wei_dao_tu_sheng_cheng_qi

Generate left-to-right ribbon mind maps from Markdown with a dark aurora theme by default, border-only animated GIF, lossless WebP, or PNG. Includes 17 selectable open-source fonts, real HarfBuzz shaping for Uyghur and Tibetan, top-to-bottom traditional Mongolian with left-to-right columns, automatic multilingual fallback, adaptive circles and horizontal/vertical ellipses, and output-size safeguards.

ProductivityImage

Ribbon Mind Map Generator

Turn hierarchical Markdown into a left-to-right mind map with colorful ribbon connections. Choose a dark or light theme, 17 bundled open-source fonts, and PNG, WebP, or animated GIF output.

Version: 0.0.23 · Chinese guide

What's new · Quick start · Parameters · Fonts · Troubleshooting

Font previews

These five examples show font styles introduced in 0.0.22 and retained in 0.0.23. Click an image to open the full-size example. Other scripts in the same image may use automatic font fallback.


Bad Script
Relaxed handwriting for Latin and Cyrillic text, including Russian and modern Mongolian in Cyrillic.

Yeseva One
A high-contrast display serif for Latin and Cyrillic text.

ZCOOL KuaiLe
A playful, hand-drawn Chinese display font.

Zhi Mang Xing
Expressive Chinese running-script calligraphy.

Tiejili SC
An angular display style for Chinese and Japanese text.

Try the multilingual stress test or the compact multilingual sample. The in those existing filenames identifies the test documents, not this release's plugin version.

What's new in 0.0.23

This release fixes blurry output from very tall mind maps.

  • Resolution can increase for tall, narrow maps. The old approximately 8,300-pixel long-edge limit could make different values produce the same small image. The renderer now limits total pixel area and remeasures the layout when the drawing scale changes.
  • PNG size reduction preserves resolution for longer. The encoder first compresses the image and removes redundant opaque alpha, then gradually reduces color precision if needed. It resizes the image only if those steps cannot meet the requested file-size limit.
  • Oversized WebP exports respect the format's dimension limit. Very long images may still need proportional resizing.
  • Both guides have been reorganized. Setup, parameters, font coverage, output limits, and troubleshooting are now separated.

A local 211-node regression example changed from 432 × 8,239 pixels to 1,933 × 35,612 pixels, using PNG, , and . This is a measured example, not a promised size for every input. Larger images require more time and memory.

The 17 fonts, font-size adjustments, font order, node-shape rules, themes, startup behavior, and single-image output remain unchanged. GIF retains its existing animation budget; use PNG for very large text-heavy maps.

Quick start

  1. Install this plugin from the Dify Marketplace. To install a downloaded release package, open Dify's plugin management and choose Install from local file, then select the .
  2. In a workflow, add the Mind Map Generator tool. Connect a text-producing node to its input.
  3. Start with the defaults: , , , , and .
  4. Connect the tool's files output to an Answer node or the workflow's file output. A successful invocation returns exactly one image file.
  5. Download the original image when you need to read a large map. A chat thumbnail is not the full-resolution view.

Paste this Markdown into the input for a first test:

Use headings and indented lists to express the hierarchy. The input must contain actual line breaks. If an upstream node returns JSON, extract and decode its text field instead of passing the entire JSON representation.

Connection requirements: no external rendering API, API key, or model call is required to generate an image. Rendering runs inside the Dify plugin runtime. Installation needs access to the Python packages declared in , or a suitable preconfigured package mirror. README images are external documentation assets and are not used during rendering.

Parameters

ParameterDefault / allowed valuesWhat it does
Required textMarkdown headings and lists to turn into a mind map.
Selects the preferred font. See the font table below. Missing characters can use another bundled font.
; also Sets the background and node color treatment.
; also , Selects the image format.
; range Requests a drawing scale. Larger values generally improve text detail, but pixel, format, and file-size limits still apply.
; range Maximum returned image size. The implementation uses MiB: 1,048,576 bytes per unit. A smaller limit may require fewer colors or fewer pixels.
Does not change the returned attachments. A successful run returns one image, without an additional Markdown file.
Automatically generatedOptional output filename. The image extension follows .

Recommended settings for large maps

These settings prioritize legible text within the supported limits. They do not remove the limits. Avoid choosing a very small when the input contains hundreds of nodes.

Choosing an output format

FormatBest useImportant limitation
PNGLarge maps, detailed text, and broad viewer compatibilityCompression is attempted first. If necessary, color precision is reduced and then the image is resized to fit .
WebPStatic images when the destination supports WebPThe final raster is encoded losslessly, but format dimensions and the requested file-size limit can require resizing before encoding. A WebP side cannot exceed 16,383 pixels.
GIFAnimated node borders on small or medium mapsText and connections stay static while borders change color. Frame, palette, and memory budgets can substantially reduce resolution on very large maps.

The canvas budget is 68,890,000 pixels, with an additional 65,500-pixel maximum side. These are upper bounds, not a requested output size. Font measurements and layout are recalculated at the actual drawing scale.

Fonts and language support

The selector groups Chinese-oriented fonts first, followed by Latin/Cyrillic options, Uyghur, Tibetan, traditional Mongolian, and other script-specific choices. Japanese and Korean are covered by the relevant East Asian fonts; they do not require separate language switches.

ValueFontPrimary use
Source Han Sans SCDefault sans serif; Chinese, Japanese, Korean, and supported Latin/Cyrillic characters.
Zhuque FangsongA traditional Chinese book style, with Chinese and Japanese coverage.
Fusion Pixel 12px ProportionalChinese, Japanese, and Korean in an intentionally pixelated style.
Tiejili SCAngular Chinese and Japanese display text.
Zhi Mang XingChinese running-script calligraphy.
ZCOOL KuaiLePlayful Chinese display text.
FreeSerifA serif option with broad coverage, including Latin, Cyrillic, Greek, Hebrew, Arabic, and several South Asian scripts.
Yeseva OneHigh-contrast Latin and Cyrillic display text.
Bad ScriptHandwritten Latin and Cyrillic text.
Noto Naskh ArabicUyghur in Arabic script, including joined letters and mixed right-to-left/left-to-right text.
Noto Serif TibetanTibetan, including stacked letter combinations.
Noto Sans MongolianTraditional Mongolian: top-to-bottom text, with columns progressing left to right.
Noto Sans LaoLao.
Noto Sans MyanmarMyanmar script.
Noto Sans KhmerKhmer.
Noto Sans TeluguTelugu.
Noto Sans KannadaKannada.

The selected font is preferred where it contains the required characters. Otherwise, the renderer tries the bundled fallback fonts. A mixed-language node can therefore contain more than one visual font style. Coverage depends on the actual bundled fonts; not every Unicode character is guaranteed.

Uyghur and Tibetan use HarfBuzz text shaping. Traditional Mongolian uses vertical layout. Modern Mongolian written in Cyrillic is different: choose a Cyrillic-capable font such as Bad Script, Yeseva One, or FreeSerif.

Source Han Sans SC is the complete official 2.005R font. Zhi Mang Xing, ZCOOL KuaiLe, and Tiejili SC retain their individual size adjustments so that their text does not look disproportionately small.

Node shapes and layout

  • The root node always uses the original rounded rectangle.
  • Each non-root node has a stable 50% selection chance of keeping the original rounded rectangle. The other 50% enters automatic selection among a circle, a horizontal ellipse, a vertical ellipse, and a rounded rectangle.
  • This is a per-node decision, not a promise that exactly half of every map will be rectangular. It is designed to stay stable for repeated renders of the same input and settings.
  • Shape sizing uses the measured text and padding. Ellipse proportions, connection endpoints, and node spacing adapt to the selected shapes.

The layout calculates text padding and node spacing from measured dimensions. This release does not change those rules. Extremely large GIFs still have limited text quality under the existing animation budget.

Troubleshooting

Increasing the scale still looks blurry.
Download the original and view it at 100% zoom, then scroll through it. Fitting a very tall image into one screen makes its text tiny. For large inputs, use the PNG settings above and check that is not forcing the image to shrink.

The image is still roughly the same file size.
File size is not a direct measure of sharpness. Pixel dimensions, font size in pixels, color complexity, compression, and the viewer's zoom all matter.

PNG is clearer than WebP or GIF for a very long map.
WebP has a stricter maximum side, and GIF must also fit multiple frames. Use PNG when readable text matters more than animation or compact delivery.

A workflow reports success but returns no image.
Check the tool's text output and plugin runtime logs. Verify that all declared Python dependencies installed successfully, including the text-shaping packages. A generic generation error does not by itself prove that the Markdown is invalid or that concurrency caused the failure.

Several parallel workflow branches take longer.
The existing renderer serializes expensive drawing work within a plugin process to limit memory use. Other branches may wait. This is not a global concurrency limit across separate plugin processes or replicas.

How large is the installation package allowed to be?
The unpacked plugin must remain below 50 MB. This release includes full font files and stays within that limit. is a separate setting for each generated image.

Release history

VersionSummary
0.0.23Tall-map clarity fix, revised PNG size reduction, oversized WebP handling, and reorganized English/Chinese guides.
0.0.22Full-font and multilingual expansion; distinct display fonts; font-size adjustments; language-oriented font ordering.
0.0.21Stable rounded-rectangle/adaptive-shape mixing for non-root nodes.
0.0.20 and earlierAdaptive node shapes, dark-border refinements, multilingual rendering, and static/animated output improvements.

Source, privacy, and licenses

  • Release packages and complete source inside each package
  • Example images and Markdown inputs
  • Privacy policy
  • Third-party font notices and licenses

The runtime is Python 3.12. Dependencies are declared in requirements.txt, including . Maintainers should install the declared dependencies and use the official Dify CLI to package the source; renaming a ZIP is not a substitute for packaging.

This is an enhanced derivative of sawyer-shi/dify-plugins-mind_map. Original work: sawyer-shi. This edition: Zhang Yu (zhangyuqz); contact: [email protected].

Plugin code is licensed under Apache License 2.0. LICENSE contains the full license; LICENSE-zhangyuqz is the short attribution notice for this edition, and NOTICE records modifications. Fonts have their own licenses: FreeSerif uses GPLv3 or later with the font exception; the other bundled font families use SIL OFL 1.1, with their required notices retained.

CATEGORY
Tool
VERSION
0.0.23
zhangyu·Updated a month ago
REPOSITORY
https://github.com/zhangyuqz/dify-plugins
REQUIREMENTS
LLM invocation
App invocation
Endpoint registration
Maximum memory
100MB
Maximum storage
100MB
Access domain

No outbound calls found

Security
Security Rating

Last checked 09/11/2026 09:19 AM · version 0.0.23

Give a rate
SHARE WITH