Video processing and creation

# Import, encode, and republish Vimeo videos safely

Import an existing Vimeo rendition, normalize it to a controlled MP4, and export a new private Vimeo video for review or migration.

Published September 1, 2026

## Key takeaways

* Define whether the job is an account migration, controlled republish, or derivative experiment before copying anything.
* Import a bounded Vimeo page and select the source rendition deliberately.
* Create a known MP4 derivative instead of assuming the imported rendition meets the new delivery policy.

A Vimeo-to-Vimeo pipeline is useful during account consolidation, controlled republishing, or a codec-policy refresh, but it is not a magic in-place transcode. The import downloads a selected rendition and the export creates another video. Treat that as a migration with explicit identity, review, and rollback rather than as a harmless format update.

## In this guide

1. [Decide what the new Vimeo record represents](#vimeo-import-encode-republish-workflow-section-1)
2. [Choose the imported rendition deliberately](#vimeo-import-encode-republish-workflow-section-2)
3. [Build the private republishing Template](#vimeo-import-encode-republish-workflow-section-3)
4. [Reconcile metadata and platform features](#vimeo-import-encode-republish-workflow-section-4)
5. [Control concurrency and retries](#vimeo-import-encode-republish-workflow-section-5)
6. [Complete cutover without losing rollback](#vimeo-import-encode-republish-workflow-section-6)

## What matters most

* Export with restrictive Vimeo access until metadata and playback are verified.
* Record source and destination video identifiers so reruns do not create invisible duplicates.
* Throttle and retry around destination API limits without restarting successful exports.

## Decide what the new Vimeo record represents

A Vimeo import followed by a Vimeo export creates a new destination video. Define whether that record replaces a source in another account, represents a newly governed rendition, or is only a private experiment. Without that purpose, the workflow produces duplicates whose ownership and audience are unclear.

Create an application migration record before starting. Store the source account and video identity, selected rendition, destination account, intended metadata, workflow version, Assembly ID, and resulting Vimeo identity. That mapping is the foundation for deduplication, review, and rollback.

## Choose the imported rendition deliberately

/vimeo/import selects the source rendition or one named numeric rendition from 240p through 1080p. Use source when the workflow needs the source rendition, and choose a numeric rendition when output resolution and migration cost are deliberately bounded. The sample chooses 1080p as a bounded input, not as a preservation copy. The encode Step enlarges a smaller imported rendition unless zoom is set to false, so a 720p import re-encoded to 1080p adds pixels rather than detail.

Paginate by Vimeo API path and page number. A page is a convenient work unit, not an idempotency guarantee; Vimeo collections can change while the migration runs. Snapshot or record source identities so newly added or reordered videos do not silently shift the batch.

## Build the private republishing Template

The encode Step reads only the Vimeo import and produces a controlled MP4. The store Step reads the encoded result and creates a destination video with restrictive access. The sample uses acl set to nobody, which lets the owner inspect the destination before any audience is granted.

Use separate Template Credentials for source and destination when moving between accounts. Keep title, description, folder, showcases, and access policy in trusted migration configuration. A filename-derived title may be acceptable for a private fixture, but production metadata should come from an approved source record.

Import a Vimeo page and create private normalized destination videos

```
{
  "allow_steps_override": false,
  "steps": {
    "vimeo_sources": {
      "robot": "/vimeo/import",
      "credentials": "vimeo-source-account",
      "path": "me/videos",
      "rendition": "1080p",
      "page_number": 1,
      "files_per_page": 3
    },
    "normalized_mp4": {
      "use": "vimeo_sources",
      "robot": "/video/encode",
      "preset": "web/mp4/1080p",
      "width": 1920,
      "height": 1080,
      "resize_strategy": "fit",
      "zoom": false
    },
    "vimeo_destination": {
      "use": "normalized_mp4",
      "robot": "/vimeo/store",
      "credentials": "vimeo-destination-account",
      "title": "${file.original_basename} — normalized",
      "description": "Private migration candidate from ${file.original_name}",
      "acl": "nobody",
      "downloadable": false,
      "result": true
    }
  }
}
```

## Reconcile metadata and platform features

The media bytes are only part of a Vimeo record. Comments, analytics, review history, custom thumbnails, captions, showcases, folders, privacy, download settings, and application links may require separate handling. Inventory each concern and decide whether it is migrated, rebuilt, intentionally omitted, or retained only on the source.

Do not delete or hide the source merely because the new upload succeeded. Verify duration, streams, audio, visual quality, metadata, folder placement, access, and any downstream embeds. Change application references and source disposition only after the destination passes those checks.

### Media result

The destination video has the expected duration, streams, and visible quality.

### Platform result

Privacy, metadata, folder, showcases, and download behavior match policy.

### Application result

The old-to-new identity map is durable and consumers point to the intended record.

## Control concurrency and retries

Vimeo upload limits depend on the connected account plan. files\_per\_page controls how many files /vimeo/import retrieves per page; it is not a documented export-concurrency control. A larger page gives downstream Steps more videos to handle in the run. Keep the first pages small, raise the page size only after measuring the destination account’s tolerance, and back off on provider throttling. Queue source records explicitly so a temporary provider response does not restart an already successful encode or export unrelated videos twice.

Handle expired credentials, unavailable source renditions, encode failures, destination rejections, and lost completion callbacks separately. Before retrying an export, check the existing Assembly and migration record. An uncertain timeout should enter reconciliation, not automatically create another Vimeo video.

## Complete cutover without losing rollback

Move application embeds, collection membership, and user-facing references only after the destination record passes review. Keep the source-to-destination map and a rollback deadline. If a destination is later rejected or removed, operators should be able to locate the exact source and rerun the intended workflow without searching by title.

Retire or delete source videos through a separate, reviewed operation. The migration Template should not make destructive Vimeo changes because export success alone does not prove that every platform feature and downstream consumer has moved.

## Technical details worth knowing

* /vimeo/import supports Vimeo API paths such as me/videos and paginates with page\_number and files\_per\_page, capped by its schema at 100 files per page.
* /vimeo/import accepts the source rendition or one of five numeric renditions from 240p through 1080p. The selected rendition is the input to the encode Step. This sample deliberately chooses 1080p to bound the imported resolution; it is not a preservation workflow.
* /vimeo/store accepts videos and creates a destination record with title, description, access control, optional showcases, and optional folder placement.
* Vimeo export access values include anybody, contacts, disable, nobody, password, unlisted, and users. The password field is only relevant when acl is password.
* The Vimeo store documentation warns that concurrent upload limits depend on the connected Vimeo account plan.
* Importing and exporting through the same provider does not preserve comments, analytics, review history, or the original video identity unless the application migrates or maps those concerns separately.

## A practical approach

1. 1\
   Inventory source videos, destination ownership, metadata, showcases, privacy, and replacement rules.
2. 2\
   Create separate Vimeo source and destination credentials and save the locked Template.
3. 3\
   Migrate a small page privately and verify streams, duration, audio, metadata, and folder placement.
4. 4\
   Reconcile identities, publish deliberately, and retain a rollback record before scaling the batch.

A four-stage media workflow

## When Transloadit is useful

Use /vimeo/import for a bounded page or collection, /video/encode for a known MP4 output, and /vimeo/store for the destination account. Use separate source and destination Template Credentials for account migrations, begin with acl set to nobody, and record the old-to-new Vimeo identity mapping.

## Architecture boundary

This workflow creates new Vimeo video records from imported renditions. It does not edit a source video in place, preserve every Vimeo-side feature automatically, or decide when the new record should replace the old one in an application or collection.

## Frequently asked questions

### Does this update a Vimeo video in place?

No. The store Step creates a destination video. Treat the workflow as migration or republishing and retain an explicit old-to-new identity map.

### Which Vimeo rendition should be imported?

Use source when the workflow must import the source rendition. Choose a numeric rendition, such as the sample’s 1080p, when you intentionally want a bounded resolution or migration cost. The imported rendition is the material the encode Step receives, so it bounds the quality of everything downstream.

### Can one credential be used for both Steps?

Yes for the same connected account, but separate source and destination credentials are clearer and safer for account migrations.

### What access setting should the destination use?

Start with nobody or another restrictive policy, verify the result, then grant the intended audience through an authorized transition.

### Are comments and analytics migrated?

Not by this three-Step media workflow. Platform-side records and history require a separate migration plan or deliberate retention on the source.

## Build the workflow

Move from the concept to a tested Assembly with Robot documentation and working demos.

### Relevant Robots

* [/vimeo/import](/docs/robots/vimeo-import.md)
* [/video/encode](/docs/robots/video-encode.md)
* [/vimeo/store](/docs/robots/vimeo-store.md)
* [Import videos from Vimeo](/docs/robots/vimeo-import.md)
* [Normalize the video rendition](/docs/robots/video-encode.md)
* [Export videos to Vimeo](/docs/robots/vimeo-store.md)
* [Separate account credentials](/docs/topics/template-credentials.md)
* [Reconcile migration results](/docs/topics/webhooks.md)
* [Read the API documentation](/docs.md)
* [Explore working demos](/demos.md)
* [Create a free workspace](/c/signup/)

Video processing and creation

## Continue with related guides

* [Customizable media processing workflows with Transloadit](/guides/customizable-media-processing-workflows.md)\
  Design a reusable Template with validation, variables, parallel derivatives, secure storage, and observable completion.
* [How to prepare video for social media](/guides/prepare-video-for-social-media.md)\
  Prepare one approved video master for multiple social channels with deliberate crops, captions, duration, and compression.
* [How to evaluate APIs for live and on-demand video](/guides/video-streaming-api-evaluation.md)\
  Evaluate live and on-demand video APIs by ingest, latency, playback, processing, storage, observability, and ownership.
* [AVI vs. MOV: how to choose the right container](/guides/avi-vs-mov.md)\
  Compare AVI and MOV by codec support, metadata, editing workflows, compatibility, and delivery goals.
* [22 types of marketing videos and how to produce them well](/guides/marketing-video-types.md)\
  A practical map of 22 marketing video formats and the production decisions they share.
* [A practical architecture for video auto-tagging](/guides/video-auto-tagging.md)\
  Understand video auto-tagging as a sampled analysis workflow with explicit taxonomies, confidence, and human review.
