Skip to content

Runs

Universal execution primitive for agentic apps.

POST /v1/runs

Creates a capability run (agent target reserved).

bash
curl -s -X POST https://api.skilleo.org/v1/runs \
  -H "Authorization: Bearer $SKILLEO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"target":"capability","name":"research.gather","version":"1","input":{"topic":"Kenya wildlife"},"options":{"optimize_for":"cost"}}'

Options

FieldApplies toDescription
optimize_forLLM capabilitiescost, quality, or balanced — influences default provider order
providerLLM, voicePin a connected provider (openai, minimax, elevenlabs, …)
compute_idGPU capabilitiesRunPod pod target
endpoint_idGPU capabilitiesRunPod serverless endpoint

Options are stored on the run and passed to the underlying job. Infrastructure targets in options are stripped from the public run record but still used for execution.

Response (202): envelope with id = run_…, data.run_id, data.status, data.output, data.artifacts, data.usage (skilleo vs provider_usage).

Examples

LLM with provider pin

bash
curl -s -X POST https://api.skilleo.org/v1/runs \
  -H "Authorization: Bearer $SKILLEO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"target":"capability","name":"llm.generate","version":"1","input":{"objective":"Plan a 60-second wildlife short"},"options":{"provider":"anthropic","optimize_for":"quality"}}'

Speech

bash
curl -s -X POST https://api.skilleo.org/v1/runs \
  -H "Authorization: Bearer $SKILLEO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"target":"capability","name":"speech.generate","version":"1","input":{"text":"Welcome to the Mara at dawn."},"options":{"provider":"elevenlabs"}}'

GET /v1/runs/{run_id}

Poll until completed | failed | cancelled.

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

SDK

python
from skilleo import Client

client.capabilities.run(
    "llm.generate",
    input={"objective": "Summarize Kenya wildlife"},
    version="1",
    options={"provider": "minimax"},
)
# or
client.runs.create(name="research.gather", input={"topic": "Kenya"})

Skilleo — /v1 at api.skilleo.org