---
title: "Make a clip with any video model — estimate"
method: POST
path: "/v1/ai/models/video/estimate"
tags: ["Video"]
---

# Make a clip with any video model — estimate

`POST /v1/ai/models/video/estimate`

## Request

- Base URL: `https://apihub.co.il`
- URL: `https://apihub.co.il/v1/ai/models/video/estimate`
- Auth: HTTP bearer

Price the request without executing it. Same body as `POST /v1/ai/models/video`.

## Request body

- object
  - `seed` integer
  - `audio` boolean: Sound made with the clip (ambience, effects, speech) — models with sound only; omitted = the model's default
  - `model` string, required: A video model id from GET /v1/ai/models/catalog — e.g. kling-3.0, wan-3.0, seedance-2.5, minimax-h3, ltx-2.5-fast
  - `route` 'auto' | 'direct' | 'higgsfield' | 'fal': Team accounts only (ignored for others): where the model runs for a comparison — the maker directly, or a backup route (Higgsfield, fal) even while the backups are off for customers
  - `style` string: Models with styles only (genjutsu-restyle): a style preset's id or name — the catalog lists them under `styles`
  - `prompt` string: What happens in the clip: subject, action, camera, light. Required except for models that only work on a video you send
  - `consent` object: The rights / consent declaration for this likeness (or send consent_id)
    - `basis` 'own' | 'consent' | 'licensed': own = it is you / your content · consent = the person gave explicit permission · licensed = you hold the rights to this content
    - `locale` 'he' | 'en' | 'ru' | 'uk': Language the statement was shown in
    - `subject` 'self' | 'other': self = your own face / voice / video · other = another person who agreed
    - `accepted` true, required: You accept the consent statement for this scope (GET the text in the docs or the dashboard)
    - `subject_name` string: Required for `other`: the person's full name
  - `duration` integer: Seconds. Each model has its own lengths (see the catalog); omitted = the model's default. Every generated second is billed
  - `image_url` string, uri: First frame (image-to-video). The clip keeps the picture's look
  - `video_url` string, uri: A video the model works on: the clip to edit, restyle or upscale, or the motion to copy — models that take a video only. Its length is the clip's (duration is not asked)
  - `consent_id` string: A consent you recorded before (the dashboard records one when you tick the box)
  - `resolution` '480p' | '720p' | '1080p' | '2k' | '4k': Omitted = the model's default (usually 720p). Higher costs more per second
  - `aspect_ratio` '9:16' | '16:9' | '1:1' | '4:3' | '3:4' | '21:9'
  - `last_frame_url` string, uri: Last frame (needs image_url): the clip moves from the first picture to this one — models with first+last frame only
  - `negative_prompt` string: What to keep out of the clip (models that take it)
  - `reference_images` string[]: People, products or places to put in the clip (not a start frame) — models with references only; each model takes its own maximum

## Response `200`

Estimate

- Estimate
  - `operation` string
  - `estimated_credits` number
  - `credits_to_reserve` number
  - `estimated_usage` object
  - `note` string, nullable
  - `balance` object
    - `available` number
  - `sufficient` boolean

---

[API](https://skmtc.dev/apihub/apis/apihub-one-api-for-chat-image-video-ai.md) · [All operations](https://skmtc.dev/apihub/apis/apihub-one-api-for-chat-image-video-ai/llms.txt) · [OpenAPI document](https://skmtc.dev/apihub/apis/apihub-one-api-for-chat-image-video-ai/revisions/a8caa42835ce?raw)
