Skip to content

Plans

Objective in, validated capability-driven DAG out. Plans do not execute work — use the returned workflow_definition with workflows or start a task for end-to-end execution.

POST /v1/plans

Create a plan synchronously. Returns 201 with a pln_ id.

FieldTypeDescription
objectivestringRequired. What to produce
constraintsobjectOptional prompt, width, height, steps, format, max_cost_usd, max_latency_ms, optimize_for, etc.
contextobjectReserved for audience, locale, and other planner hints
optimize_forstringOptional. cost, latency, or balanced (default balanced)
bash
curl -s -X POST https://api.skilleo.org/v1/plans \
  -H "Authorization: Bearer $SKILLEO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"objective":"Generate image of a red cube","optimize_for":"cost","constraints":{"max_cost_usd":0.08}}'

Response data

FieldDescription
objectiveEcho of the request
templateRule template used (illustrated_post, image_only)
optimize_forPolicy used for execution scoring
nodesPlanned DAG nodes with capability_status, and for GPU steps execution_candidates / execution_preferred
executionWorkflow-level execution summary (policy, preferred, by_node)
validationdag_valid, executable, capability lists, issues
estimatescost_usd, duration_ms, gpu_steps (available steps only)
quality_criteriaReview checklist for a future manager
workflow_definitionSame node shape as workflows, including execution_preferred on GPU nodes

Plan status (top-level status)

StatusMeaning
executableDAG valid; every capability is available
plannedDAG valid; one or more capabilities missing
invalidInvalid dependencies or cycle

Capability status (per node)

ValueMeaning
availableRegistered at /v1/capabilities
missingCapability not yet available on this deployment
unknownNot in the planner catalog

GET /v1/plans/{id}

Retrieve a stored plan.

bash
curl -s https://api.skilleo.org/v1/plans/pln_abc123 \
  -H "Authorization: Bearer $SKILLEO_API_KEY"

Example

bash
curl -s -X POST https://api.skilleo.org/v1/plans \
  -H "Authorization: Bearer $SKILLEO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"objective":"Create an illustrated wildlife post about Kenya"}'

Returns a four-node DAG: research.gatherllm.generateimage.generatecomposition.layout. All four are available; executable is true. Copy and image prompts come from llm.generate.

SDK

python
plan = client.plans.create(
    objective="Generate image of a red cube",
    optimize_for="cost",
    constraints={"max_cost_usd": 0.08},
)
preferred = plan["data"]["nodes"][0]["execution_preferred"]
if plan["data"]["validation"]["executable"]:
    wf = client.workflows.create(**plan["data"]["workflow_definition"])

Plans produce a validated DAG and cost estimate. Submit workflow_definition to /v1/workflows, or use /v1/tasks for a fully managed outcome loop.

Skilleo — /v1 at api.skilleo.org