poddub docs

Limits

How many calls, how large, and how to wait.

Calls a minute

Each key, and each agent a person connected by signing in, can make 60 calls a minute. Each person can make 300 a minute, and every call of every key they hold and every agent they connected counts toward those 300 as well as toward the agent's own 60. So a person cannot go faster by holding more keys or connecting more agents.

A call over either limit is refused with rate_limited, before it does anything. The answer says how many seconds to wait: in the Retry-After header of the HTTP answer, and in retryAfterSeconds in the tool's result. Wait that long and call again.

The size of a call

A call can carry up to 4.5 MB, the most a request can carry where poddub runs; anything larger is refused before poddub sees it. In practice a call is far smaller: the largest thing an agent sends is a pasted source, at most 60,000 characters. Files are uploaded in the app, never through an agent.

Waiting for an episode

Writing a script and making the audio take minutes, so poddub never makes an agent hold a call open for them. Starting an episode comes back at once, and so does an approval. The agent then reads the episode with get_episode every 20 to 30 seconds until it is in review, or ready.

Two calls do their work inside the call: having poddub write one line again, and the whole script. Each can take up to about two minutes, and poddub allows a call up to five minutes. A client that gives up sooner should be told to wait longer: Claude Code's timeout does that, as Connect Claude Code shows.

The organization's allowance

Minutes, script generations, rewrites of single lines and the number of sources are the organization's plan, the same for the app and for every agent. get_allowance shows what is left and when it resets, and a call that would go past it is refused with the reason.

Rewrites of single lines are counted twice: for each episode, and for the organization's whole billing period. When either is spent, regenerate_turn is refused with turn_regenerations_exhausted until the period resets.

When generation is paused

poddub's operator can pause new generation for a while. Then the five calls that would write or voice a script, create_episode, regenerate_script, regenerate_turn, approve_episode and retry_episode, are refused with generation_paused before they do anything: nothing is counted or charged, and an episode already being made is finished. Everything else keeps working. Try again later.

On this page