SorryAssets
API

Direct HTTP API

Call the generation engine without opening the desktop app.

Create API key

Direct HTTP API

Use HTTP when you want to call SorryAssets without opening the desktop app.

Contract

  • Base URL: https://sorryassets.com.
  • Auth header for spend and task endpoints: Authorization: Bearer sa_your_key.
  • Discovery endpoints are public: GET /v1/catalog, GET /v1/pricing, GET /v1/skills, GET /v1/skills/:id.
  • Generation endpoints require an account key: POST /v1/estimate, POST /v1/generate, GET /v1/task/:taskRef.
  • Asset delivery: GET /v1/asset/:taskRef.

Flow

  1. Discover available capabilities and models.
  2. Estimate before spending.
  3. Submit a generation task.
  4. Poll until the task is terminal.
  5. Download the output promptly.
API_BASE="https://sorryassets.com"
curl "$API_BASE/v1/catalog"
curl -X POST "$API_BASE/v1/estimate" \
  -H "Authorization: Bearer sa_your_key" \
  -H "Content-Type: application/json" \
  -d '{
    "capability": "image.generate",
    "provider": "gemini",
    "model": "gemini-3.1-flash-image",
    "params": {
      "inputs": [],
      "values": {
        "prompt": "a product photo of a lime green studio headset",
        "size": "1024x1024"
      }
    }
  }'
CLIENT_EDGE_ID="$(uuidgen)"
curl -X POST "$API_BASE/v1/generate" \
  -H "Authorization: Bearer sa_your_key" \
  -H "Content-Type: application/json" \
  -d '{
    "projectId": "api-demo",
    "capability": "image.generate",
    "provider": "gemini",
    "model": "gemini-3.1-flash-image",
    "clientEdgeId": "'"$CLIENT_EDGE_ID"'",
    "params": {
      "inputs": [],
      "values": {
        "prompt": "a product photo of a lime green studio headset",
        "size": "1024x1024"
      }
    }
  }'
TASK_REF="sa-task-ref-from-generate"
curl "$API_BASE/v1/task/$TASK_REF" \
  -H "Authorization: Bearer sa_your_key"

Delivery rule

SorryAssets delivers assets, it does not host a cloud library of user generations. The backend never exposes upstream URLs. A successful task returns a SorryAssets outputUrl while the upstream content is still available.

Download the output into your own project or pipeline when the task succeeds.

OpenAI-compatible image and video endpoint families are the GA target, not the Developer Preview contract today.