Capability

Agent One

An LLM agent that plans and calls the rest of the Enterprise API for you — generate a song, get vocals, add stems, and get album art from one natural-language request. Three tiers (flash / standard / pro), no compat route.

No compat route

Agent One only exists on the native pipeline — there is no old-style POST /v7/agent/... equivalent. Always call it via POST /v1/generations with the tier’s tool_id from Tool Catalog.

Tiers

Three separate tools, one per tier — each is its own tool_id, priced and rate-limited independently. Pick the tier per request; there’s no default.

FieldTypeRequiredDefaultDescription
flashmodel=flashNoFastest, cheapest. Good for quick tasks and simple tool orchestration (a single generation, a lookup, a short edit).
standardmodel=standardNoBalanced. The default choice for everyday multi-step orchestration (e.g. "make a song, then add album art and stems").
promodel=proNoMost capable. Complex, multi-step reasoning and orchestration — longer plans, more sub-tool calls, harder judgment calls.

Calling Agent One

POST/v1/generationstool_id for (model, "agent") — pick a tier

curl -X POST https://apiv2.soundverse.ai/v1/generations \ -H "Authorization: Bearer sksoundverse_..." \ -H "Content-Type: application/json" \ -d '{ "tool_id": "<standard tier tool_id from /v1/tools>", "payload_json": "{\"prompt\": \"Write and generate an upbeat pop song about summer road trips, then give it matching album art\"}" }'

payload_json must be a JSON-encoded string

On the native POST /v1/generations route, payload_json is a string field — a JSON object encoded as text, not a nested JSON object. Sending a raw object there fails with an unhandled error, not a clean 400. Double-encode it, as in the examples above.

Returns 201 {"task_id": "...", "status": "queued"} immediately, same as every other tool. Poll GET /v1/generations/{task_id} or open GET /v1/generations/{task_id}/stream for live progress — a run that generates a song and follow-up assets can take a while, so the stream is worth it here more than for a single-shot generation.

Input fields

FieldTypeRequiredDefaultDescription
promptstringYesThe task or question for the agent to accomplish.
system_promptstringNo""Overrides the default agent persona, if you need custom instructions.
max_stepsintegerNo0Cap on tool-using LLM steps. 0 = the worker's default. 0–50.
max_budgetintegerNonullOptional hard cap on this run's total cost, in cents. See max_budget below.
workflow_build_onlybooleanNofalseRestrict the run to building and saving a reusable workflow (headless builder) rather than executing one.

A few additional fields (studio, visualizer_*) exist for the Soundverse Studio UI’s own live-editing surface and aren’t meaningful outside it — leave them unset for a standard API integration.

Output

The response’s output.text is the agent’s final answer. output.metadata_json carries the full, replayable step trace: every sub-tool call the run made (which tool, its own tool_id-equivalent, status, and its own billed cost), interleaved prose segments, and self-verification notes on whether the run actually satisfied the request.

How sub-tool calls bill

This is the one thing about Agent One that’s genuinely different from every other tool on this site: a single agent run is not one flat charge. When the agent decides it needs a capability it doesn’t have itself — generating a song, searching the web, extracting stems — it dispatches a sub-tool call, and that sub-tool call is billed separately, at that tool’s own price, exactly as if you’d called it directly yourself.

Example, confirmed against a real run: a prompt that made the agent call the web-search sub-tool billed that call at web search’s own $0.01 flat price, as a separate line item from the agent’s own per-token orchestration fee below — not folded into one number, and not double-charged.

Not every tool the agent can reach is one you can call directly yourself, though — some exist purely to support the agent’s own orchestration (finding a reference by search, saving an in-progress workflow) and are intentionally left out of Tool Catalog and unavailable via a direct tool_id. You’ll see their cost show up in a run’s step trace like any other sub-tool call; you just can’t invoke them outside of an agent run.

max_budget

An optional hard cap on what a single run can spend, in cents, across its own orchestration fee and every sub-tool call it makes combined. Checked after each turn’s tool calls settle — a sub-tool’s real cost isn’t known until it completes, so this can’t be enforced before a call, only after. Once the cumulative cost reaches the cap, the run halts and reports it hit the budget; whatever was already spent stays charged. Omit it (the default) for an uncapped run.

Pricing

Each tier’s own orchestration fee — separate from whatever its sub-tool calls bill — is usage-based, not flat: an input-token rate, an output-token rate, and a flat per-sub-tool-call fee, all in USD (1 Soundverse token = $0.01).

TierPer input tokenPer output tokenPer sub-tool callReserve floor
flash$0.00000067$0.00000213$0.001$0.01
standard$0.00000122$0.00001355$0.001$0.02
pro$0.000006$0.00003$0.001$0.05

“Reserve floor” is a small up-front hold checked before the run starts, not the real per-call price — the real charge settles from actual token usage once the run finishes. Sub-tool calls the run makes bill separately, at their own listed price.

Rate limits: flash 30/hour, 150/day; standard 20/hour, 100/day; pro 10/hour, 50/day.