---
title: "Create a new motion graphics video generation job"
method: POST
path: "/videos"
---

# Create a new motion graphics video generation job

`POST /videos`

Creates a new motion graphics generation job. Submit your prompt and desired output formats to queue a video for generation.

## Request body

- CreateVideoInput — Request body to create a new motion graphics export job.
  - `prompt` string, required — Text prompt describing the motion graphics/video to generate. Be specific about subject, style, motion, and colors for best results.
  - `reference_image_url` string — URL of a single reference image to guide visual style or content. Use reference_image_urls instead if you have multiple images.
  - `reference_image_urls` string[] — Up to 5 reference image URLs to guide visual style or content. Preferred over reference_image_url when providing multiple images.
  - `reference_video_url` string — Optional URL of a reference video.
  - `duration_seconds` number — Duration (in seconds) for the generated video. Optional. Range: 1–120. If omitted, default or parent is used.
  - `style_id` string — Optional ID of a style to use for styling the video.
  - `brand_kit_id` string — [Deprecated] Optional ID of a style to use for styling the video. Use `style_id` instead.
  - `parent_video_id` string — Video ID or template ID to use as a starting point for this generation. Useful for iterations on a previous result or starting from a template.
  - `assets` object[] — Optional array of asset files to include in the video generation. Each asset has a type and a URL.
    - `type` 'image' | 'video' | 'audio' | 'font' | 'csv', required — Asset type: image, video, audio, font, or csv.
    - `url` string, required — URL of the asset file. Use the POST /files endpoint to upload local files and get a URL.
  - `outputs` ExternalExportConfig[], required — Array of output configurations (1–10). Each specifies format, aspect_ratio, fps, and resolution. A good default is one entry: { format: "mp4", aspect_ratio: "16:9", fps: "30", resolution: "1080p" }.
    - `format` 'mp4' | 'prores' | 'webm' | 'gif', required — Output format for this export (e.g. mp4, prores, webm, gif).
    - `aspect_ratio` '16:9' | '9:16' | '1:1' | '4:5', required — Aspect ratio for this export (e.g. '16:9', '9:16', '1:1', '4:5').
    - `fps` union, required — Frames per second for this export output.
      - '24'
      - '25'
      - '30'
      - '60'
    - `resolution` '360p' | '480p' | '720p' | '1080p' | '4k', required — Resolution for this export output (e.g. '1080p', '720p').
  - `sound_effects` boolean — [Beta] When true, generates sound effects for the video

## Response `200`

Job successfully queued. Returns a job/video ID.

- CreateVideoOutput — Response for a successfully queued video generation job.
  - `video_id` string, required — Unique ID of the job/video that was created.
  - `project_url` string — Optional URL to view the project in the user interface.

---

[API](https://skmtc.dev/hera/apis/hera-video-api.md) · [All operations](https://skmtc.dev/hera/apis/hera-video-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/hera/hera-video-api/revisions/9c97fb6efc1d/schema)
