Quote video generation
Source-generated POST /video-generations/quote reference: authentication, fields, responses, errors, and operational safeguards.
On this page
Operation
POST /video-generations/quote
operationId: quote_video_generation_v1_video_generations_quote_post
Estimate credits for the intended operation without starting production or charging credits. This is not a price lock or spend authorization. Creation recalculates the current quote; review it before creating. Match the pricing-relevant options to the later request.
Authentication and side effects
Use a server-side Bearer API key. Required scope: animations:write
This operation does not start paid generation. Other state changes are described above.
Parameters
No path, query, or operation-specific header parameters.
Request body (application/json)
Body required: true
| Field | Type | Required | Default | Constraints | Meaning |
|---|---|---|---|---|---|
has_last_frame |
boolean |
No | false |
— | Whether the planned request includes a last frame. |
reference_image_count |
integer |
No | 0 |
minimum: 0; maximum: 8 |
Number of additional references, excluding the first frame. |
video |
VideoOptions | No | {"duration_seconds":null,"input_canvas":null,"model":null,"ratio":null,"resolution":null,"seed":null,"style_preset":null,"transparency":{"key_color":null,"key_selection":"auto","mode":"standard"},"watermark":null} |
— | Generation options to estimate; must match the later create. |
Full nested schema: VideoGenerationQuoteRequest
Request example
{
"has_last_frame": false,
"reference_image_count": 0,
"video": {}
}
Responses
| HTTP | Body | Meaning |
|---|---|---|
200 |
QuoteResponse | Successful public response. Example values are illustrative. |
400 |
APIErrorEnvelope | Invalid input; correct the request before retrying. |
401 |
APIErrorEnvelope | Missing, expired, or revoked API key. |
402 |
APIErrorEnvelope | Insufficient credits; do not automatically purchase. |
403 |
APIErrorEnvelope | Account eligibility, account status, or key scope does not allow this operation. |
404 |
APIErrorEnvelope | Resource is unavailable, not owned, or its signature is invalid/expired. |
413 |
APIErrorEnvelope | Request or decoded image exceeds the configured limit. |
415 |
APIErrorEnvelope | Use supported image media types. |
422 |
APIErrorEnvelope | Decoded image dimensions exceed the allowed size. |
429 |
APIErrorEnvelope | Account-wide rate or queue limit; wait for Retry-After. |
500 |
APIErrorEnvelope | Internal failure; preserve the task/key and retry only when marked retryable. |
503 |
APIErrorEnvelope | Service/provider unavailable; retry only when error.retryable is true. |
Response headers
| HTTP | Header | Type | Meaning |
|---|---|---|---|
429 |
Retry-After |
integer |
Suggested wait in seconds; respect the server value and an overall deadline. |
503 |
Retry-After |
integer |
Suggested wait in seconds; respect the server value and an overall deadline. |
Response example
{
"breakdown": {},
"credits": 1,
"object": "quote"
}
Related guides
Was this page helpful?
No search queries, code, or free text are collected. This switch controls documentation interactions only; general site analytics follow the privacy policy. Privacy policy