Skip to content
Tech News
← Back to articles

Reconstructing a Mixbook movie from its data API with FFmpeg

read original get FFmpeg Video Editing Suite → more articles
Why This Matters

This article highlights how users can reverse-engineer a service that does not natively support content downloads, emphasizing the importance of understanding API interactions and client-side rendering in modern web applications. It underscores the potential for consumers and developers to access and retrieve data even when platforms intentionally restrict direct downloads, raising questions about data portability and user rights in digital services.

Key Takeaways

Reconstructing a Mixbook Movie with ffmpeg

Mixbook emailed me to say my animated project was ready: a short movie built from my photos and set to music. I could watch it in the browser or order a printed copy. I could not download it. There is no download button, and Mixbook's help docs say one does not exist.

I wanted the file. Getting it became a small reverse-engineering exercise, because the reason there's no download button is more interesting than a missing feature. There is no video file to download. Your browser builds the movie frame by frame every time you press play.

One caveat up front: this was my own project, reached through my own shareable view link. Everything below is about getting your own memories out of a service that offers no export. None of it touches anyone else's content.

The First Dead End: No File in the Page

The obvious move is to open the project page and look for a video URL in the HTML. That fails for two reasons.

First, the editor URL is private. Fetching it without a logged-in session returns 403 Forbidden :

https://www.mixbook.com/memories/edit?pid=123456 → 403

Second, the public share link contains no video either. The shareable preview URL carries a view key ( vk ), the access token for read-only viewing:

https://www.mixbook.com/memories/preview?pid=123456&vk=YOUR_VIEW_KEY

... continue reading