create dedicated endpoint
create_dedicated_endpointProvision a dedicated inference endpoint with reserved GPUs at a frozen per-GPU-hour price, ensuring guaranteed capacity and predictable latency for custom fine-tuned models.
Instructions
Provisions a new dedicated inference endpoint (a model served on reserved GPUs at a frozen per-GPU-hour price) — use it for guaranteed capacity, custom fine-tuned weights, or predictable latency; billing starts as soon as it is running. POST /v1/dedicated (API-key scope: platform:write). SPENDS MONEY: this starts billable work on the workspace wallet. Returns: 201 with { id: }. Poll GET /v1/dedicated/{id} for status and routing_key. Notes: 400 'Invalid JSON body' or 'Missing required field(s): ...' when any of name, model_name, flavor_name, gpu_type, gpu_count, region, min_replicas, max_replicas is absent/null (checked after alias lifting). Requires an OWNER/ADMIN minting user (403). 400 when the model/flavor/GPU/region/count combo is not in the catalog, replica range invalid, or no price is configured for the GPU/region. MONEY: 402 'Insufficient balance' unless the wallet covers at least DEDICATED_PREPAY_HOURS (default 1 hour) of runway at min_replicas x gpu_count x sell rate; the per-GPU-hour price is FROZEN on the endpoint at create time; GPU-hours are metered continuously while the endpoint is enabled and RUNNING — stop (PATCH enabled=false) or DELETE to stop billing. Scope note: the dedicated routes' local apiKeyActor does not enforce key scopes on this branch.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"name": "<name>",
"model_name": "<model_name>",
"flavor_name": "<flavor_name>",
"gpu_type": "<gpu_type>",
"gpu_count": "<gpu_count>",
"region": "<region>",
"min_replicas": "<min_replicas>",
"max_replicas": "<max_replicas>"
},
"name": "create_dedicated_endpoint"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Display name (trimmed, non-empty). | |
| region | Yes | Must be in the GPU configuration's allowed_regions. | |
| gpu_type | Yes | A key of the flavor's available_configurations.gpu_configurations. Alias: gpuType. | |
| gpu_count | Yes | Must be > 0 and in the GPU configuration's allowed_gpu_counts. Alias: gpuCount. | |
| model_name | Yes | A template `name` from GET /v1/dedicated/templates. camelCase alias modelName also accepted (camelCase wins if both present). | |
| description | No | Optional description (trimmed). | |
| flavor_name | Yes | A key of that template's `flavors` map. Alias: flavorName. | |
| max_replicas | Yes | >= min_replicas and <= the configuration's max_replicas_allowed. Alias: maxReplicas. | |
| min_replicas | Yes | >= 1. Alias: minReplicas. Sizes the prepay/wallet gate (min_replicas x gpu_count x hourly price x prepay hours). | |
| custom_weights_id | No | Serve a fine-tuned model's merged weights: must start with 'model-artifact_' (the artifact id from a completed fine-tune), else 400. Alias: customWeightsId. Omit for stock base models. | |
| fine_tuning_job_id | No | The source fine-tuning job to record on the endpoint, when deployed from one. Alias: fineTuningJobId. |