Tool catalogue

The tools an assistant can call, and which of them spend your money.

Read-only tools

This group is safe: nothing changes, nothing is charged.

ToolReturnsInputs
list_channelsConnected channels and whether they can publishlimit
get_credit_balanceSpendable credits and the part currently held—
list_sourcesFeeds being scanned on a schedulelimit
list_videosAccount videos, newest first; filter by channel to see its publishing historylimit, status, channelIds
get_videoRender state, download link, credits charged, per-channel outcomevideoId
list_campaignsCampaigns rendering and publishing on a schedulelimit
get_campaignState, credits spent, next slot timecampaignId

limit tops out at 50 and defaults to 10, so one long list cannot eat the assistant's context window.

History tools

Also read-only. Used when you ask where credits went, who called what, or how posted videos are doing.

ToolReturnsInputs
list_credit_transactionsEvery balance change (top-up, charge, refund, revoke) with the balance after ittype, videoId, from, to, page, limit
list_usage_logsAPI and MCP call history: operation, result, error code, calling key or appchannel, outcome, apiKeyId, from, to, page, limit
get_usage_statsTotal calls, error rate, p95 response time over time and the most called operationschannel, apiKeyId, from, to, timeZone
get_analytics_overviewViews and engagement across channels over 30 dayschannelIds
list_video_analyticsPer-video stats for posted videos, read from the platform itselfchannelIds, sort, limit
list_campaign_slotsA campaign's render-and-post slots: posted, failed, upcomingcampaignId, page, limit
list_source_itemsItems a news source has scanned, and which became videossourceId, page, limit

Every tool call an assistant makes is recorded; see it on the AI Agent or API keys page.

Tools that spend credits

ToolDoesInputs
create_videoRenders a video from a script and images, then publishes to the chosen channelstitle, script, caption, hashtags, channelIds, voiceId, mediaUrls, scheduleAt, keepAsReady
publish_videoPublishes a rendered video to a real channelvideoId, scheduleAt
create_ad_videoAd video from a template (find templates with list_ad_video_templates)templateId, productImageKeys, fieldValues, connectionIds
create_talk_videoTalk video built scene by scene from voiceover linesmoduleKey, scenes, voiceId, connectionIds
create_storytelling_videoStorytelling video stitched from clipsscript, clips, voiceId, connectionIds
create_ai_videoAI video from a prompt or an effect (find effects with list_ai_effects)aiPrompt, effectScene, aiImageKeys, connectionIds
render_comicRenders a saved comic (created with create_comic_from_story) into a videocomicId, channelIds
create_ai_presenter_videoAI presenter video in a studio, 10 seconds per scene (dialogue from write_ai_presenter_script, or let the model write it)presenterImageKey, style, topic, scenes, channelIds
create_video_cloneBuilds a new video in the style of a sample analysed with analyze_video_cloneanalysisId, inputImageKeys, sceneCount, channelIds
  • AI presenter and video clone run in the background: the tool returns a jobId and the assistant calls get_generation_job for the result. write_ai_presenter_script and analyze_video_clone are preparation steps and spend no credit.
  • channelIds come from list_channels; assistants usually call that first.
  • keepAsReady: true renders and stops, so you can review before asking for publish_video. This is the pattern to prefer when the assistant writes the script.
  • Omitting scheduleAt on publish_video publishes now.

These two spend real credits and post to real channels

Their descriptions tell the assistant to confirm with you first, but that is guidance, not a fence. Asking get_credit_balance first is a good habit.

The assistant cannot choose the billing model and cannot set server-side storage paths — both are pinned by the server, exactly as on the API key path.

Campaign controls

ToolDoesReversible?
pause_campaignStops rendering and publishing until resumedYes
resume_campaignStarts again — and spends credits againYes

Calling either twice equals calling it once. Both re-read the campaign after the change, so the assistant reports the new state rather than the old one.

Deliberately absent

There is no delete_video, delete_media, delete_source or cancel_campaign. No channel connection, no plan purchase, no top-up.

That is not an oversight. A vague sentence turning into a delete has no undo. Do those in the web app, or through an API key where you control each call.

Things to try saying

How many credits do I have left?

List my 5 most recent videos and tell me which ones failed.

Which of my channels has the most followers?

Pause the "Personal finance — October" campaign.

Write a 30-second script about compound interest, create the video
but don't publish it — I want to review it first.

That last one is the pattern to prefer: the assistant calls create_video with keepAsReady, you review the render, and only then ask it to publish.