Platform
Limits and pricing
What a video costs, the monthly pitch cap, and every rate and size limit.
Every plan can make productions, Free included. Pitches are free. A video costs 60 credits per second of video, charged once when it is greenlit. There is no monthly limit on videos. The plan only sets how many pitches a workspace can ask for a month, which stops a noisy trigger from piling up pitches nobody reads.
Price and pitch caps
| Plan | Pitches a month |
|---|---|
| Free | 10 |
| Hobby | 20 |
| Pro | 60 |
| Max | 200 |
| Team | 200 |
- Pitch caps are per workspace per calendar month. A pitch counts when it is written.
- Each video costs 60 credits per second of video, so a 5 second video is 300 credits and a 15 second one 900 credits (1 credit is 1 cent at retail). The pitch quotes the exact number as
estimatedCreditsbefore anyone pays, and a revised pitch is priced again. Paid plans come with monthly credits that pay for videos too, and anyone can buy credit packs; see pricing. - 6 pitch versions per production, so 5 rounds of comments after the first pitch. Comments cost no credits, but each new version counts as one pitch against the monthly cap; once the cap is reached the current pitch stands.
- Skipped and declined pitches cost nothing. A production cancelled after the greenlight but before a render machine picks it up is refunded in full, and so is one that fails in production. If no render machine can start on a greenlit video within 30 minutes, the production fails and the credits are refunded.
GET /v1/productions/usagereturnsproductionsThisMonth,pitchesThisMonth,pitchesCapandcreditsChargedfor the month.
Rate limits
| Surface | Limit | Counted per |
|---|---|---|
/v1/productions | 120 requests a minute | key |
/v1/webhooks | 60 requests a minute | key |
/v1/renders | 30 requests a minute | key |
/v1/keys | 60 requests a minute | IP |
/production-links | 30 requests a minute | IP |
Over a rate limit: 429 with code: "rate_limited" and Retry-After in seconds. Over the monthly pitch cap: 429 with code: "cap".
Brief limits
| Field | Limit |
|---|---|
intent | 2,000 characters |
context | 60,000 characters |
media | 20 items |
code | 40 files, 200,000 characters of source each |
code[].patch | 20,000 characters |
code[].digest | 1,500 characters |
format.durationMs | 5,000 to 15,000 |
| Pitch shots | 1 to 24 |
| Comments on a pitch | 4,000 characters |
externalId | 200 characters |
Webhook limits
| What | Limit |
|---|---|
| Endpoints per workspace | 10 |
| Attempt timeout | 10 seconds |
| Attempts per delivery | 6 (immediate, then 30s, 2m, 10m, 1h, 6h) |
| Auto-disable | after 20 exhausted deliveries in a row; any success resets |
| Previous secret after a roll | valid 24 hours |
| Response body kept per delivery | first 2 KB |
| Delivery log retention | 30 days, or until the endpoint is deleted |
| URL | https only, public address, 2,000 characters |
Keys and links
| What | Limit |
|---|---|
| Device-code request | 10 minutes to approve, then 10 minutes to claim |
| Poll interval | 3 seconds |
| Greenlight link lifetime | 30 days, or until the pitch changes |
| Comment through a link | 4,000 characters |
Time to deliver
A pitch usually lands within a couple of minutes. Making the video takes longer and depends on how busy Raylight is. While a production is greenlit, in production or exporting, its queue object says what it is doing (phase, with lastProgress as the label to show, null while it waits to start), when work on it started, and whether an earlier try failed and Raylight is trying again (retrying), so your integration can show where it stands. If no render machine can start on a greenlit video within 30 minutes, the production fails and the credits are refunded.