Connect an agent (MCP)
Second Studio speaks the Model Context Protocol, so any MCP-capable agent can use it with your API key. The server is hosted, so there is nothing to install: a URL and a header.
Use the agent key in agent configuration. It cannot approve posts, so an agent can never release
its own drafts. Keep it in the SECOND_STUDIO_API_KEY environment variable, never in chat or a repo:
export SECOND_STUDIO_API_KEY="ss_live_..."
The fastest setup is the one prompt at /setup.txt: paste it into any agent.
Hosted server
URL: https://second.studio.hellofaro.io/mcp · Transport: Streamable HTTP · Auth: Authorization: Bearer $SECOND_STUDIO_API_KEY
Claude Code
claude mcp add --transport http second-studio https://second.studio.hellofaro.io/mcp --header "Authorization: Bearer $SECOND_STUDIO_API_KEY"
Cursor (.cursor/mcp.json), Windsurf and other clients with a JSON config
{
"mcpServers": {
"second-studio": {
"type": "http",
"url": "https://second.studio.hellofaro.io/mcp",
"headers": { "Authorization": "Bearer ${env:SECOND_STUDIO_API_KEY}" }
}
}
}
Claude Desktop (claude_desktop_config.json, through the mcp-remote bridge; put your key in place of MY_KEY, the file stays on your computer):
{
"mcpServers": {
"second-studio": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://second.studio.hellofaro.io/mcp", "--header", "Authorization: Bearer ${SECOND_STUDIO_API_KEY}"],
"env": { "SECOND_STUDIO_API_KEY": "MY_KEY" }
}
}
}
ChatGPT and other apps with connectors: add a custom MCP connector with the URL above and the same Authorization header.
No MCP support: call the REST API at https://second.studio.hellofaro.io/v1 with the same header. GET /v1/me checks the key.
Uploads go to a one-time upload URL from upload_asset, and agents poll get_job until a job finishes.
Tools
| Tool | What it does | Credits |
|---|---|---|
whoami |
Account, key scope and settings | n/a |
get_credits |
Balance, prices and packs | n/a |
upload_file (local) |
Upload a file from disk | n/a |
create_upload_url + register_asset (remote) |
Upload in two steps | n/a |
get_asset, list_assets, delete_asset |
Manage files | n/a |
fetch_video |
A reference from a social URL | 1 if fetched on our servers |
analyze_style |
Reference video to a reusable style | 2 for the first minute, then 1 per extra minute (10 min max) |
get_style, list_styles |
Read styles, including the full spec | n/a |
list_templates, get_template, save_template, delete_template |
Social videos saved to replicate | free (3 with analyze) |
create_edit |
Your clips cut to a style | 5 |
record_url |
Record a public web app | 3 |
record_repo |
Build a private GitHub repository and record its key flows. Optional repo_id and skill_ids add path notes |
20+ |
connect_github |
Admin: link to install the GitHub App on chosen repositories | free |
repo_connect, repo_list |
Connect a repository the app can already read, and list them | free |
repo_index |
Read a repository into docs and skills. estimate: true is a free quote |
12 + 0.12/file, cap 400 |
repo_index_status, repo_docs_get |
Index status and the docs (paths, no code quotes) | free |
create_character, get_character, list_characters, delete_character |
Stored identities you can reuse by id | like one image |
create_brand, get_brand, list_brands, delete_brand |
Brand kits for explainer videos | n/a |
write_script |
An editable scene-by-scene explainer script from a brief. Optional repo_id and skill_ids |
2 |
create_explainer |
A rendered, branded explainer video from a brief or script. Optional repo_id and skill_ids |
12 first minute, +7 per extra minute |
generate_image |
Character sheets, characters, locations, props, scenes, products | GPT Image 6 / 16 / 48 at 1K / 2K / 4K. A character sheet is twice that, and half comes back if the first render passes |
generate_video |
Video shots, from text, an image or references (+ a voice track) | quoted per request |
generate_voice |
Performed voiceover | 2 minimum, then 1 per 250 characters |
lipsync |
Re-time a mouth to an audio track | 15 min, 1.25 per second |
get_job, list_jobs |
Job status and outputs | n/a |
list_social_accounts |
Connected accounts | n/a |
connect_social_account |
A link to connect a new account | n/a |
create_post, list_posts |
Draft and track posts | 1 per post |
list_crew |
The crew: preset robots and the tools each bundles | free |
get_robot |
One robot's skills, tools, endpoints and starter prompt | free |
list_models |
Image, video and swap models and what each supports | n/a |
create_skill, list_skills, get_skill, update_skill, delete_skill |
Image recipes, and codebase skills that name file paths | free |
skill_regenerate |
Rewrite one codebase skill. Pinned, custom, and edited skills get a proposal | 4 |
skill_versions, skill_restore |
List versions and restore one, including a codebase skill deleted within 30 days | free |
edit_image |
Masked edit of a real photo, rest untouched | per image |
swap_character, motion_transfer |
Keep the footage, change the subject | quoted |
finalize_video, cancel_job, upscale_video |
Drafts → keeper, cancel with refund, 2160p resample | quoted / n/a / 3 |
library |
Everything the team can reuse by id, with who made it | n/a |
list_members, invite_member, update_member, remove_member, create_member_key, list_keys, revoke_key |
Team members, roles, keys, credit and dollar caps, claim links (admin) | n/a |
list_invites, invite_by_email, create_invite_link, revoke_invite |
Invite by email (joins on Google sign-in) or by expiring link (admins; managers into their team) | none |
my_memberships, list_teams, create_team, update_team, delete_team, set_member_team |
Teams and managers (governance accounts; admin to change) | none |
list_budgets, allocate_budget, revoke_budget, set_key_credit_cap, list_audit |
Member and team credit budgets, per-key caps, audit log (admins; managers inside their team) | none |
list_providers, connect_provider, disconnect_provider |
Your own Higgsfield / ElevenLabs keys (admin, where enabled) | n/a |
list_voices, clone_voice, delete_voice |
Your workspace's voices and clones from your samples | like voice |
analyze_brand |
A suggested brand kit from your boards | 1 |
import_brand_from_url |
Import a brand from its guidelines page or brand book PDF: logo, colors, fonts, voice and tone, taglines, do's and don'ts, imagery notes. Fills a kit you pick or creates one, and every field stays editable. Also on the Brand tab in the dashboard. | 1 |
brand_from_website |
Brand guidelines from your public website (colors, font, tone, audience, products, voice rules), saved to a brand kit without overwriting your edits. New accounts with a work email get one free scan of their domain at signup. | 1 |
report_issue, list_reports |
File a bug, feature request or question; follow the response | n/a |
feedback, /feedback prompt |
Send product feedback to the team (10 per hour per key) | 0 |
The /feedback prompt (MCP prompt feedback) asks what you want to share, then sends it with the feedback tool. It is free.
Approving posts is deliberately not a tool. A person approves with the admin key: see Posting.
Example prompts
- "Analyze ./refs/viral.mp4 and tell me what makes its editing work."
- "Make three 15-second edits of ./footage in the style of that reference, with different hooks."
- "Record our pricing page at https://example.com/pricing on mobile, then cut it to my saved style."
- "Draft the best one to our TikTok for tomorrow 6pm Eastern."
Agents: this page is also available as Markdown; the whole reference is in llms-full.txt.