curl --request POST \
--url https://api.primeintellect.ai/api/v1/images/build \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"image_name": "<string>",
"image_tag": "<string>",
"sourceImage": "<string>",
"dockerfile_path": "Dockerfile",
"platform": "linux/amd64",
"teamId": "<string>",
"visibility": "INHERIT",
"ownerScope": "platform"
}
'import requests
url = "https://api.primeintellect.ai/api/v1/images/build"
payload = {
"image_name": "<string>",
"image_tag": "<string>",
"sourceImage": "<string>",
"dockerfile_path": "Dockerfile",
"platform": "linux/amd64",
"teamId": "<string>",
"visibility": "INHERIT",
"ownerScope": "platform"
}
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({
image_name: '<string>',
image_tag: '<string>',
sourceImage: '<string>',
dockerfile_path: 'Dockerfile',
platform: 'linux/amd64',
teamId: '<string>',
visibility: 'INHERIT',
ownerScope: 'platform'
})
};
fetch('https://api.primeintellect.ai/api/v1/images/build', 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.primeintellect.ai/api/v1/images/build",
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([
'image_name' => '<string>',
'image_tag' => '<string>',
'sourceImage' => '<string>',
'dockerfile_path' => 'Dockerfile',
'platform' => 'linux/amd64',
'teamId' => '<string>',
'visibility' => 'INHERIT',
'ownerScope' => 'platform'
]),
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.primeintellect.ai/api/v1/images/build"
payload := strings.NewReader("{\n \"image_name\": \"<string>\",\n \"image_tag\": \"<string>\",\n \"sourceImage\": \"<string>\",\n \"dockerfile_path\": \"Dockerfile\",\n \"platform\": \"linux/amd64\",\n \"teamId\": \"<string>\",\n \"visibility\": \"INHERIT\",\n \"ownerScope\": \"platform\"\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.primeintellect.ai/api/v1/images/build")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"image_name\": \"<string>\",\n \"image_tag\": \"<string>\",\n \"sourceImage\": \"<string>\",\n \"dockerfile_path\": \"Dockerfile\",\n \"platform\": \"linux/amd64\",\n \"teamId\": \"<string>\",\n \"visibility\": \"INHERIT\",\n \"ownerScope\": \"platform\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.primeintellect.ai/api/v1/images/build")
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 \"image_name\": \"<string>\",\n \"image_tag\": \"<string>\",\n \"sourceImage\": \"<string>\",\n \"dockerfile_path\": \"Dockerfile\",\n \"platform\": \"linux/amd64\",\n \"teamId\": \"<string>\",\n \"visibility\": \"INHERIT\",\n \"ownerScope\": \"platform\"\n}"
response = http.request(request)
puts response.read_body{
"build_id": "<string>",
"fullImagePath": "<string>",
"buildIds": [
"<string>"
],
"upload_url": "<string>",
"expires_in": 123,
"visibility": "PRIVATE"
}{
"errors": [
{
"param": "<string>",
"details": "<string>"
}
]
}Initiate Image Build
Build a VM image from a public source or an uploaded Dockerfile context.
curl --request POST \
--url https://api.primeintellect.ai/api/v1/images/build \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"image_name": "<string>",
"image_tag": "<string>",
"sourceImage": "<string>",
"dockerfile_path": "Dockerfile",
"platform": "linux/amd64",
"teamId": "<string>",
"visibility": "INHERIT",
"ownerScope": "platform"
}
'import requests
url = "https://api.primeintellect.ai/api/v1/images/build"
payload = {
"image_name": "<string>",
"image_tag": "<string>",
"sourceImage": "<string>",
"dockerfile_path": "Dockerfile",
"platform": "linux/amd64",
"teamId": "<string>",
"visibility": "INHERIT",
"ownerScope": "platform"
}
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({
image_name: '<string>',
image_tag: '<string>',
sourceImage: '<string>',
dockerfile_path: 'Dockerfile',
platform: 'linux/amd64',
teamId: '<string>',
visibility: 'INHERIT',
ownerScope: 'platform'
})
};
fetch('https://api.primeintellect.ai/api/v1/images/build', 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.primeintellect.ai/api/v1/images/build",
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([
'image_name' => '<string>',
'image_tag' => '<string>',
'sourceImage' => '<string>',
'dockerfile_path' => 'Dockerfile',
'platform' => 'linux/amd64',
'teamId' => '<string>',
'visibility' => 'INHERIT',
'ownerScope' => 'platform'
]),
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.primeintellect.ai/api/v1/images/build"
payload := strings.NewReader("{\n \"image_name\": \"<string>\",\n \"image_tag\": \"<string>\",\n \"sourceImage\": \"<string>\",\n \"dockerfile_path\": \"Dockerfile\",\n \"platform\": \"linux/amd64\",\n \"teamId\": \"<string>\",\n \"visibility\": \"INHERIT\",\n \"ownerScope\": \"platform\"\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.primeintellect.ai/api/v1/images/build")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"image_name\": \"<string>\",\n \"image_tag\": \"<string>\",\n \"sourceImage\": \"<string>\",\n \"dockerfile_path\": \"Dockerfile\",\n \"platform\": \"linux/amd64\",\n \"teamId\": \"<string>\",\n \"visibility\": \"INHERIT\",\n \"ownerScope\": \"platform\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.primeintellect.ai/api/v1/images/build")
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 \"image_name\": \"<string>\",\n \"image_tag\": \"<string>\",\n \"sourceImage\": \"<string>\",\n \"dockerfile_path\": \"Dockerfile\",\n \"platform\": \"linux/amd64\",\n \"teamId\": \"<string>\",\n \"visibility\": \"INHERIT\",\n \"ownerScope\": \"platform\"\n}"
response = http.request(request)
puts response.read_body{
"build_id": "<string>",
"fullImagePath": "<string>",
"buildIds": [
"<string>"
],
"upload_url": "<string>",
"expires_in": 123,
"visibility": "PRIVATE"
}{
"errors": [
{
"param": "<string>",
"details": "<string>"
}
]
}Rate Limit
150 requests per 60 seconds per IP and token. Source builds also have per-image account limits.Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
Request model for building an image from a Dockerfile or public source.
Destination image name. Required for Dockerfile builds.
Destination image tag. Required for Dockerfile builds.
Public source image reference, or comma-separated references, to convert directly into VM images
Dockerfile builds only: path within the uploaded build context
Target platform. VM artifact builds currently require linux/amd64.
linux/amd64, linux/arm64 Team ID if building image in team context
Visibility override to apply when the build completes. INHERIT preserves existing tag visibility or defaults new tags to PRIVATE.
INHERIT, PRIVATE, PUBLIC Set to 'platform' to build an org-less platform image. Explicit platform builds are admin-only. Docker Hub source builds become PUBLIC platform images automatically. Platform images cannot set teamId.
platform "platform"Response
Successful Response
- BuildImageResponse
- BulkBuildImageResponse
Response model for initiating image build.
Build ID for tracking
User-facing Prime image reference, preferring owner slug when available
Build IDs started by this request
Dockerfile builds only: presigned build-context upload URL; null for source builds
Dockerfile builds only: upload URL validity in seconds; null for source builds
Effective visibility for the image when the build completes
PRIVATE, PUBLIC Was this page helpful?