Hub migration to ZenCloud

Discover the ZenCloud contract for new work and retain access to historical Hub jobs.

New /v2/hub/<model>/start requests return HTTP 410 with hub_execution_retired. No new Hub job is created. Use /v2/zencloud for scientific image discovery, reservations, invocations and outputs. Hub BindCraft uses the ZenCloud image bindcraft2.

POST/v2/zencloud

Describe ZenCloud

Read current image contracts, allowed inputs and reservation pricing before starting work.

cURL
curl https://api.omtx.ai/v2/zencloud \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"action":"describe"}'
Response
{
  "catalog_version": "omtx.sandbox-catalog.v1",
  "images": [
    {
      "image": "boltz2",
      "image_release": "0.1.0-candidate.2",
      "contract_version": "omtx.sandbox-image.v1",
      "applications": ["predict"],
      "machine": "base-gpu",
      "network": "none",
      "artifact_retention_days": 30,
      "reservation": {
        "minimum_minutes": 5,
        "maximum_minutes": 360,
        "increment_minutes": 5,
        "wallet_credits_per_hour": 500
      }
    }
  ],
  "sessions": [],
  "request_id": "3f2c1a9e-5b7d-4c8e-9a1f-2b6d4e8c0a71"
}
  • Stage the selected image's input artifacts before reserving time.
  • After reviewing the price, use action=start with image and reservation_minutes. Persist a distinct Idempotency-Key for this intended reservation.
  • Once the session is ready, use action=run with session_id and the image's exact parameters and files contract. Persist an invocation Idempotency-Key.
  • Use action=get with session_id and, for an invocation, invocation_id to inspect status and outputs.
  • After an uncertain response, reuse the original operation key and identical inputs. Do not create a replacement reservation automatically.

The Om MCP exposes the same workflow through zencloud and zencloud_status. Existing Hub jobs remain readable through /v2/jobs/*, including authorized artifact downloads. An exact replay of an already accepted Hub request can recover its original receipt using its original route, payload and Idempotency-Key; it cannot admit a new job. GET /v2/hub/models supplies migration guidance and no active models.