track_progress
Manage long-running work in the editor.
Use this when a step has already been started and you now need its current status, progress, completion, or submission params recorded with the job.
target=generation (default): track job-backed tasks such as image/video/music/TTS generation by job ID. Supports action=status, wait, params.
If generation succeeds at the provider but asset finalization fails, the terminal entry includes an expiring recoveryUrl. Download it immediately and import the local file instead of resubmitting and spending credits again.
target=transcription: track transcript readiness on an asset by asset ID. Supports action=status, wait.
target=upload: report cloud-copy readiness and, when an open web editor is available, its current upload pipeline state. This status check never starts uploads. Tools needing remote bytes start the upload themselves and fail with its expected time and the next step to take; follow that instead of polling here. A local-only asset has no active upload in the reporting editor; invoke the operation requiring remote bytes to start one. Relink only if its local source is missing. Do not wait preemptively for metadata-only edits or local browser inspection/export.
Use track_export for submitted video/audio/cloud render jobs and export history status.
Every call returns immediately after one status read. action=wait is a compatibility alias that also returns immediately and includes check-back guidance for non-terminal work.
Non-terminal results include checkBackAfterSeconds. When the current task depends on completion, use your environment's sleep command (for example, Bash
sleep 30) for at least that interval, then call action=status once. Allow at most one sleep-and-recheck cycle per turn; if it is still non-terminal, tell the user and stop. Never busy-poll. If the current task is not blocked, tell the user it is still running and stop immediately.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"action": "<action>"
},
"name": "track_progress"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | status, wait, or params | |
| jobIds | No | Job IDs or prefix IDs, comma-separated, for target=generation | |
| target | No | Which async task kind to inspect: generation, transcription, upload | |
| assetIds | No | Asset IDs or prefix IDs, comma-separated, for target=transcription or upload | |
| projectId | No | Full project UUID. Required for external browser work; internal agents may omit. Execution/explicit-timeline calls never change later calls' target. | |
| timelineId | No | Full timeline UUID, not a prefix. Required for browser work, even unplaced assets. Get it from read_project or manage_timelines action="list". Never switches visible timeline. | |
| idempotencyKey | No | Stable key for this browser execution. Reuse only with identical scope and parameters after a lost acknowledgement; applies only to this call. | |
| browserProfileId | No | Optional browser profile override. Omit to select automatically; do not ask the user to choose. |