Skip to main content

image2editable

中文 | English

Images, PDFs, and image-based PPTX → Editable PPTX

Python 3.10–3.12 License Platform

image2editable workflow

image2editable turns images, PDFs, and screenshot-based PowerPoint slides into PowerPoint files that can be edited again. It is designed for courseware screenshots, design mockups, report pages, and image-based slides, reducing the work of recreating a page from scratch.

After conversion, you can edit recovered text, move separated visual elements, and keep refining the page in PowerPoint. When processing a mixed PPTX, existing editable content is retained in the file.


Conversion examples

Source Editable result
Source 1 Conversion result 1
Source 2 Conversion result 2
Source 3 Conversion result 3

For the best visual result in a 16:9 PowerPoint deck, use a 16:9 input image when converting a single image.

Features

Capability What it does
Editable text Recovers readable text as native PowerPoint text boxes whenever possible.
Movable visual elements Separates independently processable visuals into transparent image components that can be moved or replaced.
Mixed PPTX preservation Native text, shapes, tables, charts, notes, and z-order that are not rebuilt remain unchanged.
Multiple inputs Supports images, image directories, PDFs, image-based PPTX files, and mixed PPTX files.
Batch conversion Converts multiple images or document pages into a multi-slide PPTX in order.
Quality gates Makes up to five repair rounds per page and stops early when quality does not improve; only reconstructed results that pass the quality gates are marked complete as editable conversions.

Before you start

  • This is a tool for rebuilding existing pages into editable PowerPoint files. It does not create a new presentation from an article or outline.
  • ⚠️ Complex visuals are usually kept as movable image components. Their internal elements are not guaranteed to become native PowerPoint shapes.
  • 🔒 Host Agent mode may send diagnostic images to the current host service. Before processing sensitive files, verify that the host service's data policy meets your requirements.

Quick start

Install with the skills CLI

npx skills add DSY-Xueai/image2editable --skill image-to-ppt

Let an Agent install it

Install the <image-to-ppt> skill from https://github.com/DSY-Xueai/image2editable.

After installation, describe the task to an Agent that supports vision, file access, and tool calls. Images, PDFs, and .pptx files can be pasted or attached in the chat, or provided as local paths:

# Codex
$image-to-ppt Convert input.pptx to an editable PPTX and preserve native objects that are not selected for reconstruction.
$image-to-ppt Convert input.png to an editable PPTX.
$image-to-ppt Convert <input.pdf> to an editable PPTX.

# Claude Code
/image-to-ppt Convert input.pptx to an editable PPTX and preserve native objects that are not selected for reconstruction.
/image-to-ppt Convert input.png to an editable PPTX.
/image-to-ppt Convert <input.pdf> to an editable PPTX.

With a full repository or an installed image2editable Runtime, the Skill automatically prepares the pinned dependencies, OCR, and runtime models, then completes the conversion through the current Host Agent. A standalone Skill installation requires absolute local paths in SAM2_MODEL, LAMA_MODEL, and GROUNDING_DINO_MODEL; if any path is missing, the Skill lists the missing variables and stops.

Project layout

image2editable/
├── .claude-plugin/            # Claude Code plugin manifest
│   └── plugin.json
├── .github/                   # CI, issue forms, and PR template
├── docs/
│   └── images/                # README image assets
├── image2editable/            # Unified CLI, runtime, and conversion modules
├── scripts/                   # Recognition, reconstruction, and PPTX/PSD assembly modules
├── skills/
│   ├── image-to-ppt/          # Installable image-to-PPT Skill
│   └── image-to-psd/          # Compatible image-to-PSD Skill
├── tests/                     # Automated tests
├── third_party/
│   └── licenses/              # Third-party license materials
├── .gitignore
├── CITATION.cff               # Citation information
├── image_to_ppt.py            # Legacy image-only pipeline; not the recommended entry point
├── image_to_psd.py            # Compatible image-to-PSD entry point
├── LICENSE                    # MIT license
├── pyproject.toml             # Python package and CLI configuration
├── README.md                  # Chinese documentation
├── README_EN.md               # English documentation
├── requirements.txt           # Core dependencies
└── THIRD_PARTY_NOTICES.md     # Third-party dependency and license notices

Known limitations

  • ⚠️ Review complex pages manually. Decorative text, dense tables, gradients, and complex illustrations may not be restored pixel for pixel. Check text, component positions, and layout before delivery.
  • Clear text and regular backgrounds generally reconstruct more reliably. Decorative text, dense tables, gradients, and complex illustrations are not guaranteed to match pixel for pixel.
  • 💳 Host Agent consumes the current model's token/context allowance. Complex pages may require several diagnostic and repair rounds; actual usage depends on the Agent, model, and page complexity.
  • ⏱️ Multi-page PDFs, complex pages, and high-resolution images take longer. Each page goes through OCR, visual separation, reconstruction, and quality checks, with up to five repair rounds. Host mode also waits for Agent visual decisions.

Supported inputs

Input Recommended route Notes
Images or an image directory Skill PNG, JPG/JPEG, BMP, TIFF/TIF, and WebP are supported. Directories scan images in the first level only.
PDF Skill Pages are rendered and rebuilt into a multi-slide PPTX in order.
Image-based or mixed PPTX Skill Processable image pages are selected for reconstruction; unmatched native objects stay unchanged.

See THIRD_PARTY_NOTICES.md for third-party dependencies and licenses, and CITATION.cff for citation information.

License

MIT

Metadata

Release files for image2editable 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for image2editable 0.2.0
File Size Uploaded Provenance Actions
image2editable-0.2.0.tar.gz 680.8 kB Without provenance Details for image2editable-0.2.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for image2editable 0.2.0
File Interpreter ABI Platform Actions
image2editable-0.2.0-py3-none-any.whl Python 3 none any Details for image2editable-0.2.0-py3-none-any.whl

Total release size: 1.0 MB

Release files / image2editable-0.2.0.tar.gz

Download URL image2editable-0.2.0.tar.gz
Size 680.8 kB
Tags Source
SHA-256 checksum
How to use checksums
3974cf97fcbb4782f50109cdd2183584fe7ffb2159cca88710846483b3da5c52
BLAKE2b-256 checksum
How to use checksums
bde3d3afa81ab35ba3939679807dc52b57b500f1788edc49bedc1f4fccd9ea5e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.6

Release files / image2editable-0.2.0-py3-none-any.whl

Download URL image2editable-0.2.0-py3-none-any.whl
Size 365.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ee1e166d4d74bd12996aa92977b32caeba15d3741d5b7c5ac50a3ceba6fb70ee
BLAKE2b-256 checksum
How to use checksums
e26fd2c1e9a8d071292ea10eb0b1760ed4fc9ed09ee6108c04346155bc2c0f08
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.6

Security for image2editable 0.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page