---
title: "Animate a mascot from a reference video"
method: POST
path: "/v1/collections/{id}/animations/reference-video"
tags: ["Generate"]
deprecated: true
---

# Animate a mascot from a reference video

`POST /v1/collections/{id}/animations/reference-video`

## Request

- Base URL: `https://api.masko.ai`
- URL: `https://api.masko.ai/v1/collections/{id}/animations/reference-video`
- Auth: HTTP bearer

> **Deprecated.**

From Video uses Premium to transfer reference motion to your mascot. Upload a video and its first frame through POST /v1/upload, then provide their asset IDs. Source assets must be completed, active, and accessible to the credential; collection assets must belong to its workspace. Creates one animation item plus start and end pose items, with MP4, transparent WebM/HEVC, and pose images. Costs 6 credits per output second plus 1 image credit, so the default 5s costs 31 credits. Output duration is 4–30 whole seconds. Standard is not supported for this operation. Returns 202; poll the returned job until completed. Do not resubmit while the job is running.

## Path parameters

- `id` string, uuid, required

## Headers

- `Idempotency-Key` string

## Request body

- ReferenceVideoBody
  - `video_asset_id` string, uuid, required: Owned, completed video asset containing the reference motion. Upload an MP4 or WebM with POST /v1/upload first.
  - `first_frame_asset_id` string, uuid, required: Owned, completed image asset showing the first frame of the reference video. Upload it with POST /v1/upload.
  - `name` string, required: Name for the animation. Start and end pose items are also created.
  - `prompt` string: Optional instructions for the mascot pose and appearance.
  - `duration` integer: Output duration in whole seconds, 4–30. Default 5. Premium costs 6 credits/sec plus 1 image credit.
  - `animation_model` 'premium': From Video always uses Premium. Standard is available for image-to-video animation through /generate.
  - `variant_id` string, uuid: Optional approved mascot variant to animate.
  - `context_asset_id` string, uuid: Optional asset in this collection whose saved mascot context is reused when variant_id is omitted.

## Response `202`

Reference video job started

- ReferenceVideoAsyncResponse
  - `data` object, required
    - `job_id` string, uuid, required
    - `item_id` string, uuid, required
    - `start_item_id` string, uuid, required
    - `end_item_id` string, uuid, required
    - `asset_id` string, uuid, required
    - `asset_ids` object, required
      - `mascot_image` string, uuid, required
      - `video` string, uuid, required
      - `webm` string, uuid, required
      - `hevc` string, uuid, required
      - `start_image` string, uuid, required
      - `start_transparent` string, uuid, required
      - `end_image` string, uuid, required
      - `end_transparent` string, uuid, required
    - `estimated_cost` integer, required
    - `poll_url` string, required

## Other responses

- `400`: Validation error
- `401`: Unauthorized
- `402`: Insufficient credits
- `403`: Forbidden
- `404`: Not found
- `409`: Conflict

---

[API](https://skmtc.dev/masko/apis/masko-api.md) · [All operations](https://skmtc.dev/masko/apis/masko-api/llms.txt) · [OpenAPI document](https://skmtc.dev/masko/apis/masko-api/revisions/84832e255613?raw)
