6 min read

Animate old photos via API: 2026 comparison

I compared the APIs to animate old photos in 2026: D-ID, Replicate, Runway, Luma, Incarn. Generic primitive or vertical product, what you build yourself, pricing, and EU hosting.

APIdevelopersphoto animationimage to videointegration
Thomas Moreau
Thomas Moreau

AI & Technology Writer, Incarn

In short

Two ways to animate an old photo via API in 2026: generic primitives (Replicate, fal, Runway, Luma, Google Veo) where you handle everything, the prompt, the safety filter that rejects sepia portraits, HD, the queue, or a vertical product that returns the video in a single call. D-ID is great for talking avatars, less so for an old photo that simply breathes. Incarn is built for exactly this case, EU-hosted, prepaid, no surprise bills. Comparison, decision table and quickstart below.

You have an old photo and an app. You want the photo to move, in one HTTP call, without standing up a computer-vision team. In 2026, two families of solutions answer that need, and they don't play the same game.

I put the main ones through an integrator's lens: what you call, what's left to build on your side, how it's billed, and where the data lives. Here's the verdict.

Primitive or product: the real question before you pick

The distinction that matters isn't "which model is best." It's generic primitive versus vertical product.

A primitive is a raw image-to-video model exposed over an API. Powerful and flexible, but it hands you the whole pipeline. A vertical product solves one use case end to end: you send a photo, you get a clean video back. For "animate an old family photo," that difference drives your entire integration cost.

The generic primitives: Replicate, fal, Runway, Luma, Veo

These platforms give you the raw video models, billed by usage. It's the most flexible path, and the most demanding.

Replicate and fal host most of the models on the market (Seedance, Kling, Wan and others) behind a common API, billed per second or per generation. Google Veo is the general-quality benchmark in 2026, with native audio, but the per-generation price climbs fast. Runway targets creative video workflows and motion control. Luma bets on fast generation.

The catch is what isn't on the invoice. With a primitive, it's on you to:

  • write and tune the motion prompt for every photo,
  • handle the queue and async polling,
  • force and verify HD output,
  • and above all, absorb the safety-filter refusals. Many recent models reject close-up portraits, and sepia or black-and-white faces even more, which is exactly the heart of an old photo. You hit that wall in production, not in the docs.

If you're building a general-purpose video tool, these primitives are the right call. If you just want "old photo to a video that holds up," you'll end up rewriting a vertical pipeline on top.

D-ID: making a photo talk

D-ID is the API standard when the goal is a photo that speaks: avatar, lip-sync, voice. It's also the technology behind MyHeritage® Deep Nostalgia® (a partnership announced in 2022).

It's an excellent product for its use case. But "avatar reciting a script" and "a 1953 portrait that hints at a smile and turns its head slightly" are two different intentions. For natural presence on an old photo, with no mouth articulating a script, it isn't the tool shaped for that.

The comparison, at a glance

Option Type Specialty What you build Billing Hosting
Replicate / fal Primitive (hosted models) General image to video Prompt, model choice, filter refusals, HD, queue Usage-based US
Google Veo Primitive (model) Top general quality Same, with a high per-generation cost Usage-based US
Runway Primitive (pro model) Creative video, motion control Prompt, editing workflow Subscription and usage US
Luma Primitive (model) Fast generation Prompt, pipeline Subscription and usage US
D-ID Product (avatar) Talking photo, lip-sync Avatar and voice integration Subscription and usage US / Israel
Incarn Vertical product Old photo to natural video One call, the rest is handled Prepaid (credit plan or packs) EU (Germany)

Incarn: the "old photo, one call" vertical

Incarn exposes the exact "animate an old photo" use case behind a single API, and absorbs the pipeline you'd otherwise write yourself.

In practice, one POST with a photo is enough. Behind it, Incarn validates the image, picks the model, automatically falls back to a backup model when the first one refuses an old portrait, generates in HD and notifies you. Animation is powered by Seedance 1.5 Pro, BytePlus's video model, and is ready in under 2 minutes. Over 12,000 photos have already been animated on the platform, across more than 45 countries.

curl -X POST https://api.incarn.co/v1/animations \
  -H "Authorization: Bearer ik_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{"image_url":"https://your-app.com/grandmother.jpg","webhook_url":"https://your-app.com/incarn"}'

You get the result by polling GET /v1/animations/:id, or through a signed webhook (HMAC-SHA256, header X-Incarn-Signature) when the job finishes. No prompt to tune, no filter refusals to catch.

Three things that matter to an integrator, especially in Europe:

  • Prepaid, no surprise bills. You spend what you bought upfront: a monthly credit plan (Starter 19, Pro 69, Scale 249 per month, excl. VAT) or on-demand packs. Out of credits, the API returns a 402, never a nasty end-of-month invoice. A bounded auto-recharge is available as an option.
  • EU hosting. The app, database and video storage sit in Germany. In full transparency: video generation runs through a non-EU AI partner, where the source photo is sent for processing and then deleted. That's a real argument for a product handling family photos under GDPR.
  • One clear pipeline. A single endpoint, idempotency keys for safe retries, per-plan concurrency, and honest HD output with no watermark.

The flip side of simplicity: Incarn does one thing. If you need text-to-video, long cinematic shots or talking avatars, look at Veo, Runway or D-ID instead. For an old photo coming back to life, that's exactly the scope.

How to choose

A simple rule, based on what you're building:

  • A general video editor, or you want low-level control over the model and prompt? Take a primitive (fal, Replicate, Veo, Runway). You pay for flexibility in integration time.
  • A photo that talks, an avatar that recites? D-ID.
  • "My grandmother breathing," embedded in a genealogy, memorial or gifting app, without maintaining a pipeline? A vertical product like Incarn saves you the weeks that filter refusals, HD handling and polling actually cost.

The right choice depends on whether animating old photos is your product or one brick among many. To understand the models under the hood, our Seedance 1.5 Pro vs Kling breakdown goes into the technical detail, and our best AI tools for genealogy roundup covers the consumer side.

Get started

Creating a key takes a minute. You test the API, wire up the webhook, and ship the same day.

One old photo, one call, one video. We handle the rest.

Thomas Moreau
Thomas Moreau

AI & Technology Writer, Incarn

Thomas covers AI and machine learning applications for creative tools. Former research engineer with a focus on computer vision and video generation.

Deep Nostalgia® and MyHeritage® are trademarks of MyHeritage Ltd. Incarn is not affiliated with MyHeritage. Comparisons (features, pricing) are provided for information only and reflect publicly available offerings at the time of publication; they are subject to change.

Ready to try it yourself?

Animate your first photo for free, in just a few moments.

Try Incarn free →

Read next