List available vibes
curl --request GET \
--url https://slides-api.getalai.com/api/v1/vibes \
--header 'Authorization: Bearer <token>'import requests
url = "https://slides-api.getalai.com/api/v1/vibes"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://slides-api.getalai.com/api/v1/vibes', 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://slides-api.getalai.com/api/v1/vibes",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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://slides-api.getalai.com/api/v1/vibes"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://slides-api.getalai.com/api/v1/vibes")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://slides-api.getalai.com/api/v1/vibes")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"vibes": [
{
"id": "<string>",
"name": "<string>",
"source": "<string>"
}
]
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Presentations
Get Vibes
Returns vibe IDs and names for all system vibes and custom user vibes accessible to the authenticated user. Pass the id as presentation_options.vibe_id on a generation request.
GET
/
api
/
v1
/
vibes
List available vibes
curl --request GET \
--url https://slides-api.getalai.com/api/v1/vibes \
--header 'Authorization: Bearer <token>'import requests
url = "https://slides-api.getalai.com/api/v1/vibes"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://slides-api.getalai.com/api/v1/vibes', 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://slides-api.getalai.com/api/v1/vibes",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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://slides-api.getalai.com/api/v1/vibes"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://slides-api.getalai.com/api/v1/vibes")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://slides-api.getalai.com/api/v1/vibes")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"vibes": [
{
"id": "<string>",
"name": "<string>",
"source": "<string>"
}
]
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Retrieve the vibes available to the authenticated user.
A vibe is a visual aesthetic preset (mood, palette, illustration style) that gets applied to creative slide variants. This endpoint returns both system vibes and any custom vibes you have created. Use the returned
id values as presentation_options.vibe_id when generating presentations.
Vibes are applied through creative image variants. When you pass
vibe_id, you must also set image_options.num_image_variants >= 1 on the generation request.Response
| Field | Type | Description |
|---|---|---|
vibes | array | List of vibes available to the authenticated user |
Vibe Object
| Field | Type | Description |
|---|---|---|
id | string | Unique vibe identifier to pass as presentation_options.vibe_id |
name | string | Human-readable vibe display name |
source | string | Either system (built-in) or custom (created by the user) |
Example Request
curl -X GET "https://slides-api.getalai.com/api/v1/vibes" \
-H "Authorization: Bearer YOUR_API_KEY"
Example Response
{
"vibes": [
{
"id": "b8e3a9ae-f36c-458b-a816-acd5f43072d3",
"name": "Standard",
"source": "system"
},
{
"id": "f1c2d3e4-5678-90ab-cdef-1234567890ab",
"name": "Neon Dreams",
"source": "system"
},
{
"id": "a1b2c3d4-5678-90ab-cdef-fedcba987654",
"name": "My Brand Vibe",
"source": "custom"
}
]
}
Using a Vibe ID in Presentation Generation
curl -X POST "https://slides-api.getalai.com/api/v1/generations" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"input_text": "Launch announcement for our new product line",
"presentation_options": {
"title": "Product Launch",
"vibe_id": "f1c2d3e4-5678-90ab-cdef-1234567890ab",
"slide_range": "6-10"
},
"image_options": {
"num_image_variants": 1
}
}'
Was this page helpful?