---
title: "Generate a Studio animation"
method: POST
path: "/studio/generations/animation"
tags: ["studio"]
---

# Generate a Studio animation

`POST /studio/generations/animation`

## Request

- Base URL: `https://api.namefi.io/v-next`
- URL: `https://api.namefi.io/v-next/studio/generations/animation`
- Auth: one of:
  - API key in header `x-api-key`
  - HTTP bearer

Start a new asynchronous cinematic, looped, or sheet-guided animation from an owned successful logo generation, then poll getStudioGeneration for completion.

## Headers

- `x-namefi-eip7702-account` string
- `x-namefi-eip1271-account` string
- `x-namefi-erc1271-account` string

## Request body

- union
  - object
    - `domain` string, required: Domain to create the animation for.
    - `referenceLogoGenerationId` string, uuid, required: ID of a successful Studio logo generation owned by the user.
    - `description` string: Optional creative direction, limited to 500 characters.
    - `mode` 'cinematic', required
    - `sourceMode` 'exact-frame' | 'subject-reference'
    - `motionPreset` 'let-ai-choose' | 'orbital-reveal' | 'energy-surge' | 'atmospheric-rise' | 'dimensional-parallax' | 'prismatic-bloom'
    - `model` 'google/gemini-omni-1.1-flash' | 'veo-3.1-generate-preview' | 'veo-3.1-fast-generate-preview'
  - object
    - `domain` string, required: Domain to create the animation for.
    - `referenceLogoGenerationId` string, uuid, required: ID of a successful Studio logo generation owned by the user.
    - `description` string: Optional creative direction, limited to 500 characters.
    - `mode` 'looped', required
    - `motionPreset` 'let-ai-choose' | 'breathe' | 'light-sweep' | 'shimmer' | 'glow-pulse' | 'contour-trace' | 'ambient-orbit' | 'micro-parallax' | 'gradient-drift'
    - `motionIntensity` 'subtle' | 'balanced' | 'bold'
    - `model` 'bytedance/seedance-2.0' | 'bytedance/seedance-2.0-fast'
  - object
    - `domain` string, required: Domain to create the animation for.
    - `referenceLogoGenerationId` string, uuid, required: ID of a successful Studio logo generation owned by the user.
    - `description` string: Optional creative direction, limited to 500 characters.
    - `mode` 'sheet-guided', required
    - `model` 'google/gemini-omni-1.1-flash' | 'bytedance/seedance-2.0' | 'bytedance/seedance-2.0-fast' | 'google/gemini-omni-flash-preview'
    - `sheetModel` 'gpt-image-2' | 'gpt-image-2.5-flare'

## Response `200`

OK

- object
  - `id` string, uuid, required
  - `domain` string, required
  - `kind` 'logo' | 'poster' | 'animation', required
  - `status` 'FAILED' | 'PENDING' | 'PROCESSING' | 'SUCCEEDED', required
  - `referenceGenerationId` string, uuid, nullable, required
  - `request` union, required
    - object
      - `kind` 'logo', required
      - `logoType` string, required
      - `logoStyle` string, required
      - `model` string, nullable, required
      - `textTreatment` string, nullable, required
      - `typography` string, nullable, required
    - object
      - `kind` 'poster', required
      - `collateralType` string, required: Persisted collateral type identifier. Historical generations can contain legacy identifiers that are no longer accepted for new requests.
      - `model` string, nullable, required
    - object
      - `kind` 'animation', required
      - `mode` 'cinematic', required
      - `model` string, required
      - `sourceMode` 'exact-frame' | 'subject-reference', nullable, required
      - `motionPreset` string, required
      - `motionIntensity` unknown, required
      - `sheetModel` unknown, required
    - object
      - `kind` 'animation', required
      - `mode` 'looped', required
      - `model` string, required
      - `sourceMode` unknown, required
      - `motionPreset` string, required
      - `motionIntensity` 'subtle' | 'balanced' | 'bold', required
      - `sheetModel` unknown, required
    - object
      - `kind` 'animation', required
      - `mode` 'sheet-guided', required
      - `model` string, required
      - `sourceMode` unknown, required
      - `motionPreset` string, nullable, required
      - `motionIntensity` unknown, required
      - `sheetModel` string, nullable, required
  - `result` union, required
    - object
      - `kind` 'logo', required
      - `logoType` string, nullable, required
      - `logoStyle` string, nullable, required
      - `model` string, nullable, required
      - `textTreatment` string, nullable, required
      - `typography` string, nullable, required
      - `logoColorTreatment` string, nullable, required
      - `backgroundTreatment` string, nullable, required
    - object
      - `kind` 'poster', required
      - `collateralType` string, nullable, required
      - `model` string, nullable, required
    - object
      - `kind` 'animation', required
      - `model` string, nullable, required
      - `resolvedMotionPreset` string, nullable, required
      - `animationSheetUrl` string, nullable, required
      - `sheetModel` string, nullable, required
  - `asset` object, required
    - `url` string, nullable, required
    - `thumbnailUrl` string, nullable, required
    - `mimeType` string, nullable, required
  - `failure` object, nullable, required
    - `code` 'GENERATION_FAILED', required
    - `message` 'Generation failed. Please try again.', required
  - `pollAfterSeconds` unknown, required
  - `createdAt` string, date-time, required
  - `updatedAt` string, date-time, required
  - `startedAt` string, date-time, nullable, required
  - `finishedAt` string, date-time, nullable, required

## Other responses

- `400`: 400
- `401`: 401
- `402`: 402
- `403`: 403
- `404`: 404
- `406`: 406
- `408`: 408
- `409`: 409
- `412`: 412
- `429`: 429
- `500`: 500

---

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