# Runware docs: AI Agent Readiness Score 81.2% (B-)

**81.2% · 65/80 · AI Agent Readiness Score · 25/30 reading points · 40/50 agent surface points**

Runware received 11 PASS votes and passed 4 of five agent surface checks. The clearest finding came from the find the exact limits task.

- Tested: 2026-08-19
- Published: 2026-09-21
- Battery: v1
- Scoring: reading 30 pts · surface 50 pts
- Docs: https://runware.ai/docs

Three AI models, GPT 5.6 Sol, Claude Opus 5, and DeepSeek v4 Flash, each read Runware’s public documentation independently and attempted five first-hour developer jobs: generate an image, find the exact limits, recover from a 429, verify an inference webhook, use the TypeScript SDK.

No accounts, API calls, or code execution were used. Every verdict came from public pages and every published quotation passed a live verification check.

## Freshness

[How rechecks work](https://docsforagents.com/methodology/#freshness)

- Category: [AI models & inference](https://docsforagents.com/grades/?category=ai-models)
- Tested: 2026-08-19
- Quotes verified: 2026-08-19
- Surface rechecked: 2026-09-21

No change since the test.

5 of 5 quoted passages still appear on the live pages.

## Agent surface checks · 40/50

| Check | Verdict | Points |
| --- | --- | --- |
| llms.txt | PASS | 10 |
| llms-full.txt | FAIL | 0 |
| Markdown mirror | PASS | 10 |
| MCP server | PASS | 10 |
| Docs AI | PASS | 10 |

## The Reading Test · 25/30

| Task | GPT 5.6 Sol | Opus 5 | DeepSeek v4F | Consensus |
| --- | --- | --- | --- | --- |
| Generate an image | PASS | PASS | PASS | PASS |
| Find the exact limits | FAIL | PARTIAL | PASS | SPLIT |
| Recover from a 429 | PARTIAL | PASS | PASS | PASS |
| Verify an inference webhook | PASS | PASS | PASS | PASS |
| Use the TypeScript SDK | PASS | PARTIAL | PASS | PASS |

Docs platform: Custom Astro (unscored) · verified 2026-08-19

## What to fix first

These 2 fixes could add up to 13 points to the AI Agent Readiness Score. The list ranks each fix by the points it would add. [How the ranking works](https://docsforagents.com/methodology/#what-to-fix-first)

1. **+10 points · llms-full.txt · check failed**

   **Found:** HTTP 404 HTML, not plausible llms content.

   **Fix:** Publish llms-full.txt at the docs root with the full text of every docs page in one plain-text file.

   **Evidence:** [runware.ai/docs/llms-full.txt](https://runware.ai/docs/llms-full.txt)

2. **+3 points · Find the exact limits · SPLIT**

   **Found:** Rate Limits says there are no hard rate limits but gives no queue capacity figure. Opus 5 also found no stated scope for the 2-4 concurrent request advice.

   **Fix:** State whether the 2-4 concurrency advice is per key, account, or model, and give queue capacity or say it varies.

   **Evidence:** [runware.ai/docs/platform/rate-limits](https://runware.ai/docs/platform/rate-limits)

## What the docs get right

- **Generate an image: 3 PASS votes.** The introduction gives API-key setup and minimum cURL, TypeScript, and Python calls for the shared task API.
- **Verify an inference webhook: 3 PASS votes.** One page covers webhookURL, query-token validation, POST handling, a five-second response target, retries, and taskUUID deduplication.
- **4 of 5 agent surface checks.** Present: llms.txt, markdown mirrors, an MCP server, docs AI. Missing: llms-full.txt.

## Generate an image

**PASS**

PASS consensus from 3 PASS.

The introduction provides signup, key creation, Bearer authentication, a complete image request, and an imageURL response. Introduction gives a four-step signup-to-key path and a complete cURL request whose documented response contains imageURL, and Authentication states the endpoint, method, header auth, and array payload shape without ambiguity. The auth page walks from sign-up through API-key creation to a working curl command; the text-to-image page returns the generated imageURL in the response.

## Find the exact limits

**SPLIT**

SPLIT consensus from 1 PASS, 1 PARTIAL, 1 FAIL.

The page states no hard rate limits and recommends 2-4 requests, but it gives no numeric queue capacity. Recommended concurrency is a concrete 2-4, but no queue-capacity number is published anywhere and the page lists 'Real-time capacity metrics - API endpoints showing current queue depth and estimated processing times' as unshipped future work, so two of the three requested values do not exist and the 2-4 figure never states whether its scope is per key, per account, or per model. No numeric rate-limit or queue-depth values are published, but the docs are internally consistent: no hard limits, shared finite queues, recommended 2-4 concurrent requests.

## Recover from a 429

**PASS**

PASS consensus from 2 PASS, 1 PARTIAL.

The backoff example is specific, but queue capacity is unnumbered and the errors page gives a different 429 cause. Runnable TypeScript and Python retry helpers give the exact policy (retry on 429 and 503 only, 1s/2s/4s doubling, maxRetries 3, rethrow everything else), and the docs explain that the applicable threshold is dynamic rather than fixed, offering sub-30s latency as the health signal instead. HTTP 429, 503, and 504 are listed as transient retryable errors; TypeScript and Python code examples implement exponential backoff starting at 1s.

## Verify an inference webhook

**PASS**

PASS consensus from 3 PASS.

One page covers webhookURL, query-token validation, POST handling, a five-second response target, retries, and taskUUID deduplication. All five steps are covered in one page with working code: webhookURL on the request, the full POST body, an Express handler that rejects on a mismatched query token, the 2xx and 5s window, and a taskUUID Set for deduplication, though the 'Receiving notifications' code tabs are miswired and render the webhook response payload as arguments to a client.run() generation call. Complete walkthrough: set webhookURL, verify via token query param, return 2xx within 5 seconds, deduplicate with processed.has(taskUUID), and exponential-backoff retry delivery.

## Use the TypeScript SDK

**PASS**

PASS consensus from 2 PASS, 1 PARTIAL.

The @runware/sdk quick start uses REST and the core REST fields, then prints images[0].imageURL. The TypeScript SDK page alone is excellent and its quick start maps field-for-field onto the REST body, but the site's own llms.txt names the legacy package @runware/sdk-js as the official SDK, so an agent entering through the machine-readable index installs the wrong package and only recovers by cross-referencing the javascript-legacy page. Install @runware/sdk, create a REST client with createClient, call client.run() with imageInference params, and read imageURL from the result.

## The receipt

> Shared queues - Requests are processed through model-specific queues with finite capacity.

The page states no hard rate limits and recommends 2-4 requests, but it gives no numeric queue capacity.

- [runware.ai/docs/platform/rate-limits](https://runware.ai/docs/platform/rate-limits)

## Agent surface notes

Initialize returned a valid OAuth-protected MCP authentication challenge.

The live docs expose an Ask AI Assistant action and public question form.

## Method note

This is a reading test of public documentation, not an execution test. No accounts were created and no API calls were run. The AI Agent Readiness Score counts fifteen reading votes at PASS 2, PARTIAL 1, and FAIL 0, for 30 possible points. Five agent surface checks add 10 points each. The total is 80. Consensus chips show each row majority and do not affect scoring. The panel split on 3 of five tasks. Quotes shown here were re-fetched and confirmed verbatim on 2026-08-19.

Methodology: https://docsforagents.com/methodology/

Canonical URL: https://docsforagents.com/reports/runware-docs-ai-agent-readiness/
