curl --request GET \
--url https://api.creatify.ai/api/text_to_speech/ \
--header 'X-API-ID: <api-key>' \
--header 'X-API-KEY: <api-key>'import requests
url = "https://api.creatify.ai/api/text_to_speech/"
headers = {
"X-API-ID": "<api-key>",
"X-API-KEY": "<api-key>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-ID': '<api-key>', 'X-API-KEY': '<api-key>'}};
fetch('https://api.creatify.ai/api/text_to_speech/', 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.creatify.ai/api/text_to_speech/",
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-ID: <api-key>",
"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.creatify.ai/api/text_to_speech/"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-ID", "<api-key>")
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.creatify.ai/api/text_to_speech/")
.header("X-API-ID", "<api-key>")
.header("X-API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.creatify.ai/api/text_to_speech/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-ID"] = '<api-key>'
request["X-API-KEY"] = '<api-key>'
response = http.request(request)
puts response.read_body[
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"script": "<string>",
"output": "<string>",
"media_job": "<string>",
"credits_used": 123,
"duration": 123,
"is_hidden": true,
"status": "<string>",
"failed_reason": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"accent": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"webhook_url": "<string>"
}
]Get Text to Speech items
Retrieve a list of records. Optionally filter by ids (UUIDs) and/or a creation time window [created_after, created_before). The window selects records by when they were created; status and credits_used reflect their current state and can change until the job finishes (failed jobs are refunded and report 0 credits).
curl --request GET \
--url https://api.creatify.ai/api/text_to_speech/ \
--header 'X-API-ID: <api-key>' \
--header 'X-API-KEY: <api-key>'import requests
url = "https://api.creatify.ai/api/text_to_speech/"
headers = {
"X-API-ID": "<api-key>",
"X-API-KEY": "<api-key>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-ID': '<api-key>', 'X-API-KEY': '<api-key>'}};
fetch('https://api.creatify.ai/api/text_to_speech/', 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.creatify.ai/api/text_to_speech/",
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-ID: <api-key>",
"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.creatify.ai/api/text_to_speech/"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-ID", "<api-key>")
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.creatify.ai/api/text_to_speech/")
.header("X-API-ID", "<api-key>")
.header("X-API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.creatify.ai/api/text_to_speech/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-ID"] = '<api-key>'
request["X-API-KEY"] = '<api-key>'
response = http.request(request)
puts response.read_body[
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"script": "<string>",
"output": "<string>",
"media_job": "<string>",
"credits_used": 123,
"duration": 123,
"is_hidden": true,
"status": "<string>",
"failed_reason": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"accent": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"webhook_url": "<string>"
}
]Authorizations
API ID, from your settings page.
API Key, from your settings page.
Query Parameters
Only return records created at or after this time (inclusive). ISO 8601, e.g. 2026-09-27T00:00:00Z or 2026-09-27T00:00:00+08:00 (URL-encode '+' as %2B). Timestamps without an offset are treated as UTC.
Only return records created before this time (exclusive). Same format as created_after.
Comma-separated list of UUIDs to filter. Maximum 100 entries allowed.
1Which field to use when ordering the results.
Response
Text to be converted to speech
8000Output audio url
Credits used in this API call
Duration of the video in seconds
Whether the job is hidden or not
Failed reason
Accent to be used for the speech
Webhook URL for status updates. Default is null.
200
