Get a key

Docs / For agents

Set a ceiling. Agents never spend past it.

One key in front of image, video, voice and text, on prepaid credit, with the spend limit enforced by the API rather than by the agent.

The ceiling

A limit is a parameter, not an instruction

The agent says what it wants and the most it may spend. Corent decides the rest.

tool: create{  "intent": "a 10-second vertical sunrise clip",  "max_cost_cents": 50} → video-air · 9:16 · 10s · 44¢ billed

Ceiling 50¢

Billed 44¢
6¢ unspent
One create call: 44¢ billed against a 50¢ ceiling, checked before it spent

Checked before it spends

The ceiling is enforced server-side, so a looping agent cannot argue its way past it.

No model, no tier

The agent describes the outcome. The router picks the model and sets the parameters.

The charge comes back

meta.cost_cents rides on every successful response, and every request keeps a receipt.

MCP

One paste connects an agent

Hosted, or run the package locally. Either way the key stays server-side.

Hosted, nothing to install

https://mcp.corent.tech/mcp Streamable HTTP

Any MCP client, config file

"mcpServers": {  "corent": {    "command": "npx",    "args": ["-y", "corent-mcp"],    "env": { "CORENT_API_KEY": "co_live_..." }  }}
ToolWhat it doesWhat it spends
planPreviews what Corent would do for an intent, and what it would cost.Nothing
createTakes an intent and a max_cost_cents ceiling, decides everything, generates.Up to the ceiling
list_modelsThe models an agent can pin by name, with live status and quality score.Nothing

HTTP

For agents that do not speak MCP

One request, one result, the cost on the response.

The request

curl -X POST \  https://api.corent.tech/v1/images/generate \  -H "Authorization: Bearer co_live_..." \  -H "Content-Type: application/json" \  -d '{    "prompt": "a matte black watch on marble",    "tier": "air"  }'

The response

{  "status": "completed",  "images": [{ "url": "https://..." }],  "meta": {    "model": "image-air",    "cost_cents": 2,    "duration_ms": 1500  }}

Deciding what to generate on its own? Send the raw request to /v1/intent/execute with confirm_estimated_cost_cents_up_to, and Corent picks the tier conservatively rather than letting an agent reach for the most expensive one.

Reach

Four kinds of output, one balance

Same key, same credits, the exact charge returned every time.

OutputEndpointWhat comes backThe charge
ImagePOST /v1/images/generateThe image inline, usually. A slow render returns a job id instead.meta.cost_cents, from 3¢
VideoPOST /v1/videos/generate202 and a job id. Read GET /v1/jobs/{id}/stream instead of polling.On the job, from 18¢ a clip
VoicePOST /v1/audio/speechThe finished audio file, synchronously.meta.cost_cents, 9¢ per 1,000 characters
TextPOST /v1/chat/completionsAn OpenAI-compatible completion. Streaming and tool calls pass through.corent.cost_cents, from 3¢ a response

Budget

What stops a runaway loop

Six limits, every one of them outside the agent.

LimitWhat it does
Per-request ceilingmax_cost_cents on create, confirm_estimated_cost_cents_up_to over HTTP. Past it, Corent returns the plan and the estimate and spends nothing.
Per-key daily capNew keys start at $10 a day, with a rate limit and a concurrent-job limit beside it. Raising a cap needs a dashboard login, so a leaked key cannot raise its own.
Prepaid balanceGET /v1/account/balance, in cents. Top up from $5 by card, $10 in crypto. No subscription.
Balance at zeroThe request returns 402 and is not charged. Nothing generates until funds land.
Failed generationsNever billed, failover included. The receipt reads billed: false, cost_cents: 0.
Blind retriesSend an Idempotency-Key. A repeated key returns the original job instead of charging twice.

Next

Two minutes in. Take a key.

Prepaid credits from $5. No subscription. Failed generations are never billed.