Agent guide

This guide is for people who already use an Agent such as Claude Code, Codex or Gemini CLI, and want that Agent to drive Galanty directly: picking a sample, editing copy and colors, previewing, and exporting — without writing your own ffmpeg, captioning or voice-over scripts.

Galanty does not include a drafting model of its own. Once connected, your Agent (and whichever model service it is signed in to) writes the storyboard, writes the scene code and edits the copy for you. Rendering and video export run on your own Mac. Where narration happens depends on the engine you pick: on this computer by default; with a cloud voice service, the narration text goes to that service; whether a custom-command program goes online is up to that program. With "Review the finished video" on, your signed-in Agent receives frames from the video, the narration with its timing and any open notes — and, when it redoes a scene, that scene's code and parameters.

Local help and handing over notes

Help → Product and Agent guides opens the bundled manual offline. Markdown is in Galanty.app/Contents/Resources/help/, outside app.asar. Read README.md and package.json first for the installed version and channel, then agent-guide.en.md and product-manual.en.md. MCP resources: talkframe://manual/index, talkframe://manual/agent/en, talkframe://manual/product/en (Chinese: zh).

The App Store sandbox prevents the app from launching an external Agent CLI. Connect your own Agent via MCP and reload its configuration. Then use Copy for Agent and send it the copied notes; connecting does not automatically process them. The Agent reads get_job({jobId, detail:true}) and talkframe://guide/notes, claims notes, edits, compiles and replies. Review and play the updated picture in the app.

1. What Galanty lets an Agent do

Once connected, your Agent uses these tools (15 MCP tools in total), grouped by what they do:

Getting started: pick a sample or template

Making a video

Watching and checking

Editing content and adding assets

Managing jobs and feedback

2. Website version vs. App Store version

Both channels can connect an Agent, but how you connect — and which files the Agent can reach — differ:

Website versionApp Store version
How MCP connectsCopy a configuration snippet and paste it into your Agent's config file (it connects to Galanty's own bundled Node process)Local bridge: either a direct HTTP connection, or npx -y @galanty/mcp forwarding (the local-bridge npm package is coming soon; until then, use the direct HTTP connection)
Can the Agent read and write files in your own projectYes — the Agent and the app share the same workspace folderThe direct HTTP connection can only reach files inside the app's own workspace. With the local bridge, local paths you pass to a tool are uploaded automatically, and finished videos and preview frames are downloaded back into your project's galanty-out/ folder
Do you need Node.js installedNo — it uses the Node bundled with GalantyNot for the direct connection; the local bridge needs Node.js 20 or later (run via npx)
Do you need a tokenNoYes — get or reset it from the "Connect an Agent" panel in Settings
Does Galanty need to stay openRecommended — the Agent can't connect while it's closedRequired for HTTP; the future bridge package can attempt to launch Galanty in the background
Can the app itself call an Agent's CLI to draft in one stepYes ("Draft with a signed-in Agent" in Advanced settings)No — the sandbox does not allow the app to run external programs; instead, you connect Galanty from inside your own Agent

3. Connecting your Agent

One-click connect is not available yet. For now, every path is "copy a configuration, then paste it into the Agent's own config file." The sections below cover each Agent, with both channels.

Claude Code

Website version

  1. Open Galanty → Settings → More (developer) → "MCP: let your Agent use the workbench."
  2. Set the configuration target to Claude Code and click "Copy Galanty MCP settings."
  3. Paste it into .mcp.json, merging it into any existing mcpServers — don't overwrite other servers. The copied content looks like the example below. That's the source-checkout form; in the installed app, command is Galanty's own executable and there's an extra ELECTRON_RUN_AS_NODE entry. Paste exactly what you copied — no separate Node.js install needed.
{
  "mcpServers": {
    "talkframe": {
      "command": "node",
      "args": ["<path where Galanty is installed on this computer>/scripts/mcp-server.mjs"],
      "cwd": "<path where Galanty is installed on this computer>",
      "env": {
        "DVS_WORKSPACE": "<your workspace path>",
        "DVS_DATA": "<data directory>"
      }
    }
  }
}
  1. Optional: click "Copy project instructions" and paste them into your project's AGENTS.md or CLAUDE.md, so Claude Code already knows how to use Galanty.
  2. Restart Claude Code, or have it reload its MCP configuration.

