I have a File model and of course files table for uploaded files. They are separated by a "type" column and are used in different places like gallery and player.
id | name | type | mime ...
--------------------------------------
0 | nature | image | image/jpeg
1 | desert | image | image/jpeg
2 | jazz | audio | audio/mp3
3 | pop | audio | audio/mp3
I decided to used them separated and so I did. But after a while I needed videos and documents too. I had to create for each type new model, controller and views, which was not quite convenient. So my decision changed. I guess it would be better to use only file model for all media types.