FreshGen Link
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@FreshGen LinkGenerate an image of a cozy coffee shop interior for our blog post."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
FreshGen Link
FreshGen Link is a self-hosted MCP server that plugs Kie.ai's image and video generation straight into GoHighLevel's AI tools — Ask AI and Workflow AI Agents. You deploy it to your own Vercel account in one click, connect your own Kie.ai API key, and every generation is billed by Kie.ai at Kie's own price, straight to your wallet. No subscription, no per-seat fee, nothing added on top.
Contents: Lite vs Full · What you get · Before you deploy · After deploying · Connect to GoHighLevel · Ask AI skill · Environment variables · Getting updates · Works outside GHL too · Which model should I use · What it costs to run · Your media expires · A note on security · FAQ · Troubleshooting · Running it locally · Support · License
Quick start
Deploy — click the button above, paste your license key, your Kie.ai key, and a made-up secret.
Connect — copy your MCP URL from the dashboard, paste it into GHL's Ask AI connectors.
Generate — ask your GHL AI agent for an image or video. That's the whole loop.
Everything below is the detail behind those three steps.
Related MCP server: kie-ai-mcp-server
Lite vs Full
Same repo, same deploy button, same setup. Your license key decides the edition — the server checks it against Gumroad on start and turns on the matching features.
Lite — free | Full — $17 one-time | |
Get it | ||
Image generation | GPT Image 2 only (~$0.04/image — best model for anything with words in it) | 6 image models — GPT Image 2, Nano Banana Pro, Nano Banana, Nano Banana 2, Seedream 4, Imagen 4 |
Video generation | — | 6 video models — Kling 2.1/2.6/3.0, Seedance 2, Wan 2.6, Grok Imagine |
GHL surfaces | Ask AI · Workflow AI Agents | Same |
Auto-save to GHL Media Library | Yes, one location | Yes, one location |
Ask AI skills | the | all 23 (commands + models) |
Tools your GHL agent sees |
| + |
Upgrading from Lite to Full is: buy it, paste the new key into LICENSE_KEY in Vercel, redeploy. Same URL — the extra features switch on, nothing in GHL needs reconnecting.
What you get
Five tools your GHL AI agent can call right away:
generate_image,generate_video,check_status,check_credits,list_models. (Lite: everything exceptgenerate_video, and images run on GPT Image 2 — see Lite vs Full.)Automatic saves to your GHL Media Library once you connect a GHL Private Integration Token — every finished image and video gets copied into your permanent Media Library on its own, no extra step. (A sixth tool,
save_to_media_library, also appears for saving arbitrary URLs manually.)A private dashboard with a copy-URL button, your live Kie.ai credit balance, a one-click test image, and a walkthrough for connecting to GHL.
Works in Ask AI and Workflow AI Agents — the same URL in both.
Before you deploy
You need four things:
Your license key. Emailed to you when you got FreshGen Link (Lite or Full) — looks like
85DE7B55-4A6E4E5A-8E5A0FDF-1BE4E0FC. One key covers one deployment, and the key decides the edition. Generation stays switched off until it's set.A Kie.ai account and API key. Grab one at kie.ai/api-key — takes about two minutes.
A few dollars of prepaid Kie.ai credit. Images start around $0.02, video from about $0.13 a clip. $10 covers a lot of testing.
A free GitHub account. The deploy button clones this repo straight into your own GitHub, then deploys that copy to Vercel. If you don't have GitHub yet, Vercel will prompt you to sign up — free, takes a minute.
You'll also set an MCP_SECRET during deploy. In plain words:
It's just a long random string — 30+ characters. Mash your keyboard, or use a password generator. Nothing to remember or look up later.
It becomes part of your private server's URL:
https://your-app.vercel.app/mcp/<MCP_SECRET>Treat that URL like a password. Anyone who has it can generate images and video on your Kie.ai account. Don't post it anywhere public — not in a support ticket, not in a screen-recording, not in a Slack channel.
After deploying
The build takes about 3 minutes. Once it's done, open your dashboard:
https://your-app.vercel.app/s/<your-secret>(Same secret you set above.) The dashboard gives you:
A copy-URL button — grabs your exact MCP URL, ready to paste into GHL.
Your live Kie.ai credit balance — in credits and dollars, updated on load.
A $0.04 test-image button — the fastest way to confirm your Kie.ai key actually works, before you touch GHL at all.
A connection walkthrough for whichever GHL surface you're using.
Bookmark the dashboard now. It's not linked anywhere on the public landing page — the URL itself is the only way in.
Connect to GoHighLevel
Fastest path — connect through Ask AI:
In GoHighLevel, open Ask AI.
Click the + icon → Manage Connectors.
Click + Add custom MCP.
Name it — "FreshGen" or your own brand — and paste your MCP server URL.
Click Add MCP. Leave Advanced alone.
Two fields, done. Your GHL AI agent can now generate images and video on request.
Want it inside a Workflow AI Agent for automations instead? Click-by-click steps for both connection paths live in docs/GHL-SETUP.md.
Ask AI skill (optional, recommended)
A packaged Agent Skill that teaches Ask AI exactly how and when to use these tools — which command to run, which model fits the request, and the money and retry rules that keep it from double-billing. It adds /image, /adset, /video, /animate, /variations, /status, /credits, /models, /save, /brand, and /help commands, plus a BRAND block you fill in once so every generation matches your colors, style, and voice automatically.
Two ways to install — pick one:
One skill (simplest): download
docs/ask-ai-skill/SKILL.md, edit the BRAND block near the bottom, upload it in Ask AI's Skills panel. Ask AI shows one slash-menu entry per skill, so you pick the FreshGen chip and type the command after it:/FreshGen /adset summer roofing promo.One skill per command (real
/image,/adset,/video… in the slash menu): upload eachSKILL.mdfromdocs/ask-ai-skill/commands/as its own skill (11 files). Name each skill after its command so the menu reads/image,/adset, etc. Edit the BRAND block in the five generating commands (image,variations,adset,video,animate) — they're identical, so paste the same block into each.One skill per model (optional):
docs/ask-ai-skill/models/has a skill for each of the twelve models —/gpt-image-2,/nano-banana-pro,/kling-3-0, and so on. Each locks the model, exposes only the flags that model supports, and carries prompting tips written for it. Upload the ones your team will actually use.
Naming: Ask AI may auto-name an uploaded skill from its content (you might see "Image Generation Assistant" instead of gpt-image-2). Each file now leads with its intended name to steer that — but if a skill still shows a generic name, open Manage Skills in Ask AI and rename it to the command (image, gpt-image-2, …). The name is what shows in the slash menu.
freshgen-ask-ai-skills.zip in the same folder has all 23 command + model skills. Everything is generated from the same master and the server's own model definitions, so the rules and prices are identical either way.
On Lite, there is one skill: docs/ask-ai-skill/lite/gpt-image-2/SKILL.md — the /gpt-image-2 command without the BRAND block or video rules (a Lite server has neither). Your Lite dashboard links straight to it. The other 22 skills call tools a Lite server doesn't have.
Environment variables
Variable | Required | What it does |
| Yes | Your license key — it decides the edition (Lite / Full). Generation is disabled without it. |
| Yes | Your Kie.ai API key. Every generation bills to this account. |
| Yes | 30+ random characters. Becomes part of your private MCP and dashboard URLs. |
| No | GoHighLevel Private Integration Token. Enables automatic Media Library saves plus the |
| No | The GHL location (sub-account) generated media gets saved into. |
Change any of these anytime in Vercel: your project → Settings → Environment Variables, then redeploy for the change to take effect.
Getting updates
The deploy button copied this repo into your own GitHub account, and Vercel builds from that copy. New features and fixes land here first — to pull them into yours:
Open your copy on GitHub (
github.com/<you>/freshgen-link).Click Sync fork → Update branch (top of the file list).
Vercel notices the new commit and redeploys on its own — about 3 minutes.
Your env vars, license and URL don't change. Tier upgrades don't need this at all — those are just a new key. Syncing is only for new code (a new model, a fix, a feature that wasn't there when you deployed).
Works outside GHL too
FreshGen Link is a standard MCP server, so anything that speaks MCP can use the same URL — same Kie.ai key, same billing, and finished media still auto-saves to your GHL Media Library because that happens on the server.
Client | How to connect |
Claude Desktop / claude.ai | Settings → Connectors → Add custom connector → paste your standard MCP URL. Needs a paid Claude plan (Pro, Max, or Team). |
Claude Code |
|
Cursor, ChatGPT connectors, other MCP clients | Add a remote MCP server by URL; transport is Streamable HTTP, no auth header — the secret is in the URL. |
The Ask AI skill files are the open Agent Skills format, so they work in Claude too — drop a SKILL.md into Claude Code's skills folder or upload it in claude.ai and /adset, /gpt-image-2 and friends work there as well.
One caution: it's the same secret URL everywhere. Anyone who has it can spend your Kie.ai balance — don't paste it into shared Claude projects or team workspaces you don't control.
Which model should I use
list_models always has the live, authoritative list — ask your GHL agent "what models are available?" anytime. For reference:
Image models
Model | Best for | Price |
| Text, logos, typography | ~$0.04 |
| Best photorealism and likeness | ~$0.09 |
| Cheapest drafts | ~$0.02 |
| Fast, all-round | ~$0.04 |
| Stylized art | ~$0.03 |
| Clean commercial looks (no reference images) | ~$0.03 |
Video models
Model | Best for | Price |
| Fast and cheapest | ~$0.13 per 5s (measured) |
| Flagship quality, up to 4K, end-frame support | ~$0.42+ per 5s |
| Native audio | ~$0.50 per 5s |
| Cinematic | ~$1.20+ per 5s |
| HD on a budget | varies |
| Longer clips, cheap | varies |
You don't have to pick one — describe what you want and the default model handles most requests well. Mention a model by name if you want a specific look.
What it costs to run
Two bills, and only one of them is usually real money.
Kie.ai — pay per generation, straight from your own wallet:
Price | |
Image | $0.02 – $0.09, depending on model |
Video (5-second clip) | $0.25 – $1.20, depending on model |
1 credit = $0.005. Every generation reports its real cost when it finishes — check your balance anytime with the check_credits tool or the dashboard.
Vercel — hosting:
Free tier runs this fine, technically. But read the fine print: Vercel's Hobby plan terms restrict it to non-commercial use. Running this for a client, or as part of a paid agency service, counts as commercial use — that means Vercel Pro, $20/mo, to stay inside the terms. If it's purely for your own business, Hobby is probably fine — but check Vercel's terms yourself if you're not sure which side of that line you're on.
Your media expires
Kie.ai generation URLs die after about 14 days. That's normal — it's how Kie keeps hosting cheap, not a bug.
Two ways to keep what you make:
Download it. Works with zero setup.
Auto-save to your GHL Media Library. Set
GHL_PITandGHL_LOCATION_IDin your Vercel project's environment variables and every finished generation is copied into your GHL Media Library automatically the moment it completes — images and video both, even if nobody asks for it again in chat. Create the PIT in GHL: Settings → Private Integrations → New, with the "View/Edit Media" scopes.
A note on security
There's no login, no password field, no OAuth screen anywhere in this setup — and that's intentional, not a shortcut. Your MCP_SECRET inside the URL is the credential. Anyone who has the full URL can call the tools on your Kie.ai account; anyone who doesn't have it can't even find the endpoint to try it against. Guard the URL the way you'd guard a password: don't paste it into public channels, screenshots, or support tickets.
FAQ
Is my API key safe?
Yes. It lives in your own Vercel project's environment variables — your Vercel account, nobody else's. Nobody, including Fresh, ever sees it.
Why is the code public if I'm paying for this?
The Vercel deploy button requires a public GitHub repo — that's a Vercel limitation, not a choice made here. Readable isn't the same as free: the code is source-available under a paid license (see LICENSE), and a valid license key is required to run it. What you're paying for is the packaged product — the one-click deploy, the dashboard, the docs, and support when something breaks.
What happens if my license key is missing or invalid?
The server still connects to GoHighLevel and the informational tools (list_models, check_credits) keep working, but generate_image, generate_video, and save_to_media_library return an "not activated" message instead of running. Add a valid LICENSE_KEY in Vercel and redeploy. Your dashboard shows activation status at a glance.
What's the difference between Lite and Full?
Lite is free and does one thing: images on GPT Image 2, saved to one GHL location. Full ($17 one-time) adds video and five more image models. Same repo, same deploy — the key decides. Table in Lite vs Full.
How do I upgrade?
Buy Full, paste the new key into LICENSE_KEY in Vercel, redeploy. Your MCP URL doesn't change, so nothing in GHL needs reconnecting — the extra tools just show up.
My video didn't come back — is something broken?
No — video takes 2 to 5 minutes to render. generate_video starts the job and hands your GHL agent a task ID; it isn't supposed to return the finished clip immediately. Ask the agent to check again in a couple of minutes ("is my video ready yet?") — or, if you've connected a GHL Private Integration Token, just open Media Storage: the finished clip lands there automatically without anyone asking.
Do I need to know how to code?
No. You click the deploy button, paste three values, and copy a URL into GHL. If you can fill out a form, you can set this up.
Can I run more than one?
Yes. One deployment = one location. Need a second location, or a client with their own KIE_API_KEY and separate billing? Deploy it again under a different Vercel project name with a different MCP_SECRET, and it's fully independent.
Is this only for images and video?
Yes, on purpose. FreshGen Link does one thing — AI image and video generation through Kie.ai — and does it well. It isn't a general-purpose AI toolbox.
Troubleshooting
Problem | Fix |
401 error connecting in GHL | Your secret doesn't match, or there's a trailing space in the pasted URL. Re-copy the URL from your dashboard rather than retyping it. |
Tools not showing up in GHL | Remove the MCP connection and re-add it — the tool list can be cached from the first connection attempt. |
"Insufficient credits" error | Your prepaid Kie.ai balance ran out. Top up at kie.ai. |
Dashboard shows 404 | Wrong secret in the URL. Double-check |
MCP URL unreachable from GHL | In Vercel, go to your project → Settings → Deployment Protection. It must be OFF for production — if it's on, Vercel blocks GHL's servers before they ever reach your MCP endpoint. |
Deploy fails on Vercel | Almost always a missing required env var. Check |
"Not activated" from every generation tool |
|
Test image button does nothing | Check |
"Test Connection" times out in GHL | The first request after idle can be slow (Vercel cold start). Wait 10 seconds and try again. |
Everything worked, then suddenly stopped | Check |
Media saved to the wrong sub-account |
|
Running it locally (optional)
Most buyers don't need this — the deploy button is the intended path, and it's the only path that comes with support. If you want to poke at the code before deploying, or you're comfortable running it yourself:
git clone <your-fork-url>
cd freshgen-link
npm install
cp .env.example .env.local # fill in KIE_API_KEY and MCP_SECRET
npm run devRuns on http://localhost:3000 by default. Requires Node 20+.
Support
Something not working, and it isn't listed above? Reach out to whoever you bought this from — that's the "support" part of what you paid for.
License
Source-available, not open source. You may run and modify it for your own business (including white-labeling it) with a valid license key; you may not redistribute it or strip out the license check. Full terms in LICENSE.
Trademarks
GoHighLevel and HighLevel are trademarks of HighLevel Inc. FreshGen Link is an independent product and is not affiliated with, endorsed by, or sponsored by HighLevel. Kie.ai and Vercel are trademarks of their respective owners.
Terms and privacy
By purchasing, deploying, or using FreshGen Link you agree to the Terms of Service and acknowledge the Privacy Policy. Both are also served by every deployment at /terms.html and /privacy.html. Short version: the software is provided as is, you operate your own copy on your own accounts, generation costs are billed by Kie.ai to you, and we never see your prompts, media, or keys.
That covers everything from first deploy to first generation. Bookmark this file, or better, bookmark your dashboard — it's the fastest place to check that everything's still healthy.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Self-hosted MCP gateway: turn any API, database or MCP server into AI connectors — no code.
Hosted MCP server connecting AI assistants to 9,000+ apps and 40,000+ actions via Zapier.
MCP server for QPost — lets AI agents publish video and image posts to YouTube, TikTok, Instagram.
OCR, transcription, file extraction, and image generation for AI agents via MCP.
Related MCP Servers
- AlicenseAqualityBmaintenanceMCP server for AI-powered image, audio, and video generation, enabling media creation directly from Claude, Cursor, and other MCP clients.1164MIT
- AlicenseNot gradedqualityCmaintenanceUniversal MCP server for all Kie AI image generation and editing models, enabling text-to-image, image-to-image, and image editing via natural language.382MIT
- AlicenseNot gradedqualityCmaintenanceLocal MCP server that plans, generates, and assembles production assets (images, audio, video) through multi-agent personas and official APIs, with free-tier budget guard.MIT
- AlicenseAqualityBmaintenanceAn MCP server that enables local AI agents to generate images and videos through the OpenRouter API, manage a browsable media library, and track generation costs.11MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/anrob/freshgen-link'
If you have feedback or need assistance with the MCP directory API, please join our Discord server