Agent-ready platform

Your AI agent. Your data. Production CV models.

Hand any LLM-based agent a single API key and it can upload images, kick off training, and run inference against the same projects your reviewers already trust. No glue code, no parallel toolchain, no separate plan.

Plug into any agent

ChatGPT, Claude, Cursor, or anything else that can call HTTP and read markdown.

Same projects, same data

Agents work alongside your reviewers, not around them. Same workspace, same labels, same audit trail.

Pause anytime

Revoke a key in one click. Reviewers keep working. Trace any call by request ID.

API reference

Agent integration

Base URL ·  Auth · Authorization: Bearer mlp_live_… Guide · /agents.md Spec · OpenAPI 3.1
Quickstart in 3 steps → Subscribe, mint a key, paste the prompt into your agent.

#Overview

Agents authenticate with a single mlp_live_… token issued from the account page. The token grants the same data-plane access a signed-in user has: create projects, upload images, train models, and run inference.

#What an agent can do

Hand your agent the keys and it can run the same computer vision workflows your team uses in the browser. Bulk uploads, training kicks, and batch inference become one-prompt operations.

Projects & images

Create projects, bulk-upload images, organize splits, define label sets.

  • POST/projectsCreate a project in a workspace.
  • POST/projects/:id/imagesMultipart upload, ≤20 files / 50 MB each.
  • POST/projects/:id/labelsetsDefine a labeling task on the project.
  • GET/projects/:idDetail with images, label sets, models summary.
Training

Kick off cloud GPU training from a labeled set, poll status to completion, pull the finished model.

  • POST/label-sets/:id/trainingCreate a (pending) training job.
  • POST/training/:id/startStart the job. Consumes 1 token minimum.
  • GET/training/:idStatus, progress, metrics, log.
  • GET/training/:id/downloadDownload the trained model. ?format=onnx (default) or pth.
Inference

Score one image synchronously or queue a batch run across an entire split.

  • POST/training/:id/infer/:imageIdSynchronous, returns predictions.
  • POST/training/:id/infer-allAsync batch over a split.
  • GET/training/:id/infer-all/resultsPer-image predictions when complete.
  • GET/training/:id/evaluate/resultsEvaluation metrics from a batch run.

#Quickstart

  1. Subscribe

    API access is included with the standard subscription. Training still draws from your monthly token allowance regardless of who triggers the run. View pricing →

  2. Create an AI access key

    Open the AI Access Keys tab in your account, name the key (e.g. my-laptop), and copy the mlp_live_… token. Open account →

  3. Hand it to your agent

    Paste the prompt below into your agent’s system message (Claude, ChatGPT, Cursor, custom, …). It tells the agent the base URL, the docs URL, and how to authenticate.

#Agent prompt template

Drop this into your agent’s system message verbatim. The single instruction “fetch /agents.md first” is the most important part. The rest of the API is documented there in a format LLMs read well.

System prompt

#Authentication

Authorization: Bearer mlp_live_xxxxxxxxxxxxxxxxxxxxxxxx

Keys begin with the prefix mlp_live_. The first call should always be GET /me; if the response’s data.authSource is "apiKey", the key is valid. Bad or missing keys return 401 UNAUTHENTICATED or 401 API_KEY_INVALID.

Generate keys in the AI Access Keys tab of your account panel. Open my account →

#First call: verify your key

If authSource comes back as "apiKey", you’re in.

Request
curl -H "Authorization: Bearer $MLP_KEY" \
     
Response
{
  "ok": true,
  "data": {
    "userId": "u_abc123",
    "email": "you@example.com",
    "authSource": "apiKey"
  },
  "requestId": "01H..."
}

#Rate limits

Steady state60 requests / minute / key
Burst120 requests, refilled at 1 / second
Over the limitHTTP 429, Retry-After header, envelope code RATE_LIMITED with error.details.retryAfterSeconds
JSON body cap100 MB
Single image cap50 MB. JPEG, PNG, WebP only.
Files per multipart20 (extras are dropped server-side)

#Deep references

The full surface, in two formats. Hand the markdown URL to your agent. It’s written for LLMs to read top to bottom.

#FAQ

What is agentic integration compared with working in the browser?

Reviewers keep signing in, labeling, and steering quality inside MLPractitioners. Trusted automation lightens repeatable work like bulk uploads or training kicks when you decide to turn it on. Revoke an integration in one click and your teammates’ sessions keep working untouched.

Does my agent need a separate plan?

No. API access is included with the standard subscription. Training still consumes tokens from your monthly allowance or token bundles, regardless of whether the run was started by a human or by an agent.

How do I rotate or revoke a key?

From the AI Access Keys tab in your account. Revocation is immediate. Up to 10 active keys per user; create a new one and revoke the old one to rotate cleanly.

Can my agent share data with another user’s agent?

Yes, via shared workspaces. Create a workspace, invite the other user, and any project in that workspace is reachable by both users’ keys. Training inside a shared workspace bills the workspace owner’s token pool, not the caller’s.

Is there a webhook for training completion?

Not yet. Today, agents poll GET /training/:id every 30 seconds until status is completed or failed. Don’t poll faster. You won’t see state change more often.