---
title: "Limits"
description: "How many calls, how large, and how to wait."
canonical: "https://poddub.com/docs/agents/limits"
last-updated: "2026-10-29"
---

# 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`](/docs/agents/tools/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](/docs/agents/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`](/docs/agents/tools/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`](/docs/agents/tools/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`](/docs/agents/tools/create_episode), [`regenerate_script`](/docs/agents/tools/regenerate_script), [`regenerate_turn`](/docs/agents/tools/regenerate_turn), [`approve_episode`](/docs/agents/tools/approve_episode) and [`retry_episode`](/docs/agents/tools/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.
