Hermes Agent connected to the GMI MCP server over OAuth. The user types a prompt; the agent searches the model catalog, reads the Wan 3.0 parameters, quotes the job, submits it, polls, and hands back the mp4. These are the three clips that path produced, from the Qwen livestream.
# typed into `hermes`, verbatim (demo-prompt.txt)
Use GMI. Find the Wan 3.0 video model and read its parameters. Quote a 5-second 720P 16:9 clip of a matte-black server rack in a dark data center whose GPU blades light up one by one in neon lime, with a soft electrical hum. If the quote is under $1, generate it, poll until it is done, and give me the mp4 link.
Expected tool calls, in order:
What preflight.sh checks ten minutes before going live. Every line should come back green.
hermes --version answers. Hermes Agent v0.20.5+ ships the gmi provider.
Hermes's own LLM calls go through api.gmi-serving.com. The script sources ~/.hermes/.env, calls /v1/models with the key (browser User-Agent, or the edge refuses it) and expects HTTP 200. A stale key answers 401: run hermes model, pick GMI Cloud, paste a key from the console.
Reads model.default from ~/.hermes/config.yaml and greps it in the models response. The demo ran on MiniMaxAI/MiniMax-M3.
config.yaml must contain mcp_servers.gmi with url: https://mcp.gmicloud.ai/mcp and auth: oauth, the same as hermes mcp add gmi --url https://mcp.gmicloud.ai/mcp --auth oauth. The server does not take an API key; a bearer key returns invalid token. OAuth 2.1 with PKCE only.
hermes mcp test gmi must print "Tools discovered" (10 tools). If not, run hermes mcp login gmi interactively, sign in, and approve generation:write along with the read scopes; without write the agent can quote but submit_generation fails with "insufficient scope".
Lists clips/*.mp4. Renders took about five minutes on the day; if the live one is slow, these three play instead.
Gotchas seen while making the clips: two upstream_unavailable errors on submit in a row (the third try queued), and resolution is case-sensitive (720P, not 720p).
One endpoint. 200+ models. Pay per token, scale to zero.