FrameDiff for agents
Tell your agent “sign me up for framediff.com.” FrameDiff publishes the same preferred route here, in llms.txt, and in its machine-readable manifest.
Best path
- Check for an existing account MCP connection at
https://api.framediff.com/mcpand callframediff_account. If it succeeds, the person is already signed up. Use that connection and do not create another account. - If there is no connected account MCP, open framediff.com/signup in a WebMCP-capable browser. Call
framediff_site_statusfirst and follow the returnednextTool. - Use the visible signup form only when WebMCP tools are unavailable.
- After signup, connect the account MCP through OAuth and verify it by calling
framediff_account. Keep this reusable connection as the default for future FrameDiff work.
Ask only for input the person must provide. An agent may read a verification code only with authorized mailbox access; otherwise ask for it. Once the person supplies the code, continue without asking for a redundant confirmation unless the client requires one.
In the browser
Every page on framediff.com registers the same account tools for a WebMCP browser: framediff_site_status, framediff_send_email_code, framediff_verify_email_code, framediff_sign_in_with_google, framediff_sign_out, and framediff_navigate.
Start anywhere. Call framediff_site_status to learn the page, the sign-in state, and the next tool. A new email address becomes an account when its code is verified. Signing in later with Google using the same address opens the same account.
The agent can read your verification code only with your authorized email access. Otherwise it asks you for the code. Sessions and codes stay in the browser; no tool returns them.
Pages add their own tools: the signup page adds framediff_finish_signup, the homepage lists examples, a public project offers framediff_make_this_mine, the dashboard exposes account and project actions as framediff_dashboard_*, and the MCP consent page lets the agent approve a connection after you confirm.
Browsers without WebMCP use the same forms and buttons as the fallback path.
Connect your chat app
Use this server address when your app asks for a remote MCP connector:
https://api.framediff.com/mcp
Your app opens FrameDiff to sign in and authorize the connection. If you do not have an account yet, signing in with an email code or Google creates one during that step.
Connect this account MCP once. Your app can keep using it across FrameDiff projects and renew short-lived access in the background. It should request offline_access and retain each rotated refresh token. FrameDiff adds no session timebox. Your app asks you to reconnect only if refresh fails, the provider session is no longer valid, or your account authority changes.
The connected agent can list, create, copy, and delete projects, render compositions, import from and publish to GitHub, track imports, manage access, configure provider keys, and edit project source. Browser confirmation, external provider consent, and device permissions still happen where the person or device controls them.
For an agent that should reach only one project, create a project MCP link from Studio or the dashboard. That link is a bearer secret shown once.
Instructions for your connected agent
Call framediff_account first to confirm the connected account, authority, GitHub state, dashboard URL, and connection guidance. Keep this account MCP as the default connection across projects. Use framediff_projects to list projects and framediff_create_project for a starter.
Copy a template or an accessible workspace project with framediff_copy_project. Pass its source project_id, an optional destination workspace_id and new_project_name, and a stable idempotency_key. The destination defaults to your personal workspace. The copy includes source files and media; repeat the same call while pending until it returns the Studio URL.
For a public link, read its slug with framediff_inspect_public_project and pass the returned projectId and revision to framediff_copy_project. For a workspace project, use its ID from framediff_projects; omit revision to copy the source revision selected when the request starts.
Render with framediff_render (action start, then get until terminal). Finished renders stay private. Use download_url for an authorized short-lived download, or share only when the user asks for a public link. Anyone holding a shared link can play or download the MP4 until it is revoked. Use framediff_github and framediff_imports for repositories, and framediff_manage_guest_access or framediff_manage_mcp_access to share a project.
Use framediff_credentials to list, set, remove, or verify provider keys for the account or one project; keys are encrypted and never returned.