Skip to main content

[verdict][curated prompt][source: filechanger.io]

Can I vibecode FileChanger?

// one session, and a personal version you can actually use

The conversion is other people's software. Pandoc, ImageMagick and FFmpeg do the actual work, the format list looks enormous because those three projects are enormous, and a coding agent can wire all of them behind an upload form and a REST endpoint in one sitting. What a subscription buys is not the conversion, it is somebody else running a box that eats untrusted files from strangers all day without falling over, and keeping a few hundred format pairs working after every upstream release. Point it at your own files on your own machine and most of that risk simply is not yours, which is why this one is a yes.

confidence: high

what it is: One API call converts documents, images, audio and video between a few hundred formats

Buildability index · an editorial game

Indice: plus 2. worth trying

The maths works, but not by much: look at what you lose before you start.

Gioco editoriale: il verdetto dice se un agente può, l’indice se conviene.

// free tier: The free tier is real and permanent: 200 MB each of documents, images and audio per month, 50 MB of video, and API keys plus MCP access included.

What you build

Accept a file, shell out to pandoc, ImageMagick or FFmpeg depending on what it is, and hand the converted bytes back over HTTP or MCP.

what you need

  • pandoc
  • FFmpeg
  • ImageMagick
  • LibreOffice headless for Office formats
  • Typst or a LaTeX install if you want PDF out

Submitted by the person who runs FileChanger, so the verdict is deliberately the unflattering one: the engines are all open source and the DIY build is a sitting. Pricing checked 2026-08-07.

The prompt

One session with a coding agent and your version runs.

One-shot prompt EN
Build me a personal file conversion service in an empty repo. Requirements:

- Python 3.12, FastAPI, uv for dependencies, SQLite for job state. One process,
  no broker, no microservices, no alternative stacks.
- Never write a converter. Shell out to pandoc for markup and documents,
  LibreOffice headless for Office, ImageMagick for images, FFmpeg for media.
- POST /convert takes a file, a source and a target format and returns the bytes
  below a size threshold set in config. Above it the same route returns a job
  id, GET /jobs/{id} reports its state and GET /jobs/{id}/result streams the
  file. One background worker thread is enough, do not add Celery.
- Build the format matrix at startup from `pandoc --list-input-formats`,
  `--list-output-formats`, `ffmpeg -formats` and `magick -list format` rather
  than hardcoding it, and serve it at GET /formats.
- Treat every upload as hostile: convert in a temp dir with a wall-clock
  timeout, an output size cap and no network, then delete the inputs whether it
  worked or not. Log the failing command and its stderr, never return either.
- Ship an MCP server over stdio using the official Python SDK, exposing convert
  and formats as tools so agents can convert without going through HTTP.
- Authenticate with API keys stored hashed in SQLite. Show the plaintext once at
  creation and support revocation.
- One HTML page, no JS framework: pick a file, pick a target from /formats,
  download the result.
- One Dockerfile installing pandoc, typst, libreoffice-core, imagemagick and
  ffmpeg, a compose file with a volume for the database, config in .env and a
  committed .env.example.
- Out of scope: accounts, billing, metering, quotas, telemetry, multi-tenancy
  and any hosted control plane.
- Test one round trip per engine (Markdown to PDF, PNG to WebP, WAV to MP3), an
  oversized upload and a conversion that hits the timeout. README covers setup,
  formats, security assumptions and where data lives. Finish by running the
  tests and listing the commands used.

Curated prompt: written and reviewed by hand for this app. In English on purpose — it is the language coding agents work best in.

What you lose

  • sandboxing, because your version runs files straight through the same toolchain as everything else on the machine
  • the long tail of format pairs, where the fix is usually a missing font, a filter flag or an upstream bug
  • queueing and timeouts for large video, which is where the compute bill actually lives
  • a hosted MCP server and API keys your other tools can reach from anywhere, not just from localhost
  • somebody else being on call when a LibreOffice or LaTeX upgrade quietly breaks PDF output

Why people still pay

Nobody pays for the conversions that work. They pay for the awkward ones: the DOCX with tracked changes, the HEIC nobody can open, the MXF from a camera, the 4 GB video that has to finish while a browser tab is still open. Doing those reliably means keeping a toolchain installed, patched and fenced off from the files it is fed, and doing it for other people means doing it while strangers upload whatever they like. That upkeep is the product. The convert button is a weekend.

moat: Execution quality Infrastructure scale what a moat is

the format long tail and the cost of running an untrusted-file box in public. Nothing structural.

Free alternatives

Not in the mood to build it? These already exist, they are free or open source, and we checked them one by one.

Who has already built it

Starting from here is still vibecoding: the prompt is for when you want it exactly your way.

Do you agree?

The vote balance

Ancora nessun voto: il tuo è il primo.

Nessun voto ancora — il primo pesa.

Related apps

Distribuzione dei verdetti n = 996

YES 153 — il verdetto di questa app KIND OF 451 NOT REALLY 392

From a Confusing Brief to a Complete UX/UI A vague brief becomes a navigable app. Product Ad From a Single Photo A photo becomes an animated ad, no code required. Get Claude to Watch Your Videos Claude watches your videos and turns them into text. Higgsfield Inside Claude Code Generate images and video while you code in Claude Code. Turn a Loom Recording Into a Web Page A screen recording becomes a web page, no code. Vertical Shorts With NotebookLM Your sources become a vertical short. Luxury Landing Pages on Lovable A luxury landing page from a single prompt. Excalidraw Running Locally Excalidraw free on your computer, no code. Mistral OCR in Your Workflow Extract text from documents with Mistral OCR. Claude SEO in the Terminal 25 free SEO skills inside Claude Code. Google Search Console inside Claude Code Search Console data inside your terminal. Claude Code Routines Claude working on its own, computer off. Clone a Landing Page in React With v0 Clone a real landing page into React code. Context Economy With Claude Work light and don't burn through Claude's limits. From Prompt to Self-Improving Skill Claude skills that learn from your mistakes. From NotebookLM to Canva: Presentations NotebookLM slides, finally editable in Canva. The Map for Understanding Every AI Tool 12 categories for placing any AI tool. Transparent PNGs With ChatGPT Real transparency, not a fake checkerboard. Animated Infographics With Gemini Infographics that loop, animated with Gemini. Market Research With Deep Research Deep Research as your market analyst. Get Cited by AI Search Engines (AEO) Become a source that ChatGPT and Perplexity cite.