Background mode lets you submit long-running tasks and retrieve results later. Combined with the reasoning parameter, you can control how deeply the model thinks.
Reasoning Parameter
For stateless workflows (zero data retention), use encrypted reasoning: include ["reasoning.encrypted_content"] in the include parameter and pass the encrypted reasoning back in subsequent turns.
Two orthogonal knobs
Background mode is about delivery: submit, poll, retrieve. The work runs server-side without you holding an HTTP connection for two minutes. Reasoning effort is about depth: how many hidden chain-of-thought tokens the model is allowed to use before producing visible output.
You can combine them — background=True + reasoning_effort='high' for a long deep-research call that takes 2-5 minutes. Or use them separately. Always log usage.reasoning_tokens on o-series; it's the cost line that surprises teams new to reasoning models.