Treza
Crea, ejecuta, programa y publica pipelines de video con IA en YouTube y TikTok. Modelos de vanguardia de video, imagen, voz y texto en un lienzo de nodos, impulsados a través de MCP.
Documentación
Give your assistant a video pipeline. Connect Treza’s hosted Model Context Protocol server and it can build a pipeline from a brief, run it, follow the render, and publish the result to a channel you connected. One URL, sign in once.
https://www.trezalabs.com/api/mcp
What your assistant can do once connected
Every tool maps to a step a producer takes, scoped to the account that signed in. The pipelines are whatever you built on the canvas, or whatever the assistant builds for you.
-
Build a pipeline from a brief
Describe the video you want. The assistant starts from a template or the node vocabulary, creates the pipeline as a draft on your account, and fixes validation issues before anything runs. -
Run it and follow the render
run_pipeline starts the render on Treza's workers and returns a run id immediately. The assistant polls get_run and comes back with per-node results and the output URLs when the status flips. -
Finish what you already made
list_assets finds the clips, stills, and tracks on your account. assemble_video joins them into one video with a voiceover, a music bed from your library or composed from a description, and captions, and edit_asset captions, upscales, or trims a single file, with no graph to draw. -
Publish to a connected channel
connect_channel hands you a link to connect a YouTube channel or TikTok account in your browser. After that, publish_asset lays a finished video out for you to review and posts it when you press Post, and a pipeline can end with the upload on its own schedule. -
Check credits before spending them
estimate_run_cost prices one run against the current balance, and get_credit_balance returns the balance, plan usage, and a top-up link to hand to a person when it runs low. -
Keep a schedule honest
Pipelines whose published snapshot carries a schedule-trigger fire on their own. The assistant reports each schedule's state and next fire time, and pauses or resumes it without touching the published graph.
Add it to your client
The server speaks standard Streamable HTTP MCP, so every client uses the same URL. On first use the client sends you to Treza to sign in and approve the scopes it asked for. No key touches the chat or a config file.
claude.ai (custom connector)
Open Settings, then Connectors, then Add custom connector, and enter https://www.trezalabs.com/api/mcp as the URL. Claude walks you through signing in to Treza and approving access. Approve once and the connector stays linked to your account.
claude mcp add --transport http treza https://www.trezalabs.com/api/mcp
{
"mcpServers": {
"treza": {
"url": "https://www.trezalabs.com/api/mcp"
}
}
}
{
"schema_version": 1,
"mcp_servers": {
"treza": {
"transport": "streamable_http",
"url": "https://www.trezalabs.com/api/mcp",
"mode": "optional"
}
}
}
# Any MCP client that speaks Streamable HTTP.
# OAuth sign-in on first use, or a scoped API key as a bearer:
Authorization: Bearer treza_live_...
In Cursor, open Settings, Tools & MCP, New MCP Server, paste the JSON, and enable it. Muse Code reads its own settings file, where schema_version is required and the key is mcp_servers in snake case; add a headers entry alongside the URL if you would rather send a key than sign in. mode defaults to required, which aborts the whole session if a server is unreachable, so the snippet sets optional instead. Any other client that speaks Streamable HTTP MCP connects with the same URL: it completes the OAuth sign-in if it supports one, or sends a scoped API key with pipelines:read and pipelines:run permissions in the Authorization header. The Cursor walkthrough covers the editor setup step by step.
The tools, grouped by job
Twenty-one tools, each one a production step rather than a model parameter. That keeps tool selection reliable when the assistant is juggling your request alongside everything else in context.
Authoring
Requires the pipelines:write scope.
list_pipeline_templatesReady-made pipelines that create_pipeline can copy, each with the entry nodes a run's inputs are keyed by.list_node_typesThe node types available for building graphs, grouped by category.get_node_typePorts and config schema for one node type, with the live model catalog on model-bearing nodes.create_pipelineCreate a draft pipeline from a template id or an initial node graph. Error-level issues block the save.update_pipelineRename a pipeline, change its description, or replace its graph. Error-level issues block the write.publish_pipelineSnapshot the draft as an immutable deployed version that schedules and the public APIs run.
Running
run_pipeline requires the pipelines:run scope.
list_pipelinesEvery pipeline on the account, with status, schedule state, and a summary of recent runs.get_pipelineOne pipeline's metadata and node summary, or the complete graph with includeGraph.run_pipelineStart a run in the background and get a run id back at once. Inputs are keyed by entry node id.get_runOverall status plus per-node results and output URLs. Poll it until the status leaves running.list_runsRecent runs for a pipeline, newest first.set_schedule_pausedPause or resume a published pipeline's schedule. Resuming skips the slots missed while paused.
Finishing media
assemble_video and edit_asset need pipelines:run and pipelines:write, and spend account credits. import_media and create_upload_url need pipelines:write and spend nothing.
list_assetsThe account's images, videos, and audio, newest first, as urls the next two tools accept.assemble_videoJoin clips into one finished video over a voiceover and a music bed, composed from a description if you like, with captions if you want them. One clip and a description adds music to a video.edit_assetRun any transform node over one file: captions, an upscale, background removal, a trim.import_mediaAdd a file attached in ChatGPT, a public link, or an uploaded local file to the library, so a logo can go in the corner of a video.create_upload_urlA one-time link that Claude Code, Codex, or Cursor PUTs a local file to, for import_media to add to the library.
Budgeting
Read-only, so any connection can call these.
estimate_run_costWhat one run of the draft graph will charge, step by step, and whether the balance covers it.get_credit_balancePrepaid balance, plan usage, and purchasable credit packs, with a top-up link for a signed-in person.
Publishing and access
create_api_key needs the keys:provision scope, which only an OAuth consent or first-party session carries.
list_connected_channelsThe YouTube channels, TikTok accounts, and Instagram accounts on the account, with the ids a publishing node needs.connect_channelA link to connect a YouTube channel or TikTok account, finished by you in your own browser after signing in to Treza.publish_assetLay a finished video out for review before it posts to YouTube or TikTok: the account, the title, and on TikTok who can view it and its disclosures.confirm_publishPosts what publish_asset prepared when you press Post in the panel. Only the panel calls it.create_api_keyMint a durable scoped treza_live_ key for headless use of the pipeline APIs and MCP. The raw key is shown once.
A brief becomes a pipeline
How a request plays out over the connector. The assistant picks the tools; the pipeline does the production.
- You Turn the newest episode of my podcast feed into a captioned vertical Short every week and post it to my YouTube channel.
- Assistant Calls list_pipeline_templates and finds Podcast Clip Factory, a template that pulls the newest episode from an RSS feed, picks the most shareable 30 to 60 second moment, cuts it, and builds a captioned cover-art Short. Calls list_connected_channels to get the channel id for the upload node, then create_pipeline with templateId podcast-clip-factory and the feed URL, and update_pipeline to point the upload node at your channel and set the weekly schedule-trigger.
- Assistant Calls estimate_run_cost, reports the estimated charge against the balance, and asks whether to proceed.
- You Go ahead, and run one now so I can check it.
- Assistant Calls run_pipeline and gets a run id back immediately, then polls get_run while the render happens on Treza's workers. Reports the per-node results and the finished Short's URL. When you are happy with it, publish_pipeline arms the weekly schedule.
Frequently asked questions
Do I need an API key to connect?
No. Adding the URL starts an OAuth flow: the client sends you to Treza, you sign in, and a consent page lists the exact scopes being requested for you to approve. No key touches the chat, a config file, or a committed repo. Headless clients can use a scoped treza_live_ API key as a bearer header instead.
Which scopes does the connector ask for?
pipelines:read to view pipelines and runs, pipelines:run to start runs, pipelines:write to create, edit, and publish pipelines, and keys:provision to mint scoped API keys. The consent page shows each one, and the server grants exactly what you approve. A connection can be allowed to trigger work without being allowed to change it.
What does a run started from chat cost?
The same as a run started from the dashboard or the API. Runs spend the account's prepaid credit balance, appear in the same run history, and are reserved against the balance when they start so an agent looping on run_pipeline cannot overspend. estimate_run_cost tells you the charge before you commit.
Can the assistant see other people's pipelines?
No. Every tool call resolves the caller to the owner identifiers it has proven and checks the pipeline against them. The connector sees and runs only pipelines on the account that signed in.
Does a long render block the chat?
No. run_pipeline enqueues the run on Treza's workers and returns the run id at once. The assistant polls get_run, which lists the steps completed so far while the run is still running, and returns the output URLs once it finishes.
Can it connect my YouTube channel for me?
It gives you the link. connect_channel returns a link you open in your browser, where you sign in to Treza and allow YouTube or TikTok to let Treza post. After that, list_connected_channels returns the channel id a publishing node needs, and publish_asset can post a finished video once you confirm it.
Calling a published pipeline from your own code instead of an assistant? The REST API exposes the typed /invoke endpoint and an OpenAI-compatible /chat/completions endpoint.
Connect your assistant to a video pipeline
Sign in, paste the URL into your client, and ask for a video. Prepaid credits, no subscription.