curl --request GET \
--url https://api.beeble.ai/v1/switchx/generations/{job_id} \
--header 'x-api-key: <api-key>'import requests
url = "https://api.beeble.ai/v1/switchx/generations/{job_id}"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.beeble.ai/v1/switchx/generations/{job_id}', 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.beeble.ai/v1/switchx/generations/{job_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.beeble.ai/v1/switchx/generations/{job_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.beeble.ai/v1/switchx/generations/{job_id}")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.beeble.ai/v1/switchx/generations/{job_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"id": "<string>",
"status": "<string>",
"progress": 72,
"generation_type": "<string>",
"alpha_mode": "<string>",
"output": {
"render": "<string>",
"source": "<string>",
"alpha": "<string>"
},
"seed": 123,
"error": "<string>",
"created_at": "<string>",
"modified_at": "<string>",
"completed_at": "<string>",
"webhook": {
"status": "<string>",
"attempts": 1,
"last_error": "<string>"
}
}Get Job Status
Poll the status of a SwitchX job.
curl --request GET \
--url https://api.beeble.ai/v1/switchx/generations/{job_id} \
--header 'x-api-key: <api-key>'import requests
url = "https://api.beeble.ai/v1/switchx/generations/{job_id}"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.beeble.ai/v1/switchx/generations/{job_id}', 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.beeble.ai/v1/switchx/generations/{job_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.beeble.ai/v1/switchx/generations/{job_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.beeble.ai/v1/switchx/generations/{job_id}")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.beeble.ai/v1/switchx/generations/{job_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"id": "<string>",
"status": "<string>",
"progress": 72,
"generation_type": "<string>",
"alpha_mode": "<string>",
"output": {
"render": "<string>",
"source": "<string>",
"alpha": "<string>"
},
"seed": 123,
"error": "<string>",
"created_at": "<string>",
"modified_at": "<string>",
"completed_at": "<string>",
"webhook": {
"status": "<string>",
"attempts": 1,
"last_error": "<string>"
}
}Authorizations
Your Developer API key.
Path Parameters
Response
Successful Response
Status response for a SwitchX job.
Job identifier (swx_...)
in_queue, processing, completed, or failed
Progress percentage (0-100)
72
'image' or 'video'
'auto', 'fill', 'custom', or 'select'
Output URLs (present when status is completed). URLs are signed and expire after 72 hours. Each call to this endpoint generates fresh signed URLs, so you can always re-fetch if a URL has expired.
Show child attributes
Show child attributes
Random seed used for this generation (always present after job creation)
Error message (present when status is failed)
ISO 8601 timestamp when the job was created
ISO 8601 timestamp of the last status change
ISO 8601 timestamp when the job completed or failed
Webhook delivery status (present only when a callback_url was provided)
Show child attributes
Show child attributes