API reference
Recover a persistent video by request key
/v1/video-requests/{key}Only for persistent; recovery requires the same key. This path currently does not rerun the complete model policy check; it does not imply historical model permissions have been uniformly fixed.
Authentication and permissions
Use your current GloopAPI key. Available models, capabilities and permissions depend on its catalog and the endpoint documentation.
Authorization: Bearer $GLOOP_API_KEYAuthentication schemes: BearerAuth
Request
Path parameters
keystringRequiredOriginal persistent request's Idempotency-Key: ASCII letters, digits, underscores, or hyphens, 1–128 bytes.
- Minimum length
1- Maximum length
128- Pattern
"^[A-Za-z0-9_-]+$"
Responses and errors
HTTP 200
Persistent video recovered by request key successfully
application/json
- Type
- object
- Required fields
idmodelstatuscreated_at
updated_atintegerOptionalLast update time in Unix seconds.
retentionstringOptionalTask result retention policy; persistent is the persistent workspace.
inputobjectOptionalOriginal task input or tool contract input.
input child fields (14)
modestringOptionalRequired for persistent.
- Enum
["text_to_video","image_to_video"]
retentionstringOptionalpersistent uses the persistent workspace; omission creates an ordinary task.
quote_idstringOptionalNew persistent requests must first confirm a valid quote returned by video-quotes.
start_frameobjectOptionalRequired for persistent image-to-video: a managed file belonging to the same key. Prohibited for text-to-video.
start_frame child fields (1)
file_idstringRequiredPublic ID of a managed file for the same account and key.
allOf branch 1
Type: object
Required in this branch: file_id
file_idstringRequiredPublic ID of a managed file for the same account and key.
end_frameobjectOptionalOptional final frame for persistent; the capability must support it.
end_frame child fields (1)
file_idstringRequiredPublic ID of a managed file for the same account and key.
allOf branch 1
Type: object
Required in this branch: file_id
file_idstringRequiredPublic ID of a managed file for the same account and key.
webhook_endpoint_idstringOptionalOrdinary tasks may reference a receiver configured in the console; prohibited for persistent.
modelstringRequiredPublic model ID from the current key's catalog; does not guarantee that a historical model remains available.
promptstringRequiredGeneration prompt.
- Minimum length
1- Maximum length
2500
durationintegerOptionalModel-specific duration in seconds. Use the complete combination from video-models mode.presets, not a Cartesian product. Wan Turbo does not support this field; there is no uniform default.
image_urlstringOptionalModel-specific public HTTPS first frame for ordinary tasks only; prohibited for persistent.
end_image_urlstringOptionalModel-specific public HTTPS final frame for ordinary tasks only; prohibited for persistent.
resolutionstringOptionalResolution value in the model preset.
aspect_ratiostringOptionalAspect ratio value in the model preset.
Model-dependent; use the mode's audio policy and presets. Do not assume every model generates audio.
allOf branch 1
Type: object
Required in this branch: model, prompt
Additional properties:
falsemodestringOptionalRequired for persistent.
- Enum
["text_to_video","image_to_video"]
retentionstringOptionalpersistent uses the persistent workspace; omission creates an ordinary task.
quote_idstringOptionalNew persistent requests must first confirm a valid quote returned by video-quotes.
start_frameobjectOptionalRequired for persistent image-to-video: a managed file belonging to the same key. Prohibited for text-to-video.
start_frame child fields (1)
file_idstringRequiredPublic ID of a managed file for the same account and key.
allOf branch 1
Type: object
Required in this branch: file_id
file_idstringRequiredPublic ID of a managed file for the same account and key.
end_frameobjectOptionalOptional final frame for persistent; the capability must support it.
end_frame child fields (1)
file_idstringRequiredPublic ID of a managed file for the same account and key.
allOf branch 1
Type: object
Required in this branch: file_id
file_idstringRequiredPublic ID of a managed file for the same account and key.
webhook_endpoint_idstringOptionalOrdinary tasks may reference a receiver configured in the console; prohibited for persistent.
modelstringRequiredPublic model ID from the current key's catalog; does not guarantee that a historical model remains available.
promptstringRequiredGeneration prompt.
- Minimum length
1- Maximum length
2500
durationintegerOptionalModel-specific duration in seconds. Use the complete combination from video-models mode.presets, not a Cartesian product. Wan Turbo does not support this field; there is no uniform default.
image_urlstringOptionalModel-specific public HTTPS first frame for ordinary tasks only; prohibited for persistent.
end_image_urlstringOptionalModel-specific public HTTPS final frame for ordinary tasks only; prohibited for persistent.
resolutionstringOptionalResolution value in the model preset.
aspect_ratiostringOptionalAspect ratio value in the model preset.
Model-dependent; use the mode's audio policy and presets. Do not assume every model generates audio.
billingobjectOptionalIndependent billing status; do not substitute generation status.
billing child fields (7)
currencystringRequiredQuote/billing currency.
error_codestringOptionalPublic error code usable for branching logic.
statusstringRequiredCurrent object status; evaluate separately from billing and the saving stage.
reserved_quotaintegerRequiredReserved quota in platform quota units, not a USD amount.
Final charge in platform quota units; null means not yet determined.
reserved_amountstringRequiredMaximum reservation amount as a string in the quote currency.
Final charge as a string; null means not settled.
allOf branch 1
Type: object
Required in this branch: currency, status, reserved_quota, final_quota, reserved_amount, final_amount
currencystringRequiredQuote/billing currency.
error_codestringOptionalPublic error code usable for branching logic.
statusstringRequiredCurrent object status; evaluate separately from billing and the saving stage.
reserved_quotaintegerRequiredReserved quota in platform quota units, not a USD amount.
Final charge in platform quota units; null means not yet determined.
reserved_amountstringRequiredMaximum reservation amount as a string in the quote currency.
Final charge as a string; null means not settled.
storageobjectOptionalIndependent file saving status.
storage child fields (3)
file_idstringOptionalPublic ID of a managed file for the same account and key.
statusstringRequiredCurrent object status; evaluate separately from billing and the saving stage.
error_codestringOptionalPublic error code usable for branching logic.
allOf branch 1
Type: object
Required in this branch: status
file_idstringOptionalPublic ID of a managed file for the same account and key.
statusstringRequiredCurrent object status; evaluate separately from billing and the saving stage.
error_codestringOptionalPublic error code usable for branching logic.
availabilityobjectOptionalCurrent available actions.
availability child fields (4)
can_cancelbooleanRequiredWhether the current task allows requesting cancellation.
can_deletebooleanRequiredWhether the current task allows deletion.
can_retry_storagebooleanRequiredWhether the current task allows retrying a save.
reasonstringOptionalPublic reason for an unavailable action or billing review.
allOf branch 1
Type: object
Required in this branch: can_cancel, can_delete, can_retry_storage
can_cancelbooleanRequiredWhether the current task allows requesting cancellation.
can_deletebooleanRequiredWhether the current task allows deletion.
can_retry_storagebooleanRequiredWhether the current task allows retrying a save.
reasonstringOptionalPublic reason for an unavailable action or billing review.
idstringRequiredPublic identifier of this object, used for its corresponding detail path.
modelstringRequiredPublic model ID from the current key's catalog.
statusstringRequiredOrdinary and persistent task status; may be pending_dispatch/submitting/queued/processing/succeeded/failed/cancelled/unknown. A terminal state does not mean billing is settled or archival is ready.
created_atintegerRequiredCreation time in Unix seconds.
resultobjectOptionalMetadata for prepared results; may be absent before completion.
result child fields (8)
file_idstringOptionalPublic ID of a managed file for the same account and key.
storage_statusstringOptionalFile archival status; managed downloads are only guaranteed after ready.
deliverystringOptionalauthenticated_content means the content path must be used; do not assume a direct URL exists.
content_pathstringOptionalPlatform-authenticated content path; request binary content with the same key.
urlstringOptionalAccess URL for a result or reference; signed URLs are only valid briefly.
content_typestringOptionalResult MIME type.
file_namestringOptionalPublic download filename.
file_sizeintegerOptionalResult file size in bytes.
allOf branch 1
Type: object
file_idstringOptionalPublic ID of a managed file for the same account and key.
storage_statusstringOptionalFile archival status; managed downloads are only guaranteed after ready.
deliverystringOptionalauthenticated_content means the content path must be used; do not assume a direct URL exists.
content_pathstringOptionalPlatform-authenticated content path; request binary content with the same key.
urlstringOptionalAccess URL for a result or reference; signed URLs are only valid briefly.
content_typestringOptionalResult MIME type.
file_namestringOptionalPublic download filename.
file_sizeintegerOptionalResult file size in bytes.
errorstringOptionalPublic failure category or error object.
HTTP 400
Invalid request fields or parameters.
application/json
- Type
- object
- Required fields
error
errorobjectRequirederror child fields (4)
codestringOptionalmessagestringOptionaltypestringOptionalrequest_idstringOptional
HTTP 401
The key is missing, invalid, expired, or revoked.
application/json
- Type
- object
- Required fields
error
errorobjectRequirederror child fields (4)
codestringOptionalmessagestringOptionaltypestringOptionalrequest_idstringOptional
HTTP 403
Insufficient IP, account, model, or tool permissions.
application/json
- Type
- object
- Required fields
error
errorobjectRequirederror child fields (4)
codestringOptionalmessagestringOptionaltypestringOptionalrequest_idstringOptional
HTTP 404
Object/capability unavailable, or feature switch disabled.
application/json
- Type
- object
- Required fields
error
errorobjectRequirederror child fields (4)
codestringOptionalmessagestringOptionaltypestringOptionalrequest_idstringOptional
HTTP 409
Idempotency/quote conflict, object not ready, or still referenced.
application/json
- Type
- object
- Required fields
error
errorobjectRequirederror child fields (4)
codestringOptionalmessagestringOptionaltypestringOptionalrequest_idstringOptional
HTTP 429
Request/queue rate limit.
application/json
- Type
- object
- Required fields
error
errorobjectRequirederror child fields (4)
codestringOptionalmessagestringOptionaltypestringOptionalrequest_idstringOptional
HTTP 500
Internal authentication or data storage failure.
application/json
- Type
- object
- Required fields
error
errorobjectRequirederror child fields (4)
codestringOptionalmessagestringOptionaltypestringOptionalrequest_idstringOptional
HTTP 503
Service, pricing, or storage unavailable.
application/json
- Type
- object
- Required fields
error
errorobjectRequirederror child fields (4)
codestringOptionalmessagestringOptionaltypestringOptionalrequest_idstringOptional