0–90 days · live (authenticated)
An external agent sends the creative objective, inputs, channel, budget, quality priority, and deadline — not a model id. Authenticated plan, quote, and execute use that schema today. Named-model MCP remains available when the agent already knows the catalog. This page is a walkthrough, not a charge path.
Illustrative intent · live schema is POST /api/v1/outcomes
{
"objective": "Create a direct-response ad for this shoe",
"inputs": [
"product_photo.jpg",
"brand_guide.pdf"
],
"channels": [
"tiktok",
"instagram_reels"
],
"duration_sec": 15,
"budget_usd": 2,
"quality": "high",
"deadline_sec": 90,
"must": [
"9:16",
"no logo distortion"
],
"avoid": [
"text over product"
],
"output": "1080x1920 mp4"
}The intent schema is live on authenticated POST /api/v1/outcomes. This page does not execute or charge.
The agent states what media must exist when the job is done — a 15-second vertical product ad, an ecommerce hero set, an image-to-video clip — not which catalog id to call.
Budget, latency ceiling, output shape, and must/avoid rules become the eligibility envelope. A route that cannot meet them is not scored.
Intent is a separate contract from execution. The planner, router, and payment adapter should be able to change underneath without rewriting the agent’s request.
Store the original objective and constraints with the job identity so later evaluation can judge the output against what was asked, not against a generic quality score.
Preview plan · POST /api/v1/outcomes/plan · this page does not execute
Objective, budget, quality, latency, and policy — not a model id.
Planning, routing, quoting, and evaluation sit behind the schema.
API key or MCP OAuth. Unauthenticated outcomes return NOT_LIVE.
Stripe Checkout, wallet env, and seller payouts stay off this page. Authenticated outcomes execute is the live charge path. Named-model MCP and /ai-router remain available.
Do not call FAL or other provider credentials. Candidate scores and outputs on these pages are illustrative.
Do not wire Stripe Checkout, card forms, or human top-up URLs on these plan pages. Settlement stays a later integration.
Do not read X402_EVM_PRIVATE_KEY or OFFLINECREATOR_X402_MAX_USD here. Wallet settlement stays on the live /x402 runbooks.
Yes, for authenticated callers. POST /api/v1/outcomes/plan and MCP plan_outcome accept the schema. Unauthenticated outcomes return NOT_LIVE. Named-model quote_generation remains the model-id path.
Model ids force the agent to research the catalog. The plan is to let the agent describe the media outcome and let OfflineCreator choose the path, as long as the path stays inside budget, latency, and policy.
Intent is the contract. Routing, quoting, and payment stay replaceable underneath. Authenticated agents already send this schema.