Create Template Folder
Create a new template folder in your workspace
Published
POST
/v1/studio/folderscurl -X POST "https://api.orshot.com/v1/studio/folders" \
-H "Authorization: Bearer <ORSHOT_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"name": "<NAME>"
}'const res = await fetch("https://api.orshot.com/v1/studio/folders", {
method: "POST",
headers: {
"Content-Type": "application/json",
Authorization: "Bearer <ORSHOT_API_KEY>",
},
body: JSON.stringify({
"name": "<NAME>"
}),
});
const data = await res.json();import requests
response = requests.post(
"https://api.orshot.com/v1/studio/folders",
headers={"Authorization": "Bearer <ORSHOT_API_KEY>"},
json={
"name": "<NAME>"
},
)
data = response.json()$ch = curl_init("https://api.orshot.com/v1/studio/folders");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Authorization: Bearer <ORSHOT_API_KEY>",
"Content-Type: application/json",
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode([
"name" => "<NAME>"
]));
$data = json_decode(curl_exec($ch), true);
curl_close($ch);require "net/http"
require "json"
uri = URI("https://api.orshot.com/v1/studio/folders")
req = Net::HTTP::Post.new(uri)
req["Authorization"] = "Bearer <ORSHOT_API_KEY>"
req["Content-Type"] = "application/json"
req.body = {
"name": "<NAME>"
}.to_json
res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }
data = JSON.parse(res.body)Overview#
Create a folder to organize your studio templates. Folders are a paid plan feature, same as in the dashboard.
Creator plan and above rate limit: 30 requests/min per API keyhttps://api.orshot.com/v1/studio/foldersRequest Body#
nameStringrequiredFolder name, up to 50 characters, unique per workspace
Request#
await fetch("https://api.orshot.com/v1/studio/folders", {
method: "POST",
headers: {
"Content-Type": "application/json",
Authorization: "Bearer <ORSHOT_API_KEY>",
},
body: JSON.stringify({
name: "Social Posts",
}),
});{
"folder": {
"id": 11,
"name": "Social Posts",
"sort_order": 0,
"created_at": "2026-07-11T08:04:37.768124+00:00"
}
}Returns 201 Created on success.
Error Responses#
Paid Plan Required (403)#
{
"error": "Template folders require a paid plan",
"code": "folders_paid_plan_required"
}Duplicate Name (409)#
{
"error": "A folder with this name already exists"
}Invalid Name (400)#
{
"error": "Folder name cannot be empty"
}Rate Limits#
- 30 requests per minute per API key
Was this page helpful?
Ready to automate?
Start rendering images, PDFs and videos from your templates in under 2 minutes. Free plan, no credit card.
Get your API key- Image, PDF and video generation via API
- Visual editor with AI and smart layouts
- Zapier, Make, MCP and 50+ integrations
- White-label embed for your own app
- 30 free credits — no credit card required