Product Updates

Media Management with Unsplash Integration: A Complete CMS Guide

Eray Gündoğmuş
Eray Gündoğmuş
·5 min read
Share
Media Management with Unsplash Integration: A Complete CMS Guide

Managing media alongside translations has always been an afterthought in most i18n tools. You translate the text, then manually handle images in a separate system — downloading, re-uploading, linking. Better i18n takes a different approach: media is a first-class citizen of your content workflow.

In this guide, we walk through how Better i18n's media management works, from basic uploads to the built-in Unsplash integration and R2 edge storage that powers it all.

Four Upload Types for Every Use Case

Not all images serve the same purpose, so Better i18n provides dedicated upload flows for each context:

Profile Avatars

Every team member can upload a profile photo from their account settings. The image is automatically processed, resized, and stored. Avatars appear across the dashboard, activity feeds, and content attribution — so your team always knows who made what change.

Organization Logos

Your organization's brand logo is uploaded once and used across dashboards, email notifications, and any public-facing pages. When your branding changes, update it in one place and it propagates everywhere.

AI Chat Images

Working with Better i18n's AI translation agent? You can upload images directly into the chat for visual context. This is especially useful when you need to show the agent a screenshot of your UI so it understands the spatial context of the strings being translated.

Content Media

This is the most versatile upload type. When you are editing a CMS entry — a blog post, a changelog item, a marketing page — you can attach images directly to the entry. Content media files are linked to their parent entry, making it easy to track which images belong where.

Unsplash Integration: Search, Select, Done

One of the most common content tasks is finding a good image. Better i18n integrates Unsplash directly into the content editor, so you never need to leave your workflow.

Here is how it works:

  1. Open the media picker in any content entry's media field or featured image.
  2. Search Unsplash by keyword. Results appear instantly — high-quality, free-to-use photos from Unsplash's library of over 3 million images.
  3. Select your image. One click triggers an automatic download.
  4. Automatic R2 storage. The selected image is downloaded from Unsplash and uploaded to your project's R2 bucket. The URL is saved to your content entry.

The key benefit: your images are served from your own infrastructure, not from Unsplash's CDN. This means no dependency on third-party uptime, consistent performance, and full control over your assets.

R2 Storage: Fast, Global, No Egress Fees

Every image uploaded to Better i18n — whether from your device, a team member's avatar, or an Unsplash search — is stored on Cloudflare R2.

Why R2? Three reasons:

  • Edge delivery. R2 serves files from Cloudflare's global network of data centers. Your images load fast regardless of where your users are located.
  • Zero egress fees. Traditional cloud storage providers charge you every time someone downloads a file. R2 does not. This is significant for content-heavy sites with global audiences.
  • Reliable URLs. Every uploaded file gets a permanent, stable URL. Use it in your templates, your API responses, or your static site generator — it will keep working.

The CMS Media Field Type

If you are building content models in Better i18n's headless CMS, the Media field type is how you connect images to entries.

When you add a Media field to a content model, entry editors can:

  • Upload an image from their device
  • Search and select from Unsplash
  • See an inline preview of the attached image
  • Optionally set different images per locale (useful when a screenshot shows localized UI)

This field type integrates with the same R2 storage pipeline as all other uploads. No separate media library to manage — everything flows through one system.

Practical Example: Adding a Cover Image to a Blog Post

Let us walk through a real scenario. You are writing a blog post about your product's new dashboard redesign.

  1. Create a new blog post entry in Better i18n's CMS.
  2. Write your title, body content, and excerpt.
  3. Click the featured image field.
  4. Search Unsplash for "dashboard design" or upload your own screenshot.
  5. Select the image. It is automatically stored on R2 and linked to your post.
  6. Translate the post into other languages. The featured image carries over, or you can replace it with a locale-specific screenshot.
  7. Publish. The image is served from R2's edge network worldwide.

No separate media upload step. No broken image links. No third-party CDN dependency.

What This Means for Your Workflow

Media management in Better i18n is designed to disappear into your content workflow rather than adding steps to it. Upload types are purpose-built for their context, Unsplash is integrated where you need it, and R2 handles the storage and delivery without configuration.

Whether you are managing a multilingual blog, a documentation site, or a product marketing page, your images are handled the same way your translations are — in one place, with one workflow.

Media management is available on all Better i18n plans. If you are already using the CMS, you are ready to start uploading.