How to animate old photos in Claude and other MCP apps (2026)
Claude can't animate a photo on its own. Add Incarn's MCP connector in two minutes: setup for Claude, Claude Code and Cursor, prompts to try, limits and troubleshooting.
AI & Technology Writer, Incarn
In short
Claude reads and describes images but cannot turn a photo into a video. Adding Incarn as a custom connector fixes that: in Claude, go to Customize, then Connectors, click +, choose Add custom connector and paste https://api.incarn.co/mcp, then authorize with your Incarn API key. Share a direct link to the photo and ask Claude to animate it; the HD video comes back in the conversation in about two minutes. Animations use your Incarn plan credits, from 19 euros per month excl. VAT for 25.
Claude can't animate a photo on its own. It reads a picture and describes it well, but it doesn't generate video. What it can do is call outside tools through MCP connectors. Add Incarn's connector, and a request like "animate this photo of my great-grandmother" returns a real HD video, generated by a video model built for old portraits.
Setup takes about two minutes. Here is how it works in Claude, in Claude Code and in Cursor, what to ask, and what to know before you start.
What do you need before you start?
- A Claude account. Custom connectors work on every plan: the Free plan can add one, Pro, Max, Team and Enterprise can add several.
- An Incarn API key, for animating your own photos. Keys come with a developer plan: €19, €69 or €249 per month excl. VAT for 25, 130 or 650 animations. You create the key in your developer space.
- A direct link to each photo you want to animate. More on that below: it is the one habit to learn.
You don't need a key to look around first. The examples are public: ask Claude for examples and it will point you to a gallery of animated portraits.
How do you add Incarn to Claude (web and desktop)?
- In Claude, open Customize, then Connectors. Many older guides still say "Settings": the connector list has moved.
- Click the + button, then Add custom connector.
- Name it
Incarnand paste the server URL:https://api.incarn.co/mcp. Leave the advanced settings empty. - Click Add, then Connect. Claude opens Incarn's authorization page.
- Paste your API key (it starts with
ik_live_) and click Authorize. You are sent back to Claude, and the connector shows as connected.
The key is entered only on Incarn's page, never in the chat. Claude receives an access token for your account, not the key itself. To cut access later, remove the connector from the same Connectors screen.
On a Team or Enterprise plan, an Owner adds the connector once for the organization, in the organization's connector settings. Members then open Customize, then Connectors, and click Connect.
How do you add it to Claude Code or Cursor?
Claude Code, from a terminal:
claude mcp add --transport http incarn https://api.incarn.co/mcp
Then type /mcp inside Claude Code and choose Incarn to complete the authorization in your browser.
Cursor, in your mcp.json:
{
"mcpServers": {
"incarn": {
"url": "https://api.incarn.co/mcp"
}
}
}
Any other client that supports remote MCP servers over HTTP with OAuth works the same way: the URL above, then the authorization page.
What can you ask Claude once it's connected?
These prompts map to the five tools the server exposes. You don't need to name the tools: Claude picks them.
- "Show me examples of old photos animated with Incarn." Claude calls
list_examplesand gives you the link to a gallery where each portrait plays before and after. - "Animate this photo of my great-grandmother: https://example.com/photos/marie-1931.jpg" Claude calls
animate_photowith the link and starts the job. - "Animate it with a very subtle smile." The optional style hint is passed along. Keep it short and gentle: the model is tuned for natural presence, not for acting.
- "Is my animation ready?" Claude calls
get_animation_statusand returns the video link once it's done, usually in under two minutes. - "Animate these three portraits one after the other", with three links. Each photo is a separate job and a separate credit.
The first time Claude uses a tool, it asks for permission. Choosing Always allow for Incarn saves you a click on every request.
Why does Claude need a link instead of the attached photo?
Because of how connectors work today. When you attach a photo to a Claude message, Claude can see it, but it cannot hand the file itself to a remote tool: MCP has no standard way to pass a user's upload to an outside server yet.
So give Claude a direct link: a URL that opens the image itself, not a web page around it. A few ways to get one:
- A JPG or PNG already on your own website.
- A Dropbox shared link, with the end changed from
dl=0toraw=1. - Any image host that gives you a link ending in
.jpgor.png.
In Claude Code and Cursor, the agent can send a local file itself: it asks Incarn for an upload address (create_upload), sends the file there, then confirms it (confirm_upload). If your sandbox blocks outgoing requests, either allow api.incarn.co or use a link.
What are the five tools?
| Tool | What it does | Needs a key |
|---|---|---|
list_examples |
Returns the public gallery of animated portraits | No |
animate_photo |
Animates a photo from a link or an uploaded file; 1 credit | Yes |
get_animation_status |
Returns the job status and the video link | Yes |
create_upload |
Gives a temporary address to send a local file | Yes |
confirm_upload |
Validates the uploaded photo (moderation included) | Yes |
What won't it do?
- Animate photos of public figures or of people who haven't agreed. The tool is meant for your own family photos and ancestors, and it declines identifiable celebrities.
- Generate a video from text. It animates an existing photo, nothing else.
- Work without credits. Each animation spends one credit. When your plan runs out, the tool says so instead of billing you after the fact.
- Speak. The result is a short video of a face that breathes, blinks and smiles, not a talking avatar reciting a text.
Something went wrong: what now?
- "Invalid API key" on the authorization page. Copy the key again from your developer space, without spaces.
- Claude says it can't reach the image. The link probably opens a web page, not the image. Open it in a private browser window: you should see the photo alone.
- The upload fails in Claude Code or Cursor with a
403. Your sandbox is blocking the upload address. Allowapi.incarn.co, or use a link. - No more credits. Top up or change plan on the developer page.
- The before/after player doesn't show in Claude. The video link in the answer always works; open it in your browser.
Should you use Claude, ChatGPT or the website?
It depends on who you are.
- Developers and power users already working in Claude, Claude Code or Cursor: the connector is the fastest way to animate photos without leaving the conversation.
- ChatGPT users: Incarn also exists as a ChatGPT app, where you can attach the photo directly. See how to animate an old photo in ChatGPT.
- Families who want to animate a few photos: the Incarn website is simpler and cheaper for occasional use, with the first animation free and no plan to take.
For the REST API, pricing and how Incarn compares with general video APIs, read our comparison of the APIs to animate old photos.

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.