Skip to content

Tools · Media

Resize, crop or trim a file without uploading it.

Choose a video, a picture or a recording and pick the change on a short form. Media shows a written plan, makes nothing until you confirm, and saves a separate file. Your original is never altered. No model is involved.

Why this exists

Shrinking a video, resizing a picture or cutting the start off a recording are small jobs that often mean uploading the file to a website or a chatbot. The work itself is ordinary code that has existed for years. Media runs that code on my own computer.

For a few days it also had a language model, so that I could type what I wanted in plain words instead of learning the settings. I took it out. A form that offers a few sizes fitted to the file does the same job in one press. What I tried and why it went is below.

What goes in and what comes out

Goes in
One video or recording at a time, or up to 100 pictures. A short landscape MP4 video, JPEG or PNG pictures, or a WAV or MP3 recording.
Video
A smaller copy at 1080p, 720p, 480p or 360p. The whole frame, the full length and the sound are kept. A size larger than the clip cannot be chosen.
Picture
A smaller copy with its longest side at a size you enter, or fitted inside a width, a height or both, keeping the whole picture. Or a crop from the centre to an exact size, with the edges it would cut off shaded on the picture first. Any of these can be made black and white. The form offers a few sizes that fit the picture, such as “Longest side 1200”; pressing one fills in the numbers for you to change.
Recording
The part between a start and an end time. Type them, or play the recording and take either from the player. Leave the start empty to keep from the beginning, or the end empty to keep to the end. The form also offers the first or the last so much of the recording, and plays the part you have chosen before you make it. The sound is not re-encoded, so nothing is lost in quality.
The plan
Says exactly what will be made, including the size in pixels or the times kept. It appears as you choose the settings and changes when they do. Nothing is made until you press Create copy.
Comes out
A separate file. Media checks it against the plan before offering it. Those checks are mechanical, so look at it or listen to it yourself.

Models used

None. Every change to a file is ordinary code: FFmpeg 8.1.1 for video and MP3, Pillow 12.3.0 for pictures, and plain Python for WAV. Checking the plan and checking the result are ordinary code too. Normal use downloads nothing and sends nothing.

The model I took out

For a few days in October 2026 Media had a box to type a request in, such as “fit inside 800 x 600 and make it black and white”. A few plain rules read the simplest wording, and a language model on my computer, Qwen3 4B in a 2.5 GB file, read the rest and picked settings from a fixed form. It never saw the file and could not write a number of its own.

It worked. On 102 requests written by AI models that asked for something Media can do, it filled in the right settings for 82. It also filled in a wrong setting 6 times in 144 requests, without saying so. Once it put a height in the width box.

Then I added example requests under the box, each one a wording that was sure to be read. Typing an example is no easier than pressing it, so the examples were doing the model’s job. A form with those sizes on it does the same in one press, cannot fill in something I did not choose, and does not need 2.5 GB.

Before taking it out I tried nine smaller models, from 0.25 GB to 1.3 GB, on the same requests. The best filled in the right settings for 57 of the 102 and a wrong one 7 times. The ones that made fewer mistakes read hardly more than the plain rules did, and one failed on every request. So the choice was the 2.5 GB model or none, and I chose none.

Keep in mind: every one of those requests was written by an AI model, each model had one run, and the form the models filled in was written with the 2.5 GB one in front of me. The request box still exists in the code and appears if a model is set up; the app I use is built without one. The second study has the earlier comparison of rules and models.

What has been checked

Automated tests run on invented pictures, sounds and one invented video clip.

I played back one video copy at 720p and passed it. The other three sizes have had mechanical checks only. I looked at six resized copies of invented test pictures and listened to six trimmed copies of invented test sounds, and passed them all. Cropping and black and white have had mechanical checks only.

The form’s sizes, the one-sided limit, the empty start or end, the times taken from the player, the plan that follows the settings and the shading of a crop have automated tests on those invented files, in one browser. Nothing else about the form has been checked yet.

Known limits

Availability

Not available to download yet. Media runs in the development Kettle app on my Mac, and as its own page. There is no public installer or source download at present.