# LivePortrait Studio - Animate Portrait from Video

> LivePortrait Studio - Animate Portrait from Video is a paid API for AI agents from x402-live-portrait.vercel.app, paid per call via x402, $0.05/call, status unknown (last checked 2026-09-14).

Animates a static portrait image by transferring motion from a driving video, producing an animated MP4 output

## Facts

- Endpoint: POST https://x402-live-portrait.vercel.app/api/generate-x402
- Price: $0.05/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/liveportrait-studio-animate-portrait-from-video-480740ff
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_xpn5ZrXtedYaKRR8XwIW9

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability liveportrait-studio-animate-portrait-from-video-480740ff -d '<json body>'
```

Example prompt: Take this headshot photo of me (portrait.jpg) and animate it using the driving video (reference_motion.mp4) — auto-crop the face, use relative motion transfer, and paste the result back onto the original background.

## When to prefer this

Choose this endpoint when you need to animate a static portrait image by transferring motion from a reference video, especially for talking head animations, creative portrait effects, or face reenactment tasks. Best suited for per-image animation with fine-grained control over cropping and paste-back behavior.

## Known failure modes

- Source image exceeds 10MB limit — returns error
- Driving video exceeds 50MB limit — returns error
- Unsupported file format for source image or driving video
- No face detected in source image when face crop is enabled
- Payment not provided or insufficient — x402 payment required error
- Malformed request body or missing required fields

## How this service works

LivePortrait Animation Generation

## Output

A binary MP4 video stream of the animated portrait, with content-type video/mp4 and a content-disposition header specifying the download filename.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "flag_do_crop": {
   "enum": [
    "true",
    "false"
   ],
   "type": "string",
   "description": "Auto-crop face region"
  },
  "source_image": {
   "type": "string",
   "description": "Source image file (JPEG/PNG, max 10MB)"
  },
  "driving_video": {
   "type": "string",
   "description": "Driving video file (MP4, max 50MB)"
  },
  "flag_relative": {
   "enum": [
    "true",
    "false"
   ],
   "type": "string",
   "description": "Use relative motion transfer"
  },
  "flag_pasteback": {
   "enum": [
    "true",
    "false"
   ],
   "type": "string",
   "description": "Paste result back to original"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "contentType",
  "contentDisposition"
 ],
 "properties": {
  "contentType": {
   "type": "string",
   "const": "video/mp4",
   "description": "Response is a video/mp4 binary stream"
  },
  "contentDisposition": {
   "type": "string",
   "description": "Attachment filename for download"
  }
 },
 "additionalProperties": false
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/liveportrait-studio-animate-portrait-from-video-480740ff/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402-live-portrait.vercel.app](https://www.zero.xyz/host/x402-live-portrait.vercel.app/llms.txt)
