YouTube Data API 10,000-unit pool: budget checks for a pipeline
Google gives a project 10,000 units a day shared by endpoints other than search.list and videos.insert. Poll Sume for job status instead of spending them.

Google's quota page says endpoints other than search.list and videos.insert share a default of 10,000 units per day. Keep that pool for the calls only YouTube can answer, and learn about render completion from Sume instead: a signed job.completed webhook, or polls of GET /v1/jobs/{id}/status on api.sume.com, spend none of your YouTube units.
Which method costs what is on Google's page: it lists videos.insert at 1 quota point per call, with its own 100-call daily limit.
Where does each check belong?
Route each question to the system that can answer it cheaply.
| Question | Ask | Cost to your YouTube quota |
|---|---|---|
| Is the clip rendered? | Sume webhook or status_url | None |
| Did the upload start? | YouTube response to videos.insert | Its own 100-call bucket |
| Other YouTube reads | Shared 10,000-unit pool | Per Google's cost table |
How do I keep a tally?
Track the units you spend per day and stop at a margin. Look up each method's cost on Google's table. The sample keeps a counter.
class DailyBudget:
def __init__(self, units: int = 10_000, reserve: int = 500):
self.left = units - reserve
def spend(self, cost: int) -> bool:
if cost > self.left:
return False
self.left -= cost
return True
if __name__ == "__main__":
budget = DailyBudget()
print(budget.spend(1), budget.left)What about missed webhooks?
Webhooks can be missed, so keep a slow sweeper that reads Sume status, which is free of YouTube quota, and redeliver with POST /v1/jobs/{job_id}/webhook/redeliver when the job finished but your receiver never saw it. The post on a reconcile sweeper shows the loop.
Sources
Related posts
More in Developers
- YouTube Shorts top out at 1080p: don't render 2160 in Timeline 1.0
YouTube's help page says Shorts can be uploaded at a maximum of 1080p. Timeline 1.0 allows up to 2160 per side, so set 1080x1920 and save render time.
- YouTube Studio takes 15 Shorts per upload: batch-render vertical clips
YouTube lets you pick up to 15 Short files at once, each up to 3 minutes, square or vertical. Submit the jobs in a Python loop with idempotency keys on Sume.
- A zsh function: submit a video prompt, keep your terminal free
A 19-line .zshrc function sends a prompt to Sume Wan 3.0 (2 s, 480p, $0.125), returns at once and saves the MP4 later. Do not name a variable status.
- Which MCP server lets Claude Code or Cursor generate video and images?
MCP servers that let Claude Code and Cursor make video and images: Sume, fal, Replicate, Runway, Higgsfield. Endpoints, sign-in, billing, setup.
Written by Sume