Skip to main content
This guide targets published 1.1.0. See SDK setup for configuration and general errors.

Submit and poll

The SDK passes task dictionaries through to REST, including the current per-task controls. run_async=True submits asynchronous server work; the Python method itself blocks until the submission response arrives.

Method options

Browser submission requests use a 300-second HTTP timeout, retrieval/list requests 60 seconds, and queue status 30 seconds. Use async submission for longer tasks. There is no exposed client-wide timeout or retry option.

Stream a new submission

Reuse client and tasks from the example above:
This call creates a new run. Streamed error frames raise SDK exceptions. A clean iterator exit without done still requires recovery; the SDK does not make EOF a terminal success. To attach to a saved async ID, use existing-run SSE over direct HTTP.

History and evidence

include_events=True adds available timelines and screenshots. Routine polling should omit it. Status and results explains pending stubs, null slots, uppercase task statuses, and lowercase batch statuses.

Billing and queue errors

Use direct REST when a retry needs an idempotency key; the SDK has no idempotency or arbitrary-header option.