Raylight API

A video for every
feature you ship

Send what the video is about from your code, a GitHub workflow, or a chat with Claude. Raylight writes the script and shot list for free, then makes a short feature video once you greenlight it, as a project you can keep building into a full launch video.

Pay anyone in a tap

acme/ios #412 · Feature · 15s · 16:9

Wrapped

Brief

Show the new pay and request flow in the Acme app

raylight.app/v/pay-anyone-in-a-tapCopy link

For developers

Works with
your stack

A REST API with a typed TypeScript SDK, a CLI and a GitHub Action, plus an MCP server for Claude and ChatGPT. If it can send an HTTP request, it can ask for a video.

  • TypeScript SDK
  • REST API
  • CLI
  • GitHub Actions
  • Claude
  • Codex
  • Cursor
  • Webhooks
  • Greenlight links
import { Raylight } from "@raylight/sdk";const raylight = new Raylight();const production = await raylight.productions.create({  brief: { intent: "Show the new pay flow in the Acme app" },  greenlightMode: "auto",});const { production: done } = await raylight.productions.waitForDelivery(  production.id);console.log(done.delivery?.shareUrl);

Four steps.
Only one needs you.

Raylight writes the pitch and makes the video. You read it and greenlight it, or let it go ahead on its own.

{  "brief": {    "intent": "Introduce the new prompt bar",    "context": "Type what you want and Acme builds it.",    "media": [      { "id": "bar", "kind": "image", "name": "Prompt bar",        "url": "https://acme.dev/press/bar.png" }    ],    "format": { "template": "feature", "aspect": "16:9" }  },  "externalId": "acme/web#512"}

1 · Send a brief

One sentence about the video, plus any release notes, screenshots or UI files you have.

Pitchv2Pitch ready

Just ask

A 5 second feature recap. One prompt, one send, and the answer it builds. Opens on the prompt bar, as asked.

  1. 01Open on the barThe prompt bar fades in on a soft gradient
  2. 02The askA prompt types itself out
  3. 03SendPush in as the button is pressed
  4. 04The answerThe reply streams in, line by line

2 · Read the pitch

A script and shot list, written for free. If a change isn't worth a video, it says so and charges nothing.

Raylight

to you and the launch team

Pitch ready: Just ask

4 shots, 5 seconds. Nothing is charged until you greenlight it.

Greenlight for 300 creditsSend commentsDecline
  1. Open on the prompt bar, not the logo
  2. Pitch v2 readyFree
  3. Greenlit by MayaIn production

3 · Greenlight it, or send comments

Greenlight in the app, in chat, or from the signed link in Raylight's email. Your webhook can post the same link to Slack. Comments get a free new version, up to 5 rounds.

raylight.app/v/just-ask
Share linkEditable project

4 · Get the video

A share link, plus a real Raylight project you can open and keep editing.

The API

A call for every step

Send a brief, read the pitch, send comments, greenlight, decline or cancel. Every call is typed in the SDK and listed in the OpenAPI document.

TypeScript
import { Raylight } from "@raylight/sdk";const raylight = new Raylight();const { id } = await raylight.productions.create({  brief: { intent: "Introduce the new prompt bar" },  externalId: "acme/web#512",});const { pitchMarkdown } = await raylight.productions.waitForPitch(id);await raylight.productions.comment(id, { comment: "Open on the prompt bar" });const { production: pitched } = await raylight.productions.waitForPitch(id);if (pitched.stage === "pitch_ready") {  await raylight.productions.greenlight(id, {    pitchVersion: pitched.pitch?.version,  });}const { production: done } = await raylight.productions.waitForDelivery(id);

Visibility

See every production,
call and delivery

Each production keeps a timeline of what happened and who did it. Every webhook delivery is logged and can be sent again. Analytics show requests, errors and latency for each key and route.

Productions

Just ask

acme/web #512

Wrapped
Version
v2
Length
5s
Aspect
16:9
Greenlight
Manual
  1. Requested10:02
  2. Pitch v1 ready10:04
  3. Comments sent10:11
  4. Pitch v2 ready10:13
  5. Greenlit10:20
  6. Wrapped10:31

Webhooks

Send test event

https://acme.dev/hooks/raylight

2 events · signed with whsec_••••3f9a

Active
  • WrappedDelivered

    10:31 · 1 attempt · HTTP 200

    Redeliver
  • GreenlitDelivered

    10:20 · 1 attempt · HTTP 200

    Redeliver
  • Pitch readyDelivered

    10:13 · 2 attempts · HTTP 200

    Redeliver
  • Pitch readyDelivered

    10:04 · 1 attempt · HTTP 200

    Redeliver
  • TestDelivered

    09:58 · 1 attempt · HTTP 200

    Redeliver

Analytics

Last 24 hours
Requests
1,284
Error rate
0.4%
p50 latency
112 ms
p95 latency
348 ms
  • GET/v1/productions/{id}964
  • POST/v1/productions212
  • POST/v1/productions/{id}/greenlight61
  • POST/v1/productions/{id}/comments44

Built to be trusted

Safe to put in your pipeline

Nothing reaches into your systems, every message is signed, and nothing is charged until someone greenlights it.

  • Push only

    Raylight never calls into your tools and holds no repo, deploy or chat credentials. It works from what you send.

  • Signed both ways

    Webhooks carry an HMAC-SHA256 signature. Greenlight links are tied to one production and one pitch version, and expire in 30 days.

  • Retries built in

    A webhook your server misses is tried again for about seven hours, and any delivery can be sent again from the log.

  • Pay on greenlight

    Pitches are free. Credits are charged once, when someone greenlights one, and refunded if the video can't be made.

Frequently asked questions

Ship a video
with every release.

The Raylight logo glowing blue on black