curl --request GET \
--url https://api.creatify.ai/api/ai_scripts/ \
--header 'X-API-ID: <api-key>' \
--header 'X-API-KEY: <api-key>'import requests
url = "https://api.creatify.ai/api/ai_scripts/"
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/ai_scripts/', 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/ai_scripts/",
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/ai_scripts/"
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/ai_scripts/")
.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/ai_scripts/")
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",
"generated_scripts": [
{
"paragraphs": "<string>",
"script_name": "<string>",
"title": "<string>",
"script_style": ""
}
],
"failed_reason": "<string>",
"status": "pending",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"user": 123,
"workspace": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"product": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"slug": "<string>",
"updated_at": "2023-11-07T05:31:56Z",
"url": "<string>",
"title": "<string>",
"description": "<string>",
"image_urls": null,
"video_urls": null,
"image_selected": null,
"video_selected": null,
"reviews": null,
"created_with": "link_to_video",
"logo_url": "<string>",
"price": "<string>",
"original_price": "<string>",
"promo_price": "<string>",
"use_promotional_info": true,
"highlight_features": "<string>",
"brand_info": "<string>",
"promotional_details": "<string>",
"trigger_insights": true,
"ai_summary": "<string>",
"ai_target_audiences": null,
"ai_key_features": null,
"ai_keywords": null,
"ai_industry": 123,
"ai_product_type": "<string>",
"primary_image_url": "<string>",
"brand_colors": null,
"qrcode_url": "<string>",
"contact_number": "<string>"
},
"credits_used": 123,
"language": "af",
"target_audience": "<string>",
"video_length": 15,
"script_styles": [
"BenefitsV2"
]
}
]Get AI Script 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/ai_scripts/ \
--header 'X-API-ID: <api-key>' \
--header 'X-API-KEY: <api-key>'import requests
url = "https://api.creatify.ai/api/ai_scripts/"
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/ai_scripts/', 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/ai_scripts/",
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/ai_scripts/"
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/ai_scripts/")
.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/ai_scripts/")
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",
"generated_scripts": [
{
"paragraphs": "<string>",
"script_name": "<string>",
"title": "<string>",
"script_style": ""
}
],
"failed_reason": "<string>",
"status": "pending",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"user": 123,
"workspace": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"product": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"slug": "<string>",
"updated_at": "2023-11-07T05:31:56Z",
"url": "<string>",
"title": "<string>",
"description": "<string>",
"image_urls": null,
"video_urls": null,
"image_selected": null,
"video_selected": null,
"reviews": null,
"created_with": "link_to_video",
"logo_url": "<string>",
"price": "<string>",
"original_price": "<string>",
"promo_price": "<string>",
"use_promotional_info": true,
"highlight_features": "<string>",
"brand_info": "<string>",
"promotional_details": "<string>",
"trigger_insights": true,
"ai_summary": "<string>",
"ai_target_audiences": null,
"ai_key_features": null,
"ai_keywords": null,
"ai_industry": 123,
"ai_product_type": "<string>",
"primary_image_url": "<string>",
"brand_colors": null,
"qrcode_url": "<string>",
"contact_number": "<string>"
},
"credits_used": 123,
"language": "af",
"target_audience": "<string>",
"video_length": 15,
"script_styles": [
"BenefitsV2"
]
}
]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
Show child attributes
Show child attributes
pending- Pendingin_queue- In Queuerunning- Runningfailed- Faileddone- Donerejected- Rejected
pending, in_queue, running, failed, done, rejected Show child attributes
Show child attributes
Credits used in this api call
af- Afrikaansar- Arabicas- Assameseaz- Azerbaijanibe- Belarusianbg- Bulgarianbn- Bengalibs- Bosnianca- Catalan; Valenciancb- Cebuanocs- Czechcy- Welshda- Danishde- Germanel- Greek, Modernen- Englishes- Spanish; Castilianet- Estonianfa- Persianfi- Finnishfl- Filipinofr- Frenchga- Irishgl- Galiciangu- Gujaratiha- Hausahe- Hebrew (modern)hi- Hindihr- Croatianhu- Hungarianhy- Armenianid- Indonesianis- Icelandicit- Italianja- Japanesejv- Javaneseka- Georgiankk- Kazakhkn- Kannadako- Koreanky- Kirghiz, Kyrgyzlb- Luxembourgish, Letzeburgeschln- Lingalalt- Lithuanianlv- Latvianmk- Macedonianml- Malayalammr- Marathi (Marāṭhī)ms- Malayne- Nepalinl- Dutchno- Norwegianny- Chichewa; Chewa; Nyanjapa- Panjabi, Punjabipl- Polishps- Pashto, Pushtopt- Portuguesero- Romanian, Moldavian, Moldovanru- Russiansd- Sindhisk- Slovaksl- Sloveneso- Somalisr- Serbiansv- Swedishsw- Swahilita- Tamilte- Teluguth- Thaitl- Tagalogtr- Turkishuk- Ukrainianur- Urduvi- Vietnamesezh- Chinese
af, ar, as, az, be, bg, bn, bs, ca, cb, cs, cy, da, de, el, en, es, et, fa, fi, fl, fr, ga, gl, gu, ha, he, hi, hr, hu, hy, id, is, it, ja, jv, ka, kk, kn, ko, ky, lb, ln, lt, lv, mk, ml, mr, ms, ne, nl, no, ny, pa, pl, ps, pt, ro, ru, sd, sk, sl, so, sr, sv, sw, ta, te, th, tl, tr, uk, ur, vi, zh 15- 1530- 3045- 4560- 60
15, 30, 45, 60 List of script styles to generate, if not provided, four random script styles will be generated
5BenefitsV2: BenefitsBrandStoryV2: Brand StoryCallToActionV2: Call To ActionDiscoveryWriter: DiscoveryDontWorryWriter: Don't WorryEmotionalWriter: EmotionalGenzWriter: Gen ZHowToV2: How ToLetMeShowYouWriter: Let Me Show YouMotivationalWriter: MotivationalProblemSolutionV2: Problem SolutionProblemSolutionWriter: Problem-SolutionProductHighlightsV2: Product HighlightsProductLifestyleV2: Product LifestyleResponseBubbleWriter: Response BubbleSpecialOffersV2: Special OffersStoryTimeWriter: StorytimeThreeReasonsWriter: 3 Reasons WhyTrendingTopicsV2: Trending Topics
BenefitsV2, BrandStoryV2, CallToActionV2, DiscoveryWriter, DontWorryWriter, EmotionalWriter, GenzWriter, HowToV2, LetMeShowYouWriter, MotivationalWriter, ProblemSolutionV2, ProblemSolutionWriter, ProductHighlightsV2, ProductLifestyleV2, ResponseBubbleWriter, SpecialOffersV2, StoryTimeWriter, ThreeReasonsWriter, TrendingTopicsV2 
