Migration guide

Move media from Cloudflare Images and Stream to FileSpin

Move to FileSpin with every image and video reconciled and a working delivery route. Start with a product launch: manage the original and its metadata, review it with the team, deliver image variants and video, then confirm that a replacement reaches the page.

There are two ways to run the move. Both start with an inventory and a representative sample before the full transfer.

Assisted migration
We provide the necessary tools to migrate assets from on-premise and cloud storage while your technical team runs the migration, including metadata mapping, import and validation.
Managed migration by FileSpin
The FileSpin team carries out the migration: source extraction or export coordination, field mapping, import, validation and cutover support. Your team grants source access and signs off the result.
Four migration stages, retrieve, map and import, validate and cut over, showing who carries out each one in an assisted migration and in a managed migration by FileSpin
Who carries out each stage in an assisted and a managed migration.

1. Retrieve the source files and records

Hosted Images, remote-origin images, R2 objects and Stream videos are inventoried separately. A read-only API token lists hosted image IDs and metadata, and each original is exported through the Images blob endpoint. Remote-origin and R2 originals are copied from that storage. Stream doesn’t return the uploaded file, so the video masters you keep are imported where you have them. Otherwise, Stream’s downloadable MP4 for each video becomes the migration file.

Retrieval uses an authorised source account, with credentials kept out of exports, screenshots and public URLs. Each completed inventory page and download is saved, so interrupted work resumes where it stopped, and expired download links are refreshed.

2. Create a manifest you can reconcile

One record per source file or retained version: source system, asset ID, file or version ID, original name, source path, file type, bytes, a checksum recorded at download, tags, custom metadata, collection membership, rights information and source update time. The FileSpin asset ID and transfer status are added as work progresses.

Original files are kept separate from thumbnails and delivery renditions. Every exception, such as a missing original, a restricted download or an unsupported format, is listed with its resolution.

3. Map what moves and what gets rebuilt


Part of the library

What happens

Originals

Authorised source files downloaded and reconciled against the manifest

Metadata

Hosted image IDs and metadata map to FileSpin records. Variant definitions, source URLs and Stream video IDs are kept in the migration record, and business data from your application database maps to FileSpin schemas.

Collections

Collections built from your business data

Versions

The revisions you keep, retrieved alongside the current files

Access

Roles, private delivery and review workflows set up in FileSpin

Delivery

Image URL parameters, named variants, player embeds and signed-access rules are rebuilt for FileSpin, while Cloudflare DNS, security and unrelated Workers stay as they are.

History

Delivery analytics stay in Cloudflare; FileSpin records delivery and share analytics from cutover

An illustrative Cloudflare record (Images ID, variant, metadata, original, Stream UID and origin) mapped to a FileSpin record in the E-Commerce schema with SKU 31077 and season SS27, and the collection recreated with the destination asset IDs
A Cloudflare record (synthetic example) mapped to the imported FileSpin asset.

4. Import and check a sample

The sample includes several file types, a multi-value metadata field, an asset in more than one collection, a retained revision and restricted content. Files are loaded, FileSpin IDs recorded, mapped metadata applied and relationships rebuilt.

In an assisted migration, your team stages the retrieved files with the tools we provide and loads metadata through the mapping. In a managed migration, the FileSpin team carries out these steps.

The sample passes when:

  • The correct file and intended version opens in FileSpin.
  • Required fields, types and controlled values match the mapping.
  • Collection membership counts match and related assets resolve.
  • Version records and current files match the scope.
  • An authorised user gets access and an unauthorised user is refused.
  • A content owner finds the selected assets by business fields and completes a review.
  • Real pages, players and feeds return the intended output, including after a replacement.
  • A test campaign link and a share download appear in Delivery Insights and Share analytics.
  • If agent work is included, its first run touches only the selected assets, stays within budget and reports its outcome.
  • Every exception is listed and resolved before the full run.
FileSpin Overview showing users, assets, collections, shares and total storage used
FileSpin Overview: compare asset and collection counts with the source inventory.
FileSpin AI Usage account ledger listing credit grants and debits with amount, running balance and operation source
AI Usage ledger: credits used by each agent run, for the budget check.

Cloudflare migration questions

Do our Cloudflare URLs keep working?
No. Cloudflare Images and Stream URLs are served by your Cloudflare account, so the migration switches each reference to a FileSpin URL using the manifest. Variants and URL options are rebuilt as FileSpin outputs, and player embeds point to FileSpin video. Originals in R2 or your own origin are copied straight from that storage, and Cloudflare DNS, security and unrelated Workers stay as they are.
Can we keep working in Cloudflare during the migration?
Yes. Your applications keep serving from Cloudflare while the transfer runs, and new uploads continue as usual. A refreshed inventory of Images and Stream picks up new items in the final sync before each route switches.
Do metadata and folders come across?
Yes. Hosted image IDs, their metadata and Stream video names come across with each file and map to FileSpin records. Cloudflare Images keeps metadata small and has no folders, so business data from your application database maps to FileSpin schemas and collections in the same pass, giving editors fields to search and organise by.
Do we need to run the migration ourselves?
No. In a managed migration, the FileSpin team carries out the transfer. In an assisted migration, we provide the tools and your technical team runs it. Either way, you provide a Cloudflare API token with read access to Images and Stream and permission to enable MP4 downloads, plus read access to R2 or any other origin storage.

5. Cut over

1. Set the switch-over
Agree when FileSpin becomes the system of record and how new uploads and replacements are handled.
2. Final sync
Pick up the last changes through the source’s change mechanism or a refreshed inventory, import them and reconcile counts.
3. Switch one route first
Move a selected collection or application route to FileSpin, then test public output and protected access.
4. Expand and retire
Keep the source available through the recovery window, with a rollback for each route, then expand and retire it.

6. Sign off the result

  • Every in-scope source file has a destination ID or an accepted exception.
  • Required metadata, relationships, versions and access controls pass the agreed checks.
  • Applications use the intended delivery route and updates appear correctly.
  • The exception report, ownership map and recovery procedure are handed over.
Reconciliation report for four synthetic Cloudflare assets: source IDs beside FileSpin asset IDs, file, metadata and collection checks, and one exception where the SKU was joined from the application database
Reconciliation report with synthetic source records: one row per source asset, its FileSpin ID and checks, and the exception resolved before sign‑off.

Plan your Cloudflare migration with FileSpin. Tell us the size of your library, the history you need and the systems it feeds, and we’ll scope an assisted or managed migration with you.