| name | ideogram-rate-limits |
| description | Implement Ideogram rate limiting, backoff, and request queuing patterns.
Use when handling rate limit errors, implementing retry logic,
or optimizing API request throughput for Ideogram.
Trigger with phrases like "ideogram rate limit", "ideogram throttling",
"ideogram 429", "ideogram retry", "ideogram backoff", "ideogram queue".
|
| allowed-tools | Read, Write, Edit |
| version | 1.10.0 |
| license | MIT |
| author | Jeremy Longshore <jeremy@intentsolutions.io> |
| tags | ["saas","ideogram","api","rate-limiting"] |
| compatibility | Designed for Claude Code, also compatible with Codex and OpenClaw |
Ideogram Rate Limits
Overview
Handle Ideogram's rate limits with exponential backoff, request queuing, and concurrency control. Ideogram enforces a default limit of 10 in-flight requests (concurrent, not per-minute). Image generation takes 5-15 seconds per call, so this limit can be hit quickly during batch operations.
Prerequisites
IDEOGRAM_API_KEY configured
- Understanding of async patterns
p-queue npm package (optional, for queue-based approach)
Ideogram Rate Limit Model
| Aspect | Detail |
|---|
| Type | Concurrent in-flight requests |
| Default limit | 10 simultaneous requests |
| Error code | HTTP 429 |
| Retry header | Not guaranteed -- use exponential backoff |
| Higher limits | Contact partnership@ideogram.ai |
| Generation time | 5-15s per image (varies by model/resolution) |
Instructions
Step 1: Exponential Backoff with Jitter
async function withBackoff<T>(
operation: () => Promise<T>,
config = { maxRetries: 5, baseMs: 1000, maxMs: 30000, jitterMs: 500 }
): Promise<T> {
for (let attempt = 0; attempt <= config.maxRetries; attempt++) {
try {
return await operation();
} catch (err: any) {
if (attempt === config.) err;
status = err. ?? err.?.;
(status && status !== && status < ) err;
exponential = config. * .(, attempt);
jitter = .() * config.;
delay = .(exponential + jitter, config.);
.();
( (r, delay));
}
}
();
}