Ruwana Developer Documentation
Prepare a Ruwana integration for real production traffic.
Production reliability starts with stable logical request identity, documented input limits, owner-bound durable state and a client-side archival plan for temporary media delivery.
Current public limits
| Product | Input limits | Production limits |
|---|---|---|
| Image | PNG/JPEG/WebP references · max 16 MB each | Creative 0–16 refs; Product/Polish exactly 1; count 1–4; Idempotency-Key 8–128 chars |
| Motion | Character image max 16 MB · MP4/MOV motion video max 100 MB | 3–30 sec server-derived duration · 720p or 1080p |
| Avatar | Avatar image max 16 MB · uploaded audio max 32 MB · speech max 3000 chars | 3–30 sec prepared audio · 720p Standard or 1080p Pro |
Retry and request identity
Assign one Idempotency-Key
Use one stable key for the logical business operation, not a new key for each HTTP attempt.
Retry uncertain transport with the same key
If the client cannot tell whether a POST was accepted, replay the same canonical request under the same key.
Poll durable media jobs instead of resubmitting
PRO, Video, Motion and Avatar return a durable request identity when work remains in progress. Read that same request until it becomes terminal.
Stop on terminal states
Failed and manual-review states are terminal. Do not create blind duplicate production.
Billing safety
- Wallet availability is checked against the request quote
- Production billing is success-only
- Successful idempotent replay returns the existing logical request
- Replay does not create a second successful debit for the same completed request
Media archival
- Generated Platform media is retained for exactly 7 days from completion
- Successful responses expose the media expiry deadline
- Replay never extends the original expiry
- Archive any asset your application must keep permanently
Numerical throughput limits are not part of the current public contract. Ruwana does not publish a fixed requests-per-second or concurrency number here. Integrations should build against the documented request, error, idempotency and durable-status behavior rather than assuming an undocumented quota.
Production checklist complete?
Review Security & data for credential/media behavior, then keep Changelog in the release workflow.