curl --request POST \
--url https://api.dreamlayer.io/v1/video/quotes \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'DreamLayer-Version: <dreamlayer-version>' \
--data '
{
"operation": "text_to_video",
"prompt": "A slow camera push toward a forest waterfall with rushing water and birdsong.",
"options": {
"duration_seconds": 10,
"resolution": "720p",
"aspect_ratio": "16:9",
"generate_audio": true
}
}
'{
"status": "ready",
"quote_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"expires_at": "2023-11-07T05:31:56Z",
"resolved_settings": {
"operation": "text_to_video",
"duration_seconds": 123,
"resolution": "720p",
"aspect_ratio": "<string>",
"generate_audio": true
},
"customer_price": {
"currency": "api_credits",
"amount": "<string>"
},
"pricing_version": "<string>",
"retention_days": 30
}{
"error": {
"code": "<string>",
"reason": "invalid_request",
"message": "<string>",
"category": "<string>",
"retryable": true,
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"details": {}
}
}{
"error": {
"code": "<string>",
"reason": "<string>",
"message": "<string>",
"retryable": true
}
}{
"error": {
"code": "<string>",
"reason": "<string>",
"message": "<string>",
"retryable": true
}
}{
"error": {
"code": "<string>",
"reason": "<string>",
"message": "<string>",
"retryable": true
}
}{
"error": {
"code": "RATE_LIMITED",
"reason": "rate_limited",
"message": "Too many requests. Please try again shortly.",
"category": "RATE_LIMITED",
"retryable": true,
"request_id": "d34db33f-0000-4000-8000-000000000001"
}
}{
"error": {
"code": "<string>",
"reason": "<string>",
"message": "<string>",
"retryable": true
}
}Quote a video before generation
Returns resolved settings, expiry, and customer_price without starting generation or reserving credits. Sound defaults on unless silence is requested. An image-to-video quote requires one owned input asset. Review a ready quote and its API credit price before accepting it at /v1/execute. Quotes normally expire after ten minutes for new acceptance.
curl --request POST \
--url https://api.dreamlayer.io/v1/video/quotes \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'DreamLayer-Version: <dreamlayer-version>' \
--data '
{
"operation": "text_to_video",
"prompt": "A slow camera push toward a forest waterfall with rushing water and birdsong.",
"options": {
"duration_seconds": 10,
"resolution": "720p",
"aspect_ratio": "16:9",
"generate_audio": true
}
}
'{
"status": "ready",
"quote_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"expires_at": "2023-11-07T05:31:56Z",
"resolved_settings": {
"operation": "text_to_video",
"duration_seconds": 123,
"resolution": "720p",
"aspect_ratio": "<string>",
"generate_audio": true
},
"customer_price": {
"currency": "api_credits",
"amount": "<string>"
},
"pricing_version": "<string>",
"retention_days": 30
}{
"error": {
"code": "<string>",
"reason": "invalid_request",
"message": "<string>",
"category": "<string>",
"retryable": true,
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"details": {}
}
}{
"error": {
"code": "<string>",
"reason": "<string>",
"message": "<string>",
"retryable": true
}
}{
"error": {
"code": "<string>",
"reason": "<string>",
"message": "<string>",
"retryable": true
}
}{
"error": {
"code": "<string>",
"reason": "<string>",
"message": "<string>",
"retryable": true
}
}{
"error": {
"code": "RATE_LIMITED",
"reason": "rate_limited",
"message": "Too many requests. Please try again shortly.",
"category": "RATE_LIMITED",
"retryable": true,
"request_id": "d34db33f-0000-4000-8000-000000000001"
}
}{
"error": {
"code": "<string>",
"reason": "<string>",
"message": "<string>",
"retryable": true
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
"1"Body
Describe a video. Exactly one source is required for image_to_video and none for text_to_video. The quote validates prompt/options consistency and source ownership, expiry, and normalized dimensions. It does not start generation.
1 - 4000\Stext_to_video, image_to_video, null text, first_frame, null Settings for the documented automatic Video workflow. Defaults are resolved with the prompt; conflicting instructions are rejected. This request schema describes the supported integration subset, not every server field.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Response
A ready or pricing_pending quote. Only ready quotes can be accepted. Documented integration fields are a subset of the response.
Customer integration fields. Additional response fields are allowed; this is not an exhaustive wire schema. Review resolved settings and customer_price, not a hardcoded price.
ready, pricing_pending Show child attributes
Show child attributes
Show child attributes
Show child attributes