Endpoints
AI Video Director API
Use the AI video Director API to plan a production-ready prompt in a server-side conversation, with JSON or streaming responses and launch-period free access.
Keyword target: AI video Director API
The Director chat endpoint gives reseller applications the same cinema planning conversation used in Reviral, without requiring a browser-created board. Send prior user and assistant turns plus a current model context; receive a concise reply and, when the plan is ready, a final video prompt.
- Read GET /api/v1/models and choose a current video model, duration, resolution, and aspect ratio.
- Send the complete conversation to POST /api/v1/director/chat from your server. JSON is the default; request text/event-stream only when your integration can consume a stream.
- Keep the returned reply in your own conversation state. Submit finalPrompt to generate-media only when the user approves it.
Working example
Set REVIRAL_API_KEY only in your server environment, then run this request with values valid for your account.
curl -X POST "https://reviral.ai/api/v1/director/chat" \
-H "Authorization: Bearer $REVIRAL_API_KEY" \
-H "Content-Type: application/json" \
--data '{"messages":[{"role":"user","content":"Plan a 15-second launch video for a reusable travel mug."},{"role":"assistant","content":"Should the opening focus on the leakproof lid or temperature retention?"},{"role":"user","content":"Lead with the leakproof lid, then show a commute."}],"cinemaContext":{"modelId":"seedance-2","durationSec":15,"resolution":"720p","aspect":"9:16","references":[]}}'{
"data": {
"replyId": "550e8400-e29b-41d4-a716-446655440000",
"reply": "Open on the mug tipping inside a packed tote without leaking, then follow it through a morning commute.",
"finalPrompt": "Vertical product film: a reusable travel mug tips inside a packed tote with no spill, then moves through a bright morning commute; tactile close-ups, natural motion, clean final product frame.",
"plan": {
"opening": "Leakproof proof",
"middle": "Morning commute",
"ending": "Clean product frame"
}
}
}Example transcript
- User
- Plan a 15-second launch video for a reusable travel mug.
- Director
- Should the opening focus on the leakproof lid or temperature retention?
- User
- Lead with the leakproof lid, then show a commute.
- Director
- Open on the mug tipping inside a packed tote without leaking, then follow it through a morning commute. The final prompt is ready for approval.
Frequently asked questions
- Is the Director API charged in credits?
- Director chat is free during launch. Starting a render is a separate operation and can charge credits.
- Does Director chat require a canvas board?
- No. The API uses the cinema context supplied in the request and does not require a browser-created board.
- Can Director chat stream replies?
- Yes. Send Accept: text/event-stream for the streaming response; omit it for one JSON response.
/api/v1/director/chat
Chat with Director
Writes one Cinema planning reply. Free during launch. Send Accept: text/event-stream for the streaming form.
Authentication: Bearer API key required
curl -X POST "https://reviral.ai/api/v1/director/chat" \
-H "Authorization: Bearer $REVIRAL_API_KEY" \
-H "Content-Type: application/json" \
--data '{"messages":[{"role":"user","content":"Plan a 15-second launch video for a reusable travel mug."},{"role":"assistant","content":"Should the opening focus on the leakproof lid or temperature retention?"},{"role":"user","content":"Lead with the leakproof lid, then show a commute."}],"cinemaContext":{"modelId":"seedance-2","durationSec":15,"resolution":"720p","aspect":"9:16","references":[]}}'Request body
| Field | Type | Required | Description |
|---|---|---|---|
| messages | array | Yes | — |
| cinemaContext | object | Yes | — |
Responses
- 200
- Director reply
- 400
- Settings are invalid or a reference field is unsupported
- 401
- Key is missing, revoked, or invalid
- 413
- Settings are invalid or a reference field is unsupported
- 422
- Settings are invalid or a reference field is unsupported
- 429
- Too many requests
- 500
- Job could not be started
- 503
- Models or rate limiting are temporarily unavailable