Skip to main content
This page maintains common task and file rules. See CLI workflows and MCP workflows for execution steps.

Submit once and retain the task ID

Generation can return outputs directly or a task_id. Retain the ID, model, inputs, and reported status, then query the original task until completion or confirmed failure. Interpret actual returned states; a tool wait timeout is not generation failure. Released CLI and MCP currently have no usable public cancellation entry. Closing a terminal, conversation, or connection neither cancels the task nor establishes no charge.

Recover timeouts and unknown outcomes

1

Preserve the original identity and submission record

CLI retains quote_id and its recovery record; MCP retains client_request_id, original inputs, and errors. Prefer querying an existing task_id over generating again.
2

Recover through the original route

Follow CLI recovery or MCP recovery. Keep the original identity, inputs, and request ID. Do not change accounts, Keys, or CLI/MCP routes and resubmit.
3

Establish task and billing facts

Save completed outputs; inspect billing after confirmed failure. If still unknown, preserve the error/time and contact support. Unknown does not mean nothing generated or charged.

Make references readable by the model

  1. Check accepted image/video/audio types, counts, sizes, and reference combinations.
  2. Use a file readable in the execution environment or a URL accessible to the server. Chat attachments and desktop paths are not automatically remote-readable.
  3. Confirm the upload receipt and file URL before adding it to model inputs and estimating again.
  4. Preserve the original upload_id when the outcome is unknown. Request a replacement only after confirmed failure or expiry; receipt support depends on deployment.

Expiry and storage

Actual returned values apply. Receipt compatibility depends on file-service deployment. Downloaded originals remain in user storage; temporary URLs, documentation, and chat attachments are not permanent storage. Re-upload expired references and reconfirm changed inputs.

Download and preview troubleshooting

  1. Query the original task and confirm completion. Use its original URL; headers cannot fix expired, private, or invalid links.
  2. CLI users can use download. MCP users can open originals in a browser or save them from a file-capable environment. See CLI downloads and MCP delivery.
  3. Check HTTP status, Content-Type, and actual format. Error HTML/JSON is not media. Match extensions to real formats rather than renaming every image PNG.
  4. Open the original when a preview is gray or only a link appears. If it works, deliver/save it. Host previews must not trigger unapproved regeneration or editing.

Default Python requests rejected

When a valid original works in a browser/curl but default Python fails, controlled code can set a product User-Agent. This image example assumes result_url is already a valid original URL:
The example rejects non-image responses and avoids overwrites. Change the extension when the actual format is not PNG. Video/audio need matching MIME checks, filenames, and separate verification. This approach was verified only for particular metadata/image cases, not every client, file, or network. CLI downloads already set a product UA.

Information for support

Provide OS, agent/version, CLI/MCP version, route, failed stage, time, error code, expected/actual behavior, existing task_id, quote_id/client_request_id, upload_id, and redacted diagnostics. Mention SSH, containers, or proxies. Hide OAuth tokens, Keys, full authorization links, single-use upload URLs, signed private URLs, and private files. Do not share credential files or full environment dumps. Start with CLI troubleshooting or MCP troubleshooting to locate the stage.