AI video editing feedback
Your agent can edit video.
Chat is a terrible place to review it.
Flask is the feedback layer for agentic video. Your coding agent uploads the render, you watch it and just talk — Flask turns what you say into timestamped, transcribed comments the agent reads over MCP. Then it fixes the cut and pushes v2 to the same link.
The typed-paragraph problem
Remotion, HyperFrames, and ffmpeg gave coding agents the ability to produce real video. The render is the easy half. Then you watch the output and try to type something like: "around the seven second mark, the title eases in too slowly, and the third emoji in the bottom row overlaps the second one when they bounce." Three sentences, two ambiguities, and the agent still guesses.
Pointing at a frame and saying "this one, make it a crocodile" takes two seconds. That gap is why agentic video editing stalls at the feedback step, not the rendering step.
How the loop works
- The agent uploads its render to Flask. You get the flask.do link the moment the upload starts, not when processing ends. Open it and watch the video arrive.
- You review by talking. Hit record, speak, draw on the frame, scrub the timeline. Flask splits your recording into separate comments, each pinned to its timestamp, each with a transcript.
- The agent reads your feedback as data. Verbatim transcripts, timestamps in seconds, tags, reply threads. It can pull the exact frame you were looking at from its local render to see what you saw.
- It fixes the cut and uploads a new version. Same asset, same link, v2 on top. You leave another round of feedback or call it done.
While you review, the agent sits on wait_for_feedback — a long-poll that hands it your comments seconds after you leave them. You never paste feedback into a chat window.
What the agent actually receives
Every piece of feedback arrives machine-readable. A voice comment at 0:07 looks like this to the agent:
{
"type": "recording",
"timestamp": 7.2,
"recording": {
"transcript": "this big emoji here - make it a crocodile,
and the bottom row needs seven, not five",
"ai_summary": "Change hero emoji to crocodile; row of 5 -> 7"
},
"tags": [{ "name": "Animation" }],
"url": "https://flask.do/a/vDbh2?comment=..."
}Transcripts are sliced per segment, so a two-minute ramble becomes a dozen separate, addressable comments instead of one wall of text.
Connect your agent
Claude Code, one command:
claude mcp add --transport http flask https://api.flask.do/api/mcp/mcpOr install the plugin, which also teaches the agent the whole review loop:
/plugin marketplace add enritarta/flask-plugin
/plugin install flask@flaskOn claude.ai or any other MCP client, add the server URL and paste this into your next session:
Add the Flask MCP server: https://api.flask.do/api/mcp/mcp
(a browser window opens - log in to Flask once)
Then: upload <file> to Flask with upload_file_start and send me the
flask.do link right away, before processing finishes. If I ask for
changes, upload the fix as a new version of the same asset (version_of).Questions
Which agents work with Flask?
Anything that speaks MCP: Claude Code, claude.ai, Cursor, and other MCP clients. The agent connects to https://api.flask.do/api/mcp/mcp, you authorize once in the browser, and it can upload videos and read feedback from then on.
Does the agent get full access to my account?
No. The MCP server is read-only except for uploads. An agent can browse folders, read feedback, and upload videos into folders you can edit. It cannot edit or delete anything, and it never sees email addresses.
How does the agent know when I've left feedback?
It calls wait_for_feedback, which holds the connection open and returns your feedback within seconds of you leaving it. No inbox, no webhooks to configure, no manual copy-paste back into the chat.
What happens when I ask for changes?
The agent uploads the revision as a new version of the same asset. You keep one link that always shows the newest cut, with every earlier version in the stack behind it.
What does it cost?
Reviewing is free for guests, always, no account needed. Uploading needs a Flask team: the free Try plan covers one asset at a time, and Pro starts at $15 per user per month for unlimited assets.
What Flask doesn't do
Flask reviews video and images. There is no document proofing, no asset management, and uploads cap at 5GB per file. The agent's OAuth sign-in needs a browser once, so fully headless CI runs aren't supported yet. If you need those things, Flask is the wrong tool and we'd rather you find that out here.
Give your agent somewhere to ship its cuts
Free to try with one asset. Reviewers never need an account.