Playground
Browse supported base models and your fine-tuned model artifacts. Interactive completions are disabled while hosted inference is not enabled.
Overview
The Playground is available at Dashboard → Playground and via two REST endpoints. It lists the fine-tunable base models configured in Tuned Tensor plus any fine-tuned model you have created through a run.
Key capabilities:
- Single & compare mode — select one model or two side by side
- System prompt — optionally prepend a system message
- Temperature & max tokens — adjustable per request (0–2 temperature, 64–4 096 tokens)
- Model inventory — base models and fine-tuned artifacts are listed from the same account-scoped API
Available Base Models
These models are available for hosted fine-tuning.
| Model | Context Length |
|---|---|
Qwen/Qwen3.5-2B | 131,072 |
Qwen/Qwen3.5-4B | 262,144 |
google/gemma-4-E2B-it | 128,000 |
google/gemma-4-E4B-it | 128,000 |
meta-llama/Llama-3.2-3B-Instruct | 128,000 |
microsoft/Phi-4-mini-instruct | 128,000 |
ibm-granite/granite-3.3-2b-instruct | 128,000 |
bigcode/starcoder2-3b | 16,384 |
Fine-tuned models you create through runs also appear in the model selector with their provider_model_id.
List Playground Models
GET /api/v1/playground/models
curl https://tunedtensor.com/api/v1/playground/models \
-H "Authorization: Bearer tt_your_api_key"Response:
{
"data": {
"base_models": [
{
"id": "Qwen/Qwen3.5-2B",
"name": "Qwen3.5-2B",
"type": "base"
}
],
"fine_tuned_models": [
{
"id": "user/Qwen3.5-2B-ft-abc123",
"name": "Qwen3.5-2B-ft-abc123",
"type": "fine-tuned",
"base_model": "Qwen/Qwen3.5-2B"
}
]
}
}| Field | Description |
|---|---|
base_models | Supported base models |
fine_tuned_models | Your fine-tuned models (includes base_model for reference) |
Run a Completion
POST /api/v1/playground/completions returns 501 playground_unavailable when hosted inference is not enabled.
curl -X POST https://tunedtensor.com/api/v1/playground/completions \
-H "Authorization: Bearer tt_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"model": "Qwen/Qwen3.5-2B",
"messages": [
{ "role": "system", "content": "You are a helpful assistant." },
{ "role": "user", "content": "Explain LoRA fine-tuning in one paragraph." }
],
"temperature": 0.7,
"max_tokens": 1024
}'Request Body
| Parameter | Type | Default | Description |
|---|---|---|---|
model | string | — | Model ID (base or fine-tuned). Required. |
messages | {role, content}[] | — | Chat messages. At least one required. Roles: system, user, assistant. |
temperature | number | 0.7 | Sampling temperature (0–2). |
max_tokens | integer | 1024 | Maximum tokens to generate (1–4 096). |
Current Response
{
"error": {
"code": "playground_unavailable",
"message": "Playground inference is unavailable for hosted fine-tuned models."
}
}Inference Response Fields
When interactive inference is enabled, successful responses use this shape:
| Field | Description |
|---|---|
content | Generated text from the model when inference is enabled |
latency_ms | Wall-clock inference time in milliseconds |
usage.prompt_tokens | Tokens consumed by the input prompt |
usage.completion_tokens | Tokens generated in the response |
Error Codes
| Status | Code | Meaning |
|---|---|---|
| 400 | validation_error | Invalid request body (missing model, empty messages, etc.) |
| 501 | playground_unavailable | Interactive inference is not enabled for hosted fine-tuned models |
Comparing Base vs Fine-Tuned
When interactive inference is enabled, a common workflow is to compare a base model against your fine-tuned version to verify that fine-tuning improved behaviour:
- Open the Playground and enable Compare mode
- Select the base model (e.g.
Qwen/Qwen3.5-2B) in Model A - Select your fine-tuned model in Model B
- Enter a system prompt and user message from your behaviour spec
- Click Run — if inference is enabled, both models run in parallel and responses appear side by side with latency and token metrics
Via the API, when inference is enabled, make two separate POST /api/v1/playground/completions calls with the same messages but different model values.