Skip to main content
POST
/
v1
/
predict
import os, json, requests

# Define your test dataset path
test_path = "test.csv"

# Get your API key from the environment
api_key = os.getenv("PRIORLABS_API_KEY")
headers = {"Authorization": f"Bearer {api_key}"}

# Create prediction payload
payload = {
 "task": "classification",
 "model_id": model_id, # Use model_id from your /v1/fit call
}

files = {
    "data": (None, json.dumps(payload), "application/json"),
    "file": (test_path, open(test_path, "rb")),
}

predict_response = requests.post(
    "https://api.priorlabs.ai/v1/predict",
    headers=headers,
    files=files,
)

print("✅ Predictions:")
print(json.dumps(predict_response.json(), indent=2))
{
  "duration_seconds": 15,
  "prediction": [
    [
      0.1,
      0.9
    ],
    [
      0.8,
      0.2
    ]
  ],
  "task": "classification",
  "params": {
    "average_before_softmax": false,
    "categorical_features_indices": null,
    "device": [
      "cpu"
    ],
    "differentiable_input": false,
    "fit_mode": "fit_preprocessors",
    "ignore_pretraining_limits": true,
    "inference_config": null,
    "inference_precision": "auto",
    "memory_saving_mode": true,
    "model_path": "auto",
    "n_estimators": 8,
    "n_jobs": null,
    "n_preprocessing_jobs": 4,
    "random_state": 42,
    "softmax_temperature": 0.2
  },
  "used_credits": 10,
  "remaining_quota": 90
}

Authorizations

Authorization
string
header
required

Bearer token for authentication, obtained after signing up and generating an API key.

Body

multipart/form-data
data
string
required

A JSON string defining the prediction request parameters.

Required fields:

  • model_id (str) - Model ID from your previous /v1/fit call
  • task (str) - Task type: "classification" or "regression"

Optional Config Parameters:

  • systems (list[str]) - default: ["preprocessing", "text"]. The following preprocessing systems are supported:
    • ["preprocessing"] - Applies skrub preprocessing,
    • ["text"] - Adds text embeddings for text columns.
  • n_estimators (int) - Number of estimators in the ensemble (1-10)
  • model_path (str) - Model checkpoint path from HuggingFace
  • categorical_features_indices (List[int]) - Indices of categorical features
  • softmax_temperature (float) - Temperature for softmax scaling
  • average_before_softmax (bool) - Average before applying softmax
  • ignore_pretraining_limits (bool) - Ignore pretraining limits
  • inference_precision (str) - Inference precision ("float32", "float16", "auto")
  • random_state (int) - Random seed for reproducibility
  • balance_probabilities (bool) - Balance class probabilities

Optional Params (output configuration):

  • output_type (str) - Determines prediction output format
    • Classification: "probas" (default, probabilities) or "preds" (predictions)
    • Regression: "mean" (default, mean value) or "full" (includes quantiles, ei, pi)
file
file
required

CSV file containing the dataset to predict on.

Response

Prediction completed successfully — returns predicted values or probabilities depending on the task.

duration_seconds
integer
required

Time taken (in seconds) to complete the prediction.

prediction
required

The prediction output. Format depends on task and output_type:

  • Regression: List of floats (e.g., [1250.5, 3200.8, 980.2])
  • Classification with output_type: probas: List of lists (probabilities) (e.g., [[0.1, 0.9], [0.8, 0.2]])
  • Classification with output_type: preds: List of classes (e.g., ["class_0", "class_1"])
task
enum<string>
required

Specifies the type of task to perform — either classification or regression.

Available options:
classification,
regression
used_credits
integer
required

The number of credits consumed by this API call.

remaining_quota
integer
required

Your remaining credit balance after this request.

params
object

The inference parameters that were used during prediction.