Official Documentation
Filtrix Skills + MCP Setup Guide
This guide is based on the open-source Filtrix skills repository. Follow it top to bottom to complete setup and run your first image and video tasks. Open source repo.
Official Documentation
This guide is based on the open-source Filtrix skills repository. Follow it top to bottom to complete setup and run your first image and video tasks. Open source repo.
You only need one MCP server configuration and one MCP key for both image and video skills. Complete the setup once, then reuse the same flow across your agent clients.
Install from GitHub (recommended) or from a local checked-out repository during testing.
Install from GitHub
npx skills add Filtrix-AI/filtrix-skillsInstall from local path
npx -y skills add /absolute/path/to/filtrix-skills --yesTo get your MCP key, you must visit the MCP Keys page in your Filtrix AI account. Keep the key in your client secret/env settings. This key is used for both image and video generation through the same MCP server.
Key page: https://app.filtrix.ai/mcp-keys
Paid usage is required before generation tools can be used. Please complete billing setup at https://app.filtrix.ai/billing
Add this mcpServers entry to your MCP client configuration. Replace <YOUR_FILTRIX_MCP_API_KEY> with your real key.
MCP client config
{
"mcpServers": {
"filtrix": {
"command": "npx",
"args": [
"-y",
"mcp-remote@latest",
"https://mcp.filtrix.ai/mcp",
"--header",
"Authorization:\${AUTH_HEADER}"
],
"env": {
"AUTH_HEADER": "Bearer <YOUR_FILTRIX_MCP_API_KEY>"
}
}
}
}After saving config, restart your client so tools are reloaded.
Run these tool calls in order. If all return valid responses, your setup is ready.
Verification checklist
1. get_account_credits
2. generate_image_text
3. generate_video_text
4. get_video_statusThe open-source repository currently provides three skills. Use one or combine them in the same agent workflow.
Text-to-image and image editing through Filtrix MCP. Supports gpt-image-1, nano-banana, and nano-banana-2 in one skill.
Text-to-video, image-to-video, status polling, and final download flow via Filtrix MCP task APIs.
Prompt-design framework for stable motion language, camera grammar, and @asset tagging before you run video generation.
Text-to-image and image editing through Filtrix MCP. Supports gpt-image-1, nano-banana, and nano-banana-2 in one skill.
Core tools / components
When to use
Text-to-video, image-to-video, status polling, and final download flow via Filtrix MCP task APIs.
Core tools / components
When to use
Prompt-design framework for stable motion language, camera grammar, and @asset tagging before you run video generation.
Core tools / components
When to use
For quick success, call generate_image_text first. Then use edit_image_text for iterative refinement.
Tool call: generate_image_text
{
"tool": "generate_image_text",
"arguments": {
"prompt": "A cinematic portrait, dramatic side lighting",
"mode": "gpt-image-1",
"size": "1024x1536",
"idempotency_key": "img-quickstart-001"
}
}Script mode: scripts/generate.py
python scripts/generate.py \
--prompt "a cinematic portrait, dramatic lighting" \
--mode gpt-image-1 \
--size 1024x1536Script mode: scripts/edit.py
python scripts/edit.py \
--prompt "replace background with a rainy Tokyo street" \
--image-url https://example.com/input.png \
--mode nano-banana-2 \
--size 1024x1024 \
--resolution 2K \
--enhance-modeVideo generation is async. Submit with generate_video_text or generate_video_image, then poll get_video_status until completion.
Tool call: generate_video_text
{
"tool": "generate_video_text",
"arguments": {
"prompt": "A white sports car drifting through a rainy Tokyo intersection",
"aspect_ratio": "16:9",
"idempotency_key": "vid-quickstart-001"
}
}Tool call: get_video_status
{
"tool": "get_video_status",
"arguments": {
"request_id": "<REQUEST_ID_FROM_GENERATE_VIDEO_TEXT>"
}
}Script mode: scripts/generate.py
python scripts/generate.py \
--mode text-to-video \
--prompt "a cinematic drone shot over a neon city at night" \
--aspect-ratio 16:9 \
--waitScript mode: scripts/status.py
python scripts/status.py \
--request-id YOUR_REQUEST_ID \
--download \
--output /tmp/video.mp4Best practice: keep idempotency keys unique per intent to avoid duplicate billing and unstable loops.
A complete Markdown version of this guide is available for agent context loading and prompt injection.