Home

Blobfish API

Generate a Dockerized synthetic RL world from one request.

The website console calls a server-side proxy, which maps a user request onto the Admin API: create project, register source pack, start build, then poll the operation.

Bearer token forwarded only to configured API host
Docker gym requested through build config
Sandbox testing API endpoints returned in the Docker contract

Endpoint Sequence

POST/v1/projects

Create the tenant-scoped project that owns the synthetic world build.

POST/v1/projects/{project_id}/artifacts

Register the source pack metadata and content digest.

POST/v1/projects/{project_id}/build

Start the world compiler and Docker gym packaging workflow.

GET/v1/operations/{operation_id}

Poll compiler status and retrieve the published environment refs.

GET/v1/projects/{project_id}/environments

List accepted environment builds for the project.

Request

{
  "apiBaseUrl": "https://api.blobfish.ai",
  "userEmail": "builder@example.com",
  "projectName": "User-submitted enterprise world",
  "vertical": "custom_enterprise_workflow",
  "topic": "derived from console prompt, uploaded data, and connected sources",
  "evidenceSummary": "Prompt, optional PRD/PDF uploads, RAG or DB links, Smithery MCP candidates, docs, GitHub usage examples, personas, pricing, hiring posts, and competitors.",
  "mcpServerUrl": "resolved by Smithery research worker",
  "toolDocsUrl": "resolved from docs and GitHub research",
  "seed": 42691,
  "maxTools": 12,
  "maxTasks": 80,
  "qualityProfile": "paper_compat",
  "requireDockerImage": true
}

Accepted Response

{
  "projectId": "prj_...",
  "sourceArtifactId": "art_...",
  "operationId": "op_...",
  "status": "accepted",
  "nextPollUrl": "https://api.blobfish.ai/v1/operations/op_...",
  "dockerContract": {
    "requested": true,
    "expectedArtifact": "OCI image digest plus /opt/fleet manifest bundle"
  }
}

Website Proxy

The public website endpoint is POST /api/factory/worlds. It validates the API base URL, computes a content digest for the inline source pack, and forwards the user-submitted build request to the configured Fleet API.

curl -X POST https://www.blobfish.ai/api/factory/worlds \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer <tenant JWT or API token>' \
  -d @world-request.json

Compiler Stages

01data_injection_research
02company_topic_model
03sandbox_creation
04database_creation
05tools_creation
06tool_compiler_tests
07verifiable_task_synthesis
08multi_env_rl_loop
09executable_rewards
10grpo_training
11kl_penalty
12self_evolving_arena

Sandbox Testing API

GET/healthz
GET/v1/metadata
POST/v1/reset
GET/v1/tools
POST/v1/tool-calls
GET/v1/observation
POST/v1/snapshot
POST/v1/restore
POST/v1/verify
POST/v1/terminate