Blog

Agents

The Sume video agent from code: Agent Completions, scheduled runs, MCP tools and timeouts, programmatic tool calling, and guardrails for paid APIs.

Start with: What is a video agent? How Sume defines and runs one

Trim pauses from ten clips: inspect segments, then one timeline render

Rough-cut apps trim pauses in their own editor. For a batch by API, inspect each clip for sentence segments, keep the speech, and render one timeline.

Create a Sume schedule by API? Dashboard first, then trigger by API

The Sume API cannot create or edit schedules. Create it in the dashboard with a cron or an api trigger, then call it from code. What each trigger type means.

Sume scheduled run returned skipped: detect previous_run_active

A Sume scheduled run that overlaps another returns 200 with status skipped, not an error. Check skip_reason in code, and choose reject if a drop must be loud.

Cut a video to 15 seconds for Reddit Engaged Video Views

Reddit began a 15-second Engaged Video Views beta in September. Cut any hosted clip to 15 seconds with Sume video-trim for a flat $0.02, exact or keyframe.

Keyframe or exact video trim for pause cuts: read actual_start_seconds

Exact trim cuts where you say; keyframe trim is faster but snaps to a keyframe. For pause cuts that decides whether words get clipped. How to choose and check.

Guardrails for an agent calling paid APIs: key, cap, and what to log

An agent calling a paid media API needs three habits: an idempotency key on each write, a spend cap per run, and logs that hold ids, never signed URLs or keys.

Render a Short from an agent: hosted MCP tool order

Which Sume hosted MCP tools an agent calls, in order, to import, inspect, cut and render a vertical Short, with idempotency_key rules and what stays on REST.

Weekly video: Agent Completion, Format or schedule on Sume?

A weekly video fits a Format or a schedule, not a fresh Agent Completion each time. How to choose among the three Sume surfaces for a recurring job.

assets_download_url MCP tool: a short-lived link for an uploaded asset

The hosted MCP tool assets_download_url returns a short-lived signed URL for a first-party asset. Use it only when asked, and never echo the URL in a report.

Scheduled run 400 because the instructions are empty: where to fix it

A Sume schedule with empty instructions can not run. The API run request returns 400 invalid_request, and the text can only be edited in the dashboard.

Did my Sume cron schedule fire? Read last_run_at and next_run_at

GET /v1/actions/{id} returns last_run_at and cron.next_run_at. Compare them with the run list to see if a schedule fired, without opening the dashboard.

trending-research_search MCP tool: Reels and TikTok trends, $0.10

The hosted MCP tool trending-research_search finds trending Instagram Reels and TikTok videos for a niche at about $0.10 per search. YouTube is not supported.

Sume schedule slug rules: 2-64 characters, and runs is reserved

A Sume schedule slug is lowercase alphanumerics with single hyphens, 2 to 64 characters, unique in your account. The word runs is reserved. See the vanity path.

Scheduled Sume run missing from /v1/jobs: it is not a job

A schedule run is not a generation job, so it never appears in /v1/jobs and jobs_wait cannot wait on it. Read it from /v1/action-runs/{run_id} instead.

Why Sume's scheduled-run API does not return instructions text

The public scheduled-run shape omits the instructions text. Read and edit it in the dashboard; schedules have no MCP tool or write endpoint.

Skipped Sume scheduled run: no webhook, read the create response

A skipped or canceled Sume run sends no webhook. For api-trigger, on_active_run=skip is the default, so check the create response, not just your webhook inbox.

Agent Completions input: JSON data the agent reads from a file

Send caller data in input, not in instruction. Sume writes it to /workspace/inputs/sume-action-input.json and tells the agent to read it as data. curl sample.

Agent Completions request limits: 100,000 characters, 50 messages

The Sume Agent Completions schema caps instruction at 100,000 characters, messages at 50, and images at 30. Know where each limit is enforced before you send.

ChatGPT confirms write tools; Sume MCP also gates them by scope

ChatGPT developer mode asks before write actions. Sume's hosted MCP adds a second gate: OAuth mcp:write, an idempotency_key and an optional max_spend_usd.

Claude 'Allow always' on a paid Sume tool: what still caps spend

Claude custom connectors let you approve a tool once and keep approving it. For a paid Sume tool, the scope, idempotency key and max_spend_usd still apply.

Does the Sume run spend cap include the LLM turn? No, only generation

On a Sume run receipt, billable_amount_usd_micros is generation spend only; the agent's LLM turn bills a separate Agent wallet. How to budget both.

Five generate_image calls in one turn: Sume MCP create budget

Hosted Sume MCP gives paid creates their own budget (20 per principal, 64 per process) and queues a call up to 20 seconds before wait_busy.

Sume jobs_wait limits: 20 ids and 55 seconds per call

Hosted Sume MCP jobs_wait takes at most 20 job ids of 256 characters and waits up to 55 seconds. How to wait on a 30-clip storyboard in groups.

primary_output_key: which output key is a Sume agent run's headline

Set primary_output_key on a Sume agent run so a backend can read one URL; the receipt resolves it into primary_output_url once the run completes.

