# The video task object Detailed task view. With an unavailable result, the task stays processing and settlement remains under review. Succeeded tasks have result files and available delivery. Failed or cancelled tasks can have pending or settled billing; once settled, their final charge and amount due are zero. ## Attributes | Field | Type | Requirement | Description | | --- | --- | --- | --- | | `id` | string | Required | Task ID assigned by the platform. Length: 4–128. Characters: A–Z a–z 0–9 _ -. | | `object` | string | Required | Identifies the kind of object returned. Always: video.task. | | `request_id` | string | Required | Request ID used to correlate this task. Length: 4–128. Characters: A–Z a–z 0–9 _ -. | | `billing_correlation_id` | string | Required | Billing correlation ID for this task. Length: 4–128. Characters: A–Z a–z 0–9 _ -. | | `model` | string | Required | ID of the model used for this request. `dreamina-seedance-2-0-260128`: Seedance 2.0; `dreamina-seedance-2-0-fast-260128`: Seedance 2.0 Fast; `dreamina-seedance-2-0-mini-260615`: Seedance 2.0 Mini; | | `status` | string | Required | Current state; see the value notes for its meaning. `queued`: Queued; `processing`: Processing; `succeeded`: Succeeded; `failed`: Failed; `cancelled`: Cancelled; | | `phase` | string | Required, nullable | Current execution phase, or null when no phase applies. `preparing_assets`: Preparing inputs; `waiting_route`: Waiting; `submitting`: Starting; `provider_processing`: Generating; `reconciling`: Confirming the result; `finalizing`: Finishing; `settlement_pending`: Awaiting settlement; `null`: Null value; | | `delivery_status` | string | Required | Progress of result file delivery. `pending`: Not yet delivered; `materializing`: Preparing the download; `available`: Ready to download; `output_unavailable`: Result unavailable; | | `settlement_status` | string | Required | Current progress of billing settlement. `reserved`: Reserved; `pending`: Pending; `reconciliation_required`: Under review; `settled`: Settled; `settled_with_receivable`: Settled - amount due; | | `created_at` | integer | Required | Creation time as whole seconds since the Unix epoch. Range: ≥ 0. | | `started_at` | integer | Required, nullable | Time the task started, or null before it starts. Range: ≥ 0. | | `completed_at` | integer | Required, nullable | Time the task finished, or null while unfinished. Range: ≥ 0. | | `usage` | object | Required, nullable | Recorded usage, or null when it is not available. | | `usage.meter_type` | string | Required | The meter used to record usage. Always: seedance_video_generation. | | `usage.video_tokens` | integer | Required, nullable | Number of video tokens. The field type determines whether an actual usage value may be null. Range: ≥ 0. | | `usage.output_duration_seconds` | integer | Required | Duration of the output video in seconds. Range: ≥ 0. | | `usage.input_video_duration_seconds` | integer | Required | Combined duration of reference video input in seconds. Range: ≥ 0. | | `usage.resolution` | string | Required | Output resolution. The fast and mini models accept only 480p or 720p. `480p`: 480-line resolution; `720p`: 720-line resolution; `1080p`: 1080-line resolution; | | `usage.fps` | integer | Required | Frames per second in the video. Range: 1–120. | | `usage.has_reference_video` | boolean | Required | Whether reference video was used as input. | | `billing` | object | Required | Billing summary for the task, or null. | | `billing.currency` | string | Required | Currency of the amounts: USD. Always: USD. | | `billing.final_actual_cost` | string | Required, nullable | Final charge, or null while the amount is not final yet. Format: 6 decimal places. | | `billing.collected_liability_amount` | string | Required | Amount collected toward the charge. Format: 6 decimal places. | | `billing.funding_debit_amount` | string | Required | Amount debited from balance. Format: 6 decimal places. | | `billing.refunded_liability_amount` | string | Required | Amount of the charge refunded. Format: 6 decimal places. | | `billing.funding_refund_amount` | string | Required | Amount refunded to balance. Format: 6 decimal places. | | `billing.outstanding_receivable` | string | Required | Amount due that has not been collected. Format: 6 decimal places. | | `billing.billing_url` | string | Required | Relative path to this task's billing details. Format: /v1/video/tasks/{task_id}/billing. | | `output` | object | Required, nullable | Generated result information, or null. | | `output.assets` | array | Required | Files belonging to the generated result. Items: 1–16. | | `output.assets.asset_id` | string | Required | ID assigned to the asset by the platform. Length: 4–128. Characters: A–Z a–z 0–9 _ -. | | `output.assets.media_type` | string | Required | The kind of media in this file. `video`: Video media; `image`: Image media; `audio`: Audio media; | | `output.assets.role` | string | Required | How the asset is used in the input or result. `result`: Result file; `last_frame`: Last frame; `audio`: Audio media; | | `output.assets.url` | string | Required, nullable | HTTPS download link when ready, or null when expired or unavailable. Length: 12–4096. Format: https://. | | `output.assets.materialized_at` | integer | Required, nullable | Time the result became ready, in whole Unix seconds. Range: ≥ 0. | | `output.assets.expires_at` | integer | Required, nullable | Expiry time of the result: the time it becomes ready plus the retention period in force at that time (7 days by default), measured separately from task completion. Range: ≥ 0. | | `output.assets.delivery_source` | string | Required | Where the result is made available for delivery. `platform`: Storage: Platform; | | `output.assets.materialization_status` | string | Required | Progress of preparing the result. `completed`: Saved; `retrying`: Saving; `failed`: Failed; | | `output.assets.download_status` | string | Required | Whether the result is ready to download, expired or unavailable. `available`: Available; `expired`: Expired; `unavailable`: Unavailable; | | `cancellation` | object | Required, nullable | Cancellation information already attached to the task, or null. | | `cancellation.cancel_operation_id` | string | Required | Stable ID of the cancellation operation. Length: 4–128. Characters: A–Z a–z 0–9 _ -. | | `cancellation.status` | string | Required | Current state; see the value notes for its meaning. `requested`: Requested; `effective`: Cancelled; `not_effective`: Not cancelled; `failed`: Failed; | | `cancellation.reason_code` | string | Required, nullable | Reason cancellation did not take effect or failed. Null when requested or effective. Length: 1–96. Characters: a–z 0–9 _. | | `error` | object | Required, nullable | An object describing the error. | | `error.code` | string | Required | A code your application can use to handle the error. `no_common_asset_route`: Assets temporarily unavailable; `asset_not_ready`: A referenced asset is still processing; `asset_review_timeout`: Asset review timed out; `route_misconfigured`: Service configuration error; `route_temporarily_unavailable`: Temporarily unavailable; `generation_expired`: Generation expired; `generation_failed`: Generation failed; `input_fetch_failed`: An input could not be downloaded from its URL; `input_url_not_allowed`: An input URL is not allowed; `input_too_large`: An input exceeds its size limit; `input_unsupported`: An input format, dimensions or duration is unsupported; `input_rejected`: An input did not pass content review; `input_preparation_failed`: The inputs could not be prepared in time; `input_duration_exceeded`: The combined input duration exceeds the model limit; | | `error.message` | string | Required | A readable explanation of the error. Length: 1–1024. | | `error.details` | object | Optional | Optional fields with more information about the error. | | `error.details.content_index` | integer | Optional | Zero-based position of the failed input in the original content array, including text items. Range: 0–50. | ## Example ```json { "id": "task_32ae2a5177b310d3bc1ec83a98f63889", "object": "video.task", "request_id": "req_6acd96894df9798feb0ddb21e5a52d70", "billing_correlation_id": "billcorr_2f6c57065a4404b27fb9b6b24ea9a0d0", "model": "dreamina-seedance-2-0-260128", "status": "succeeded", "phase": null, "delivery_status": "available", "settlement_status": "settled", "created_at": 1793167380, "started_at": 1793167381, "completed_at": 1793167382, "usage": { "meter_type": "seedance_video_generation", "video_tokens": 51652, "output_duration_seconds": 5, "input_video_duration_seconds": 0, "resolution": "720p", "fps": 24, "has_reference_video": false }, "billing": { "currency": "USD", "final_actual_cost": "0.361564", "collected_liability_amount": "0.361564", "funding_debit_amount": "0.361564", "refunded_liability_amount": "0.000000", "funding_refund_amount": "0.000000", "outstanding_receivable": "0.000000", "billing_url": "/v1/video/tasks/task_32ae2a5177b310d3bc1ec83a98f63889/billing" }, "output": { "assets": [ { "asset_id": "asset_4d00c4c64086b1e29724c1f2349f3708", "media_type": "video", "role": "result", "url": "https://media.example.invalid/download/result-0001?signature=example", "materialized_at": 1793167385, "expires_at": 1793253785, "delivery_source": "platform", "materialization_status": "completed", "download_status": "available" } ] }, "cancellation": null, "error": null } ``` Read this object with [Read a video task](./api-docs-en-api-video-tasks-retrieve.md).