---
title: "Price of one video generation"
method: GET
path: "/v1/videos/quote"
tags: ["Videos"]
---

# Price of one video generation

`GET /v1/videos/quote`

## Request

- Base URL: `https://contentmaschine.ai/api`
- URL: `https://contentmaschine.ai/api/v1/videos/quote`
- Auth: one of:
  - HTTP bearer
  - OAuth 2 (authorization code, authorization URL `https://contentmaschine.ai/api/oauth/authorize`, token URL `https://contentmaschine.ai/api/oauth/token`)

The credits `POST /v1/videos/generate` would reserve for this model, duration and resolution, after the same defaults and snapping. Nothing is charged.

## Query parameters

- `model` 'omni' | 'grok' | 'kling' | 'seedance'
- `duration` integer
- `resolution` '720p' | '480p' | 'standard' | 'pro'
- `aspect_ratio` '1:1' | '16:9' | '9:16' | '4:3' | '3:4' | '3:2' | '2:3'

## Response `200`

The price.

- object
  - `success` boolean
  - `data` object
    - `model` string
    - `duration` integer
    - `resolution` string
    - `aspect_ratio` string
    - `credits` number
  - `timestamp` string, date-time

## Other responses

- `400`: duration is not a whole number.
- `401`: Missing or invalid API key.
- `403`: The token does not hold videos:read.
- `default`: Any other error. Every failure this API emits uses the same envelope; branch on `error.type`, never on `error.message`, and quote `error.correlation_id` to support.

---

[API](https://skmtc.dev/contentmaschine/apis/contentmaschine-ai-api.md) · [All operations](https://skmtc.dev/contentmaschine/apis/contentmaschine-ai-api/llms.txt) · [OpenAPI document](https://skmtc.dev/contentmaschine/apis/contentmaschine-ai-api/revisions/28c74f46051c?raw)
