
The film.fun developer platform
Build on the engine behind film.fun
The APIs, SDK, models and MCP servers that power Splice and the rest of film.fun. For developers, and for the AI agents they build.
claude mcp add --transport http splice https://splice.film.fun/api/mcp# then /mcp to sign in with OAuth# 108 tools: generate, edit, compose, produce- MCP tools on Splice
- 108
- Documented Connect API paths
- 126
- Model providers behind Forge
- 14
- Sign-in for agents
- OAuth 2.1
The platform
Six ways in, one account system
- Live
Splice MCP
A remote MCP server with 108 tools: generate and edit image, video, voice and music, render Motion graphics, and run productions from script to cut.
Details - Live
film.fun OAuth
One sign-in for every film.fun product. OAuth 2.1 with PKCE, per-product scopes, and a Connected apps page where people revoke access.
Details - By request
Forge API
The AI engine under film.fun. One Connect API in front of 14 model providers, with clients, productions, jobs and credits.
Details - By request
Media SDK
@film-labs/media-sdk: the React components and hooks Splice is built from, with a server proxy that keeps your key off the browser.
Details - Via Forge
Cogs
Our own media-processing models on Replicate: clip, crop, merge, extract frames and audio, render timelines and Motion to MP4.
Details - Private beta
ReelKit
film.fun's scheduled, autonomous channel operator. Runs many channels, produces through Splice, and asks a person before it spends or posts.
Details
Your agent or app
Claude, ChatGPT, Codex, Cursor, a script, your own product
Splice MCP and REST
Signed in with film.fun OAuth or an agent key. Or, for partners, the Media SDK proxy.
Forge
Routes each job to one of 14 model providers or to our Cogs, and handles jobs and credits.
Splice remote MCP
Give any assistant a film studio
https://splice.film.fun/api/mcp is a Streamable HTTP MCP server with 108 tools. It generates and edits image, video, voice and music; renders Motion compositions; edits Studio timelines; and runs scripts, shotlists and the Universe Bible of a production. Nothing to install.
claude mcp add --transport http splice https://splice.film.fun/api/mcp# then run /mcp and sign incodex mcp add splice --url https://splice.film.fun/api/mcp# Codex runs the OAuth sign-in itself{ "mcpServers": { "splice": { "url": "https://splice.film.fun/api/mcp" } } }# the client discovers OAuth from the first 401Sign-in
OAuth 2.1 with dynamic client registration and PKCE, so connectors like claude.ai and ChatGPT sign people in themselves. Scripts can send an agent key (sk_…) as a bearer token instead.
Scopes
splice:read, splice:generate and splice:compose. A tool called without its scope gets a 403 that tells the client which scope to ask for.
Credits
Tools that generate spend the signed-in person's Splice credits. list_models returns each model's price, and an idempotency_key stops a retry charging twice.
film.fun OAuth
One connect for all of film.fun
www.film.fun is the authorization server for every film.fun product. One consent screen covers the products your app needs, with a checkbox for each scope, and one token works across them.
- Issuer:
https://www.film.fun - Flow: authorization code with PKCE (S256), dynamic client registration, public clients, rotating refresh tokens
- Tokens: signed JWTs you can verify against the published JWKS
- Control: people see and revoke every app they have connected on their Connected apps page
| Scope | What it allows |
|---|---|
| splice:read | Read productions, compositions, characters, locations, props, models and the credit balance |
| splice:generate | Generate and edit media, manage productions and the library, and spend the user's Splice credits |
| splice:compose | Create and edit Motion compositions and Studio timelines (every edit is a restorable version) |
| splice:produce | Opt-in: transcribe audio, read Studio hand-offs, and create or remove share links |
| studio:read | See Studio projects, series, episodes and milestones, including drafts |
| studio:publish | Create and update Studio projects, series, episodes and milestones (no deletes) |
Forge API and Media SDK
The generation stack, for partners
Forge is the AI engine every film.fun product generates through. Its Connect API (/api/connect/*) models clients, productions, generation jobs and credits, and puts one interface in front of 14 model providers. The Media SDK is the React layer on top.
Forge Connect API
- Generators for image, video, voice, music, sound effects, lip sync, captions, and image and video edits.
- A hierarchy of product, client, production, then items and jobs, with credit balances at each level.
- Server-to-server auth with an
x-api-keyheader. Keys never go to a browser.
Providers
- Replicate
- fal
- Kling
- Google Gemini
- OpenAI
- MiniMax
- ElevenLabs
- Luma
- xAI Grok
- BytePlus
- NVIDIA
- AWS Bedrock
- Hugging Face
- OpenRouter
@film-labs/media-sdk
React components and hooks for generators, editors, a video studio timeline, a media browser, moodboards and agent chat. Its server entry gives you a proxy route, so the browser talks to your app and your app holds the Forge key.
// app/api/connect/[...path]/route.tsimport { createFilmLabsRouteHandlers } from "@film-labs/media-sdk/server" export const { GET, POST, PUT, DELETE, PATCH } = createFilmLabsRouteHandlers({ apiKey: process.env.FILM_LABS_MEDIA_SDK_KEY!, // server only baseUrl: process.env.FILM_LABS_MEDIA_SDK_URL!, // the Forge API URL you were given})Forge keys and the SDK package are issued to partner products, not self-serve. Building something for film.fun creators, or need generation inside your own product? Tell us what you're making.
hello@film.funCogs
Our own models for the unglamorous work
Cogs are custom models we run on Replicate for the media processing that doesn't need a third-party AI. Forge calls them like any other provider, so you reach them through Forge's edit and export routes, or through Splice's edit_media MCP tool.
Clip
Trim video or audio to a time range.
Crop
Crop video or images to a region, with an optional resize.
Merge
Join clips and audio with overlays, watermarks, text and transitions.
Frame extract
Pull the first, last or any numbered frame from a video.
Audio extract
Pull the audio track out of a video as mp3, wav, aac or flac.
Timeline export
Render a full edit from a JSON timeline spec.
Motion render
Render HTML and GSAP compositions to MP4.
ReelKit
Channels that run themselves, with a person in charge
ReelKit is film.fun's scheduled, autonomous channel operator. One runtime runs many channels, each with its own format (news show, recap, remix, full production), calendar, destinations and budget. It produces through Splice, publishes to Studio and social, and asks a person before it spends, posts or raises a cap.
- MCP server for Claude Code, Codex, Cursor and Gemini CLI, plus a CLI, an HTTP API and a dashboard.
- Bring your own agent brain (LLM). Generation runs on Splice with your film.fun account.
- Private beta now. The source opens under the MIT licence when it goes public.
# beta testers, from a ReelKit checkoutuv run --project runtime reelkit mcp install --host claude --env-file .env# --host: claude | codex | cursor | gemini | claude-desktop | generic
For creators
Not writing code? Make films with film.fun.
- SpliceThe AI filmmaking studio: generate, edit and cut in the browser.splice.film.fun
- ReelKitScheduled, autonomous channels that produce through Splice. Private beta.reelkit.fun
- film.fun CommunityYour film.fun profile, XP, badges and messages, shared by every product.film.fun
- AcademyCourses and tutorials on AI filmmaking, from first prompt to finished film.film.fun/academy