Edit Banana: turning static diagrams into editable DrawIO XML
Edit Banana: A framework for converting statistical formats into editable.
At a glance
- What is it?
- A Python framework from BIT-DataLab that reconstructs flowcharts, architecture diagrams and formulas as editable DrawIO XML using SAM 3 segmentation plus multimodal models. The repository README states the hosted service runs ahead of the public code, which changes how you should evaluate it.
- Who is it for?
- Adopt Edit Banana if your team already works in DrawIO and needs to recover editable structure from screenshots, scanned figures or exported PDFs, and you can accept that the public repository may lag the hosted service. Do not adopt it if you need a stable pinned release, a permissively licensed component for a closed product, or a pipeline that runs without GPU acceleration.
- Can I use it commercially?
- Yes, with strict conditions. AGPL-3.0 is a network copyleft licence: if people use a modified version over a network, for example as a hosted service, you must offer them its source code under the same licence.
- Is it still maintained?
- Yes. The repository last received commits 2 days ago.
- What is it written in?
- Mainly Python, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.
DEEP OPEN-SOURCE ANALYSIS
The problem Edit Banana targets: diagrams that exist only as pixels
Most diagrams people need to change arrive as images. A flowchart pasted into a slide, a screenshot of an architecture drawing, a figure lifted from a PDF. You can crop and rescale those, but you cannot move a box, restyle an arrow, or fix a typo in a label without redrawing the whole thing. Vector source is usually gone.
Edit Banana attacks that gap directly. The README describes it as a framework for converting statistical formats into editable content, and the online demo takes an uploaded image and returns editable DrawIO XML. The stated goal is to preserve the original layout logic, colour matching and element hierarchy, so the result is not a tracing exercise but a structured file you can keep editing in a tool you already use.
The audience is narrow and specific. It is for people who produce or maintain technical figures (research groups, documentation teams, anyone who has inherited a folder of diagram screenshots) and who already have DrawIO in their workflow. If you do not care about DrawIO XML as an output format, the value proposition mostly disappears.
How the pipeline works: segmentation first, then multimodal reconstruction
The README names two components. The first is a fine-tuned SAM 3 (Segment Anything Model 3) used for segmentation of diagram elements. The second is a set of multimodal large models that handle recognition and reconstruction. The architecture section of the README is listed in the table of contents, but the cleaned text available here cuts off before that section, so the exact ordering of stages, the number of model calls and the intermediate representations are not something I can confirm.
What the documentation does commit to is the output contract: editable DrawIO XML. That is a meaningful design choice. DrawIO files are XML with a documented shape vocabulary, so the reconstruction step has to map segmented regions onto named shapes, connectors and styles rather than emit free-form SVG. The README's conversion notes claim 1:1 restoration of shape stroke and fill, arrow styles including dashed lines and thickness, and text that is recognised accurately enough for direct editing.
There is also a human-in-the-loop path. The demo GIFs labelled manual repair and save locally suggest the intended workflow is not fully automatic. You generate a reconstruction, then fix the parts the models got wrong, then export. The README does not describe an API for scripted correction, so treat the repair step as an interactive one.
Getting it running: Python 3.10+, CUDA, and the README's install path
The repository is Python, and the badge in the README states Python 3.10 or later. A second badge marks CUDA as recommended, which is consistent with running SAM 3 and multimodal models locally. The README does not state a minimum VRAM figure, and I cannot supply one from this material.
The README lists an Installation and Setup section, a Usage section and a Configuration section in its table of contents. The cleaned text cuts off inside the Key Features list, so I do not have the literal pip command, the entry-point script name, or the configuration keys. Do not trust any command you see quoted elsewhere for this project until you have checked it against the repository itself.
What is verifiable from the material: the project publishes an online demo at editbanana.net, and the README carries an explicit warning that the GitHub repository currently trails behind the web-based service, recommending the web platform for the most up-to-date features and performance. That warning is the single most operationally important line in the README. It means the install path you follow from the repository may not reproduce what you saw in the demo.
Where Edit Banana breaks down, and when it is the wrong tool
The repository-versus-service gap is the first failure mode. If the hosted demo produces a clean reconstruction and your local checkout does not, the README has already told you why. Debugging that difference is on you.
Second, the output format constrains the input. DrawIO XML is a good target for box-and-arrow diagrams, flowcharts and layered architectures, which is what the four demo scenarios show. A photograph, a hand-drawn sketch with heavy occlusion, or a dense scientific plot with continuous axes is a different problem. The README's fourth scenario is a scientific formula, which suggests some tolerance for non-diagram content, but nothing in the material claims support for charts with data series.
Third, the model dependency is heavy. SAM 3 plus multimodal models means GPU memory, model weights and whatever inference stack those models require. There are no releases retrieved for this repository, so there is no versioned artefact to pin. For a team that needs reproducible builds, that is a real cost.
Fourth, the licence situation is genuinely confusing and worth flagging plainly. The repository metadata says AGPL-3.0. The README badge says Apache 2.0. Those are not compatible descriptions of the same grant, and the README also mentions commercial licensing as a contact reason. Resolve this before you build anything on top of it.
How Edit Banana differs from general image-to-vector and OCR tooling
The closest conventional alternative is a raster-to-vector tracer such as Potrace or the tracing built into Inkscape. Those tools work on pixel boundaries. They produce paths that follow the edges of dark regions, which means text becomes outlines, arrows become filled polygons, and nothing is semantically labelled. You get a scalable image, not an editable diagram. Edit Banana's segmentation plus VLM approach is aimed at the opposite outcome: a small number of named shapes with text properties attached.
A second alternative is document layout and OCR tooling, for example a PDF-to-structured-format converter or a service like Mathpix for formulas. Those handle text and equations well and diagrams poorly. They will not tell you that a rounded rectangle connects to a diamond with a dashed arrow.
The trade-off is that Edit Banana is doing more inference, so it has more ways to be wrong. A tracer never hallucinates a label. A VLM can. That is the core difference in approach, and it is why the manual repair step exists in the demo rather than being an optional extra.
Maintenance, releases and the licence question
The repository is not archived and the last push recorded is 2026-09-07. No releases were retrieved, which means there is no tagged version to depend on. If you vendor this, you are tracking main, and the README's own warning about the repository trailing the service makes that a moving target.
The licence needs to be settled before adoption, and I am not going to resolve it for you. The metadata field says AGPL-3.0. The README badge says Apache 2.0. AGPL-3.0 carries network-copyleft obligations that matter if you expose a modified version as a service; Apache 2.0 does not. The README also invites contact for commercial licensing, which implies the maintainers consider some uses to require a separate grant. Read the LICENSE file in the repository, check what it actually says, and get your own advice if the answer affects your product.
Maintenance cost otherwise comes down to model weights. Neither the size nor the hosting location of the fine-tuned SAM 3 weights is stated in the material available to me, so I cannot tell you what a fresh install downloads or how long it takes.
Who should adopt Edit Banana, and what to check first
Adopt it if you have a backlog of diagram images that need to become editable DrawIO files and you are willing to run a GPU-backed Python pipeline plus a manual correction pass. The four demo scenarios (flowchart, multi-level architecture, technical schematic, scientific formula) are a fair description of the intended input class, and the output format is one that a lot of engineering teams already use.
Do not adopt it if you need a pinned release, if your deployment target has no CUDA-capable GPU, if your diagrams are data charts rather than box-and-arrow figures, or if AGPL-3.0 obligations would conflict with how you ship. The README's own warning that the repository trails the web service is a strong signal that the public code is not the primary product.
Before you commit, do three things. Read the LICENSE file and reconcile it with the Apache 2.0 badge in the README. Open the Installation and Configuration sections in the repository itself rather than relying on any summary, since the text available here stops before them. And run one diagram from your own backlog through the hosted demo at editbanana.net first, because that is the version the maintainers say is most current, and it will tell you within a few minutes whether the reconstruction quality is good enough to justify the local setup.
Editorial conclusion
Adopt Edit Banana if your team already works in DrawIO and needs to recover editable structure from screenshots, scanned figures or exported PDFs, and you can accept that the public repository may lag the hosted service. Do not adopt it if you need a stable pinned release, a permissively licensed component for a closed product, or a pipeline that runs without GPU acceleration. Before committing, verify the actual licence file in the repository against the AGPL-3.0 metadata, confirm the model weights and their download terms, and check whether the README's configuration keys still match the code on main.
Community notes