App Store version

Open Galanty → Settings → More (developer) → "Connect an Agent." The panel shows the local address and token. Use direct HTTP now; stdio forwarding is a future option once its package is published:

# Direct connection (nothing to install). The token only works on this computer; do not commit it to Git
claude mcp add --scope user --transport http galanty http://127.0.0.1:<port>/mcp --header "Authorization: Bearer <token>"

# Or use the local bridge (needs Node.js 20+; the npm package is coming soon): it hands project files to the app and downloads finished videos and preview frames to galanty-out/
claude mcp add --scope user galanty -- npx -y @galanty/mcp

Use the exact address, port and token currently shown in the app's Settings panel — just copy them as given.

Codex

Website version

  1. Open Galanty → Settings → More (developer) → "MCP: let your Agent use the workbench."
  2. Set the configuration target to Codex and click "Copy Galanty MCP settings."
  3. Paste it into Codex's config.toml. It looks like this (again, what you copied wins):
[mcp_servers.talkframe]
command = "node"
args = ["<path where Galanty is installed on this computer>/scripts/mcp-server.mjs"]
cwd = "<path where Galanty is installed on this computer>"
startup_timeout_sec = 30
tool_timeout_sec = 600
# Approve Galanty tool calls automatically; remove the next line to confirm each call
default_tools_approval_mode = "approve"

[mcp_servers.talkframe.env]
DVS_WORKSPACE = "<your workspace path>"
DVS_DATA = "<data directory>"
  1. Optional: paste the "project instructions" snippet into your project's AGENTS.md.
  2. Restart Codex, or start a new session.

App Store version

Get the address and token from the same "Connect an Agent" panel, then use direct HTTP now; stdio forwarding is a future option once its package is published:

# Direct connection (nothing to install). The token only works on this computer; do not commit it to Git
[mcp_servers.galanty]
url = "http://127.0.0.1:<port>/mcp"
http_headers = { Authorization = "Bearer <token>" }
tool_timeout_sec = 600
# Approve Galanty tool calls automatically; remove the next line to confirm each call
default_tools_approval_mode = "approve"

# Or use the local bridge (needs Node.js 20+; the npm package is coming soon): it hands project files to the app and downloads finished videos and preview frames to galanty-out/
# codex mcp add galanty -- npx -y @galanty/mcp

Gemini CLI

Website version

  1. Open Galanty → Settings → More (developer) → "MCP: let your Agent use the workbench."
  2. Set the configuration target to Gemini and click "Copy Galanty MCP settings."
  3. Paste it into .gemini/settings.json, merging it into any existing mcpServers:
{
  "mcpServers": {
    "talkframe": {
      "command": "node",
      "args": ["<path where Galanty is installed on this computer>/scripts/mcp-server.mjs"],
      "cwd": "<path where Galanty is installed on this computer>",
      "env": {
        "DVS_WORKSPACE": "<your workspace path>",
        "DVS_DATA": "<data directory>"
      }
    }
  }
}
  1. Optional: paste the "project instructions" snippet into your project's AGENTS.md.
  2. Restart Gemini CLI.

App Store version

# Direct connection (nothing to install). The token only works on this computer; do not commit it to Git
gemini mcp add --scope user --transport http galanty http://127.0.0.1:<port>/mcp --header "Authorization: Bearer <token>"

# Or use the local bridge (needs Node.js 20+; the npm package is coming soon): it hands project files to the app and downloads finished videos and preview frames to galanty-out/
gemini mcp add --scope user galanty -- npx -y @galanty/mcp

These commands were checked against each Agent's own --help output on this machine. Flag names can change with the Agent's own version; if a command doesn't match what you see, trust that Agent's own help text instead.

4. Verify the connection

Once configured, ask your Agent something simple to confirm it's connected, for example:

"What samples does Galanty have? Name a few."

The Agent should read the talkframe://samples resource and name a few samples with IDs starting with S. If it says it doesn't know what Galanty is, or reports a missing tool, see Section 8, Troubleshooting.

5. Make your first video

