Skip to main content
POST
Estimate a lip-sync run
Runs every check of createLipsync without writing and returns an Estimate: price (minutes x model multiplier, or the free run), processed seconds, whether a face check is needed or already found a face, and the previous run’s state. When to use: before createLipsync; send total_minutes as expected_cost_minutes. Side effects: None. Cost: Free. Does not need credits:spend. Idempotency: no side effects; an Idempotency-Key is accepted and ignored, so every call is fresh. Required scopes: lipsync:write

Authorizations

Authorization
string
header
required

API key from Settings -> API keys, sent as Authorization: Bearer <key> (SDK environment variable RASK_API_KEY). Bound to one workspace and one acting user. Operations list the scopes they need (OpenAPI 3.1 scopes on a bearer scheme).

Scopes

lipsync:write

Headers

Idempotency-Key
string

Accepted and ignored: this operation has no side effects and stores nothing.

Required string length: 1 - 255
Pattern: ^[\x20-\x7E]+$

Path Parameters

project_id
string
required

Project id (from createProject or listProjects).

Maximum string length: 64

Body

application/json

Body of estimateLipsync.

model
enum<string>
required

legacy or enhanced (entitlement lipsync_enhanced).

Available options:
legacy,
enhanced
free_trial_run
boolean
default:false

Use the one free run (1 free lip-sync minute, first 60 s); needs no previous run.

expected_cost_minutes
integer<int32>

Accepted and ignored, so the action's body can be sent unchanged.

Required range: 0 <= x <= 100000

Response

OK: Estimate.

A side-effect-free quote produced by the action's own checks. Transient: carries object, no id.

object
enum<string>
required

Always estimate.

Available options:
estimate
action
enum<string>
required

The action an estimate prices. Discriminator of details.

  • create_project: createProject
  • create_project_copies: createProjectCopies
  • dub: createDub
  • lipsync: createLipsync
  • onscreen: createOnscreen
  • segment_generation: generateSegments
  • localization: createLocalization, resumeJob
Available options:
create_project,
create_project_copies,
dub,
lipsync,
onscreen,
segment_generation,
localization
project_id
string | null
required

The project; null for project creation.

eligible
boolean
required

True when the action would start now, balance, plan, scopes and key limits included.

reasons
object[]
required

Blocking reasons (the action's error codes, plus insufficient_scope, token_spend_limit_exceeded, workspace_access_suspended).

notices
object[]
required

Non-blocking notices (dubbing_model_overridden, trial_processing_window, meaning_first_disabled, voice_fallback, assembly_anchor_voiced, wider_voice_setup, clips_not_reusable).

costs
object[]
required

Cost lines.

A line of an estimate: a union on credit_type.

total_minutes
integer<int32>
required

Sum of minute lines (any minute pool): send this as expected_cost_minutes.

Required range: x >= 0
total_projects
integer<int32>
required

Sum of project-credit lines (0 when unlimited).

Required range: x >= 0
balance_after
object
required

Balances after the action.

spend_limit
object | null
required

The calling key's monthly caps; null when the key has neither cap.

details
object
required

Per-action details; action mirrors Estimate.action.