Seedance video agent in ChatGPT and Claude: Sume MCP compared

InfoseekAI put a Seedance video agent into ChatGPT and Claude over MCP on Oct 1, 2026. What a hosted MCP server like Sume's gives you instead, and when.

Sonnet 5.5 vs GPT-6.1 Sol for video scripts: both $2 in, $10 out

Claude Sonnet 5.5 and GPT-6.1 Sol list the same $2 input and $10 output per million tokens (read 2026-10-05), so pick on fit, not price.

Spend guard layers for an unattended Sume video agent, in order

Five layers cap a Sume agent that runs unattended: key scope, per-run cap, max_spend_usd and dry_run, generation admission, and the wallet. What each one stops.

One Sume schedule on a clock and on call: api_trigger_enabled

A Sume cron schedule can also set api_trigger_enabled to accept API runs. trigger_type is fixed at create time, so choose once. Overlap defaults to skip.

Sume schedule cron field: expr, IANA timezone and next_run_at

A Sume schedule's cron object holds expr, timezone and next_run_at, or null for an API-only schedule. How to read when the next run is due over the API.

Sume schedule cap null or 0: what a per-run override can do

A per-run generation_spend_cap_usd lowers a Sume schedule's cap but never raises it; null drops that ceiling, 0 is rejected, and wallet limits still apply.

tts_create dry_run will not warn about a voice-language mismatch

A cost-only dry_run on Sume's tts_create stays a preview; the language double-check runs on submission. How to preflight voice, language and cost together.

Why the Sume API hides a schedule's instructions text

GET /v1/actions returns the cron, model, cap and schema of a Sume schedule but not its instructions text. Read and edit instructions in the dashboard.

Weekly new-model watcher as a Sume schedule: schema without links

A scheduled watcher that lists new AI models fails if its output schema holds vendor page URLs. Use host-only fields and read each run with the actions API.

Launch-day run of a Sume schedule: one key per model, input as data

Start a schedule run the day a model launches with POST /v1/actions/{id}/runs. Send the model name as input data and derive the Idempotency-Key from it.

Which Sume key scope starts a Format, schedule or agent run

formats:write starts a Format run, actions:write a schedule run, agent_completions:write an agent run. Older keys lack them, and service keys can't start some.

script_run on Sume MCP: what the sandbox cannot call, and its budgets

Sume's script_run tool runs JavaScript that calls other tools with await sume.call. It has 5 to 55 second timeouts, call budgets, and no discovery tools.

Sume jobs_wait with 20 ids: one unknown id fails the whole call

A batch jobs_wait takes 1 to 20 ids. One unknown or foreign-workspace id makes the full call fail, so validate ids with jobs_list or jobs_status first.

Instagram or TikTok link to a visual check on Sume MCP, in 5 calls

The Sume MCP chain for a social video link is crawl_media, media-imports_create, jobs_wait, media-imports_get, then video_inspect on the Sume URL.

Sume hosted MCP is not Studio Agent: the one URL to put in your client

Put https://mcp.sume.com/mcp into Claude, Cursor or Codex. Studio Agent is the in-app product, not a customer MCP server, so there is no second URL to add.

Failed Sume job over MCP: read jobs_get, because jobs_result gives 409

For a failed Sume job, jobs_result returns 409 job_not_completed. Read error.public_reason with jobs_get, report it, and do not resubmit the same paid payload.

jobs_cancel on Sume MCP: Write scope, idempotency_key, early moment

jobs_cancel is a write tool marked destructive. It needs the mcp:write scope or an API key, an idempotency_key, and a job that has not started generating.

jobs_wait returned early during a deploy: retry the same job ids

A Sume MCP jobs_wait can return before its 50 second slice when the API host is draining for a deploy. The job is fine: call jobs_wait again on the same ids.

jobs_wait with timeout_seconds 0: a single status snapshot on Sume MCP

Sume's jobs_wait accepts timeout_seconds 0 to 600 (clamped to 55) and interval_seconds 1 to 60. A value of 0 reads the status once and returns right away.

poll_after_seconds in Sume MCP results: where the 5 comes from

Sume MCP jobs_status and jobs_wait results add poll_after_seconds for running jobs: the API's own interval, else 5. It is null once the job is terminal.

Preflight a paid Sume MCP call: balance_get, then dry_run

Before a paid Sume tool call, an agent should read the balance and run the tool with dry_run=true. Then submit with a fresh idempotency_key and an optional cap.

Sonnet 5.5 scores 70.6% on Terminal-Bench 4.0: cap Sume calls anyway

A benchmark score says how well Sonnet 5.5 finishes tasks, not what a Sume call may cost. Put generation_spend_cap_usd on every Agent Completion it starts.

DeepSeek V4.1 Flash sees images: hand one to a Sume Agent Completion

V4.1 Flash is described as natively multimodal. To act on an image with Sume, pass it as an input_image attachment on an Agent Completion, up to 30 per run.

usage.cap on a Format run: an agent reads remaining_usd_micros

A Format run receipt splits its spend cap into limit, counted and remaining USD micros. A supervising agent can read headroom before it asks for more work.