Once connected, try sending your Agent one of these three prompts (with your own content):

  1. "Pick the sample that looks most like a product explainer, copy it, and rewrite it for our new feature. Just show me a preview — don't export yet."
  2. "Turn this PDF into a 30-second vertical video: /absolute/path/to/my-document.pdf. Play it for me first."
  3. "On that last video, make the music more upbeat and hold an extra second after the line at 0:05, then show me again."

The Agent will typically read talkframe://guide and the sample list first, copy the closest match, make the edit, and compile it for a watch link. It only spends an export from your allowance when you explicitly say "export" or "give me an MP4."

6. Common phrases

You don't need to know any tool names — just talk normally, and the Agent picks the right tool:

What you can sayWhat actually happens
"Change second 5" / "Rewrite the opening line"Locates the matching scene and sentence by time or by text, edits it, and recompiles for you to watch
"Swap the music" / "Make the music more upbeat"Picks a different track from the built-in library, or uses a music file you provide; the whole video shares one music bed. Then recompiles
"Write an original 120 BPM track in code, with a build-up and a drop"The Agent synthesizes the music in its own environment, imports it and swaps it in — no licensing worries, and the beat grid is exact (its environment needs to run something like Python)
"Switch to a blue palette" / "Change the colors"Updates the theme or storyboard palette and recompiles
"Make it vertical" / "Make it square"Changes the aspect ratio (9:16 or 1:1); some assets may need re-cropping
"Export it" / "Give me an MP4"Actually produces the file; it tells you first whether this counts against your monthly allowance, how many exports you have left, and whether it will carry a watermark
"Don't export yet, let me look first"Nothing extra needed — compiling and a watch link is the default, free and uncounted

Asking for a better-looking video

These come from what worked on Galanty's own samples. They're suggestions — if you want something else, just say so:

What you can sayWhy it helps
"When the narrator says 'storm', switch the picture to a storm"Changing the picture on the spoken word feels more natural than cutting on a timestamp, and it stays in sync when you edit the copy. That's how the weather changes in sample S107, The Lychees of Chang'an
"Cut by the music's sections — whole bars per scene, big reveal on the drop"In a promo with no narration, changes that land on downbeats and phrase turns hit hardest. See sample S106, “Fix a word. Play on.”
"Trim the music so the first big drum hit lands on the title"Moving the music to fit the picture is easier than the other way round; S107 shifted its score 4.55 seconds earlier
"Hold the title and the end credit two seconds longer" / "Pause after this line"Key text needs time to read. In S107 the end credit was gone less than 2 seconds after the narrator finished, and it felt rushed
"Duck the music a bit more under the voice"Music drowning out the narration hurts more than any visual flaw. By default the music dips 12 dB while someone speaks; you can go further
"Draw the interface in code, no screenshots"A mock interface drawn in code can hit the beat exactly, change its text and recolor. We tried stitching screenshots together; it looked much worse
"If it doesn't fit, cut shots — don't speed up the cuts"Swapping text in the same spot over and over is hard to follow; by default, leave about 2 seconds between hard cuts

7. Files and privacy

See the privacy policy for the full picture, and Support for general app questions.

8. Troubleshooting

Can't connect, or the Agent reports a missing tool

The token expired or was reset

After you click "Reset token" in Settings, the old token stops working immediately. Remove any connection you already add-ed and re-add it with the new command.

The port changed

Galanty reuses the last port it used; if that port is taken by something else, it picks a new one. Just reopen the Settings panel and copy the address again.

The Agent can't find a file

The direct HTTP connection can only use files inside the app's workspace. To use files from your own project, import the file in the app first, or use the website version. Local-path forwarding will be an option once the bridge package is published.

Ran out of export allowance

The free plan gives you 7 exports a month, resetting on the 1st in your computer's time zone. To export now without a watermark or a limit, upgrade to Pro; otherwise keep using the free compile-and-watch link.

npx -y @galanty/mcp won't install

The local-bridge npm package hasn't been published yet. Until it is, use the direct HTTP connection instead.

The command itself errors out

Claude Code's, Codex's and Gemini CLI's own command syntax changes with their versions. The commands above were checked against the current version's --help output; if your flags look different, trust that Agent's own help text. Still stuck? Email support@galanty.cn — see Support.