This happens because your context site is "**shell**" . You need to switch to **website** site using : using (new SiteContextSwitcher(Factory.GetSite("website"))) { url = MediaManager.GetMediaUrl(mediaItem); }