Promvie for Developers
Let your AI agent make the movie
Connect Claude Code, Cowork, OpenClaw, or any MCP-speaking agent to Promvie and drive the entire pipeline — idea, script, cast, storyboards, video, final render — programmatically. Everything your agent generates spends your normal credit balance and lands in your dashboard like any other movie.
Quickstart
- 1. Create an API key. Go to Dashboard → API Keys and create a key. It looks like
promvie_sk_…and is shown exactly once — store it like a password. Requests authenticate withAuthorization: Bearer promvie_sk_…. - 2. Connect your agent. For Claude Code, one command:shell
claude mcp add promvie --transport http https://promvie.com/api/mcp \ --header "Authorization: Bearer promvie_sk_YOUR_KEY"
- 3. Ask for a movie. Try “Create a short noir movie about a lighthouse keeper — take it through storyboards, then stop and show me the cost so far.” The MCP server tells your agent the pipeline order and how to poll progress.
The MCP server
https://promvie.com/api/mcp — Streamable HTTP transport, bearer-key auth, 37 tools. Works with any MCP client that supports remote servers with custom headers (Claude Code, Claude Cowork, OpenClaw, custom agents built on the MCP SDKs).
Movies
Create projects and set the concept that unlocks the pipeline.
list_movies · create_movie · update_idea · update_movie_title · update_movie_aspect_ratio
Read & resolve
Observe what exists, resolve "scene 5" or a character name to real ids, and read nextStep.
get_pipeline_state · list_scenes · list_shots · list_characters · list_storyboards · find_entity
Generate (async jobs)
Each returns a jobId immediately; identical in-flight jobs are deduped and reused.
enqueue_generate_script · enqueue_detect_characters · enqueue_generate_images · enqueue_generate_storyboards · enqueue_generate_shots · enqueue_generate_videos · enqueue_generate_scene_video · enqueue_generate_shot_image · enqueue_revise_scene · enqueue_extend_video · enqueue_edit_video · enqueue_generate_cover · enqueue_generate_poster
Edit
Direct, synchronous edits to the script, shots, and cast.
update_scene · update_shot · update_character · update_storyboard_prompt · set_audio_preferences · delete_scene · delete_shot · delete_character
Jobs & render
Track background work and export the final MP4.
list_running_jobs · cancel_job · render_movie · cancel_render · get_render_status
The async model: enqueue_* tools return a jobId immediately and run in the background — generation takes minutes. Agents poll get_pipeline_state, whose nextStep field says what to enqueue next. Re-enqueueing an identical in-flight job is safe: the server dedupes and returns the existing job.
The REST API
Prefer plain HTTP? The same API key works on the REST routes. This is the complete nothing-to-finished-movie sequence:
# 1. Create a movie
curl -s https://promvie.com/api/movies -X POST \
-H "Authorization: Bearer $PROMVIE_KEY" -H "Content-Type: application/json" \
-d '{"title": "The Lighthouse Keeper"}'
# → { "movie": { "id": "<movieId>", ... } }
# 2. Seed the idea (logline + outline + style unlock the pipeline)
curl -s https://promvie.com/api/movies -X PATCH \
-H "Authorization: Bearer $PROMVIE_KEY" -H "Content-Type: application/json" \
-d '{"id": "<movieId>", "metadata": {"idea": {
"logline": "A lonely keeper discovers the light summons more than ships.",
"outline": "Three-act short: routine, discovery, sacrifice.",
"style": "Moody 1920s noir, heavy fog, desaturated blues."}}}'
# 3. Ask the pipeline what to do next
curl -s "https://promvie.com/api/studio/pipeline-state?movieId=<movieId>" \
-H "Authorization: Bearer $PROMVIE_KEY"
# → { "state": { "nextStep": "generate_script", ... } }
# 4. Enqueue it (repeat 3 → 4 until nextStep is null)
curl -s https://promvie.com/api/agent/jobs/enqueue -X POST \
-H "Authorization: Bearer $PROMVIE_KEY" -H "Content-Type: application/json" \
-d '{"kind": "generate_script", "movieId": "<movieId>", "input": {}}'
# → { "jobId": "...", "reused": false } (async — poll step 3)
# 5. Render the final movie
curl -s https://promvie.com/api/render-video -X POST \
-H "Authorization: Bearer $PROMVIE_KEY" -H "Content-Type: application/json" \
-d '{"movieId": "<movieId>"}'
# 6. Poll for the finished MP4
curl -s "https://promvie.com/api/render-video?movieId=<movieId>" \
-H "Authorization: Bearer $PROMVIE_KEY"
# → { "status": "completed", "videoUrl": "https://..." }Drop-in agent guide
Paste this into your project's AGENTS.md (or CLAUDE.md) so your agent knows the etiquette without being told each session:
## Promvie (AI movie generation) Promvie generates complete AI movies through a staged pipeline. It is connected via MCP (server name: promvie). Rules: - Movies are the root object: create_movie / list_movies first; every other tool takes that movieId. - Set the idea before anything else: update_idea with logline + outline + style. - Then follow the pipeline: get_pipeline_state returns "nextStep" — enqueue it, poll, repeat. Order: script → characters → character images → storyboards → shots → videos (enqueue_generate_scene_video per scene is the default mode). - Every enqueue_* tool is ASYNC and returns a jobId immediately. Poll list_running_jobs or get_pipeline_state every 15–30s. NEVER re-enqueue while an identical job is pending/running (the server dedupes and reuses anyway). - render_movie stitches the final MP4; poll get_render_status for the URL. - Generation SPENDS the account's prepaid credits (images ~1-10, video ~10-25 per second). Ask the user before enqueueing video-generation or render steps, and tell them roughly what it will cost. - On "insufficient credits": stop and tell the user to top up at https://promvie.com/dashboard/cost. Do not retry.
Good to know
- Credits. Agent generations spend your prepaid balance exactly like the app — there are no separate API prices and no surprise charges. When the balance runs out, generation stops with a clear error until you top up.
- Key security. Keys are stored hashed and shown once. Revoke any key instantly from the dashboard — agents using it stop working immediately. A key can never create or manage other keys.
- Rate limits. Generous per-account limits protect the platform from runaway loops (roughly one call per second, sustained). Well-behaved agents never notice them.
- Questions? hello@promvie.com