Notch
> Notch turns a direction into a finished video ad.
What it can do
- List Workspaces: List the Notch workspaces the user belongs to. New ad sessions are created and billed in the active workspace (marked isActive). Use select_workspace to switch.
- Select Workspace: Switch the active Notch workspace — where new ad sessions are created and billed. Pass a workspaceId from list_workspaces.
- List Sessions: List recent ad sessions in the active workspace, most recently active first. Any of these can be resumed with send_message or get_session_updates.
What data it sees
Do you need an account
No: the server works without sign-in
Notch turns a direction into a finished video ad.
Give it a product URL or a one-line brief. It reads your stored brand context — voice, palette, approved hooks, existing b-roll — then writes the script and scene-by-scene storyboard, casts a presenter, generates the footage, adds voiceover, and returns an edited ad ready to publish.
The difference from a video generator is context and sequence. A generator takes a prompt and returns a clip; you supply the research, the hook, the script, the edit, and you re-upload your brand assets every session. Notch holds your brand permanently and runs the whole production chain — research, script, avatar, A-roll, B-roll, voiceover, edit — as one directed workflow. You refine by giving notes, not by switching tools.
Built for performance marketers who need creative volume without quality loss, brand teams who need consistency without re-briefing an agency, e-commerce founders competing against production-budget ads, and agencies context-switching between accounts.
Typical directions: "30-second hook-first ad for the summer drop, UGC style, Gen Z." "Five variations of this with different hooks." "Make the CTA more urgent." "Shorter."
Requires a Notch account at usenotch.ai. Renders draw on your plan's credits.
Server tool list (9)
Raw names from tools/list. Only developers need these.
| list_workspaces | List the Notch workspaces the user belongs to. New ad sessions are created and billed in the active workspace (marked isActive). Use select_workspace to switch. |
| select_workspace | Switch the active Notch workspace — where new ad sessions are created and billed. Pass a workspaceId from list_workspaces. |
| list_sessions | List recent ad sessions in the active workspace, most recently active first. Any of these can be resumed with send_message or get_session_updates. |
| start_ad_session | Create a new Notch ad session from a plain-language brief and start the agent working. Returns the sessionId to poll with get_session_updates, plus the workspace and credit balance to relay to the user. Fails fast (before any work) if the workspace can't afford the minimum billable render. If the account has several workspaces and hasn't picked one for this connection, no ad is created and the result asks which workspace to use — relay that question, then call again with workspaceId, or useActiveWorkspace when they explicitly confirm the current one. |
| get_session_updates | Long-poll for what's new in an ad session: status, progress lines, milestone media, agent questions, and final deliverables. The server tracks what it already sent you — each call returns only new items, and always carries the current status plus any question the agent is waiting on. Holds server-side and returns as soon as there is something to report — call it again immediately while status is "working". |
| send_message | Continue an ad session's conversation: answer the agent's questions, request edits, or submit an intake form. After sending, poll get_session_updates for the agent's response. |
| stop_session | Stop the agent's in-flight work on an ad session — call this when the user asks to stop, cancel, or abandon the ad. The session itself is kept: a later send_message resumes it, and work the agent already finished stays done. |
| upload_file | Open an upload box so the user can put one of their local files (a product photo, a reference image or video) into the ad. Use this whenever the user has a file on their device and this client can show interactive UI: they drop the file in the box, it uploads straight to Notch, and its URL comes back to you to pass in attachments. Never ask the user to attach a local file to the chat instead — chat attachments can't be read; the box is the way in. Wait for the user to finish the upload before using the returned URL. |
| request_upload | Get a file into an ad when you hold the bytes yourself, returning a URL to pass in attachments. In a code or terminal environment, call it for a presigned URL and PUT the bytes there. For a very small file you may instead pass its base64 contents as fileData to store it in one step. When the file is on the user's device in a chat client, use upload_file instead so they upload it through a box. |