Deploy Rebalance
curl --request POST \
--url https://api.deepinfra.com/deploy/{deploy_id}/rebalance \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"target_deploy_id": "<string>",
"count": 1073741824,
"dry_run": false
}
'import requests
url = "https://api.deepinfra.com/deploy/{deploy_id}/rebalance"
payload = {
"target_deploy_id": "<string>",
"count": 1073741824,
"dry_run": False
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({target_deploy_id: '<string>', count: 1073741824, dry_run: false})
};
fetch('https://api.deepinfra.com/deploy/{deploy_id}/rebalance', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.deepinfra.com/deploy/{deploy_id}/rebalance",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'target_deploy_id' => '<string>',
'count' => 1073741824,
'dry_run' => false
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.deepinfra.com/deploy/{deploy_id}/rebalance"
payload := strings.NewReader("{\n \"target_deploy_id\": \"<string>\",\n \"count\": 1073741824,\n \"dry_run\": false\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.deepinfra.com/deploy/{deploy_id}/rebalance")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"target_deploy_id\": \"<string>\",\n \"count\": 1073741824,\n \"dry_run\": false\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.deepinfra.com/deploy/{deploy_id}/rebalance")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"target_deploy_id\": \"<string>\",\n \"count\": 1073741824,\n \"dry_run\": false\n}"
response = http.request(request)
puts response.read_body{
"gpu": "<string>",
"source_instances": 123,
"source_instances_after": 123,
"target_instances": 123,
"target_instances_after": 123,
"replace_id": ""
}{
"error": "Model not found"
}{
"error": "Model not found"
}{
"error": "Model not found"
}{
"error": "Model not found"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}{
"error": "Model not found"
}Dedicated Models
Deploy Rebalance
Start a GPU pool rebalance: move GPUs from this deployment onto another deployment you own, one instance at a time and without downtime. Moving all instances stops this deployment; start it again later to resume it.
POST
/
deploy
/
{deploy_id}
/
rebalance
Deploy Rebalance
curl --request POST \
--url https://api.deepinfra.com/deploy/{deploy_id}/rebalance \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"target_deploy_id": "<string>",
"count": 1073741824,
"dry_run": false
}
'import requests
url = "https://api.deepinfra.com/deploy/{deploy_id}/rebalance"
payload = {
"target_deploy_id": "<string>",
"count": 1073741824,
"dry_run": False
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({target_deploy_id: '<string>', count: 1073741824, dry_run: false})
};
fetch('https://api.deepinfra.com/deploy/{deploy_id}/rebalance', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.deepinfra.com/deploy/{deploy_id}/rebalance",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'target_deploy_id' => '<string>',
'count' => 1073741824,
'dry_run' => false
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.deepinfra.com/deploy/{deploy_id}/rebalance"
payload := strings.NewReader("{\n \"target_deploy_id\": \"<string>\",\n \"count\": 1073741824,\n \"dry_run\": false\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.deepinfra.com/deploy/{deploy_id}/rebalance")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"target_deploy_id\": \"<string>\",\n \"count\": 1073741824,\n \"dry_run\": false\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.deepinfra.com/deploy/{deploy_id}/rebalance")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"target_deploy_id\": \"<string>\",\n \"count\": 1073741824,\n \"dry_run\": false\n}"
response = http.request(request)
puts response.read_body{
"gpu": "<string>",
"source_instances": 123,
"source_instances_after": 123,
"target_instances": 123,
"target_instances_after": 123,
"replace_id": ""
}{
"error": "Model not found"
}{
"error": "Model not found"
}{
"error": "Model not found"
}{
"error": "Model not found"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}{
"error": "Model not found"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Body
application/json
Response
Successful Response
GPU type being rebalanced.
Source instances now.
Source instances once the rebalance completes.
Target instances now.
Target instances once the rebalance completes.
Id of the started rebalance; empty on a dry run.