Skip to main content
POST
/
v1
/
predict
Run predictions
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",
"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:

  • 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"]) Regression predictions or classification probabilities
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.