curl --request POST \
--url https://www.genviral.io/api/partner/v1/templates \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"name": "Hooks Template",
"description": "2-slide educational format",
"visibility": "private",
"config": {
"version": 1,
"structure": {
"slides": [
{
"type": "pack",
"id": "11111111-1111-1111-1111-111111111111",
"pinnedImageUrl": null,
"textElements": [
{
"id": "22222222-2222-2222-2222-222222222222",
"content": "Hook",
"x": 50,
"y": 25,
"fontSize": 48,
"width": 70
}
]
}
]
},
"content": {
"mode": "manual",
"productId": null,
"language": "en",
"slideshowType": "educational"
},
"visuals": {
"packId": null,
"aspectRatio": "4:5",
"textSettings": {
"fontSize": "default",
"preset": "tiktok",
"width": "default"
}
}
}
}'
{
"ok": true,
"code": 201,
"message": "Template created",
"data": {
"id": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
"name": "Hooks Template",
"description": "2-slide educational format",
"visibility": "private",
"preview_url": null,
"use_count": 0,
"last_used_at": null,
"created_at": "2026-02-14T09:45:00.000Z",
"updated_at": "2026-02-14T09:45:00.000Z",
"is_owner": true,
"config": {
"version": 1,
"structure": {
"slides": [
{
"type": "pack",
"id": "11111111-1111-1111-1111-111111111111",
"pinnedImageUrl": null,
"textElements": [
{
"id": "22222222-2222-2222-2222-222222222222",
"content": "Hook",
"x": 50,
"y": 25,
"fontSize": 48,
"width": 70
}
]
}
]
},
"content": {
"mode": "manual",
"productId": null,
"language": "en",
"slideshowType": "educational"
},
"visuals": {
"packId": null,
"aspectRatio": "4:5",
"textSettings": {
"fontSize": "default",
"preset": "tiktok",
"width": "default"
}
}
}
}
}
Create a reusable slideshow template
curl --request POST \
--url https://www.genviral.io/api/partner/v1/templates \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"name": "Hooks Template",
"description": "2-slide educational format",
"visibility": "private",
"config": {
"version": 1,
"structure": {
"slides": [
{
"type": "pack",
"id": "11111111-1111-1111-1111-111111111111",
"pinnedImageUrl": null,
"textElements": [
{
"id": "22222222-2222-2222-2222-222222222222",
"content": "Hook",
"x": 50,
"y": 25,
"fontSize": 48,
"width": 70
}
]
}
]
},
"content": {
"mode": "manual",
"productId": null,
"language": "en",
"slideshowType": "educational"
},
"visuals": {
"packId": null,
"aspectRatio": "4:5",
"textSettings": {
"fontSize": "default",
"preset": "tiktok",
"width": "default"
}
}
}
}'
{
"ok": true,
"code": 201,
"message": "Template created",
"data": {
"id": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
"name": "Hooks Template",
"description": "2-slide educational format",
"visibility": "private",
"preview_url": null,
"use_count": 0,
"last_used_at": null,
"created_at": "2026-02-14T09:45:00.000Z",
"updated_at": "2026-02-14T09:45:00.000Z",
"is_owner": true,
"config": {
"version": 1,
"structure": {
"slides": [
{
"type": "pack",
"id": "11111111-1111-1111-1111-111111111111",
"pinnedImageUrl": null,
"textElements": [
{
"id": "22222222-2222-2222-2222-222222222222",
"content": "Hook",
"x": 50,
"y": 25,
"fontSize": 48,
"width": 70
}
]
}
]
},
"content": {
"mode": "manual",
"productId": null,
"language": "en",
"slideshowType": "educational"
},
"visuals": {
"packId": null,
"aspectRatio": "4:5",
"textSettings": {
"fontSize": "default",
"preset": "tiktok",
"width": "default"
}
}
}
}
}
config object.
1-100 chars after trimming). Must be unique per owner.500 chars).private or workspace. Default: private.Show config (v1) shape
1.1-10 slides. Slide type is pack or custom.mode (ai or manual), optional prompt, productId,
language, and slideshowType (educational or personal).packId, aspectRatio (9:16 / 1:1 / 4:5), and
textSettings (fontSize, preset, width, optional fontFamily).visibility: "workspace" requires a workspace-scoped key.curl --request POST \
--url https://www.genviral.io/api/partner/v1/templates \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"name": "Hooks Template",
"description": "2-slide educational format",
"visibility": "private",
"config": {
"version": 1,
"structure": {
"slides": [
{
"type": "pack",
"id": "11111111-1111-1111-1111-111111111111",
"pinnedImageUrl": null,
"textElements": [
{
"id": "22222222-2222-2222-2222-222222222222",
"content": "Hook",
"x": 50,
"y": 25,
"fontSize": 48,
"width": 70
}
]
}
]
},
"content": {
"mode": "manual",
"productId": null,
"language": "en",
"slideshowType": "educational"
},
"visuals": {
"packId": null,
"aspectRatio": "4:5",
"textSettings": {
"fontSize": "default",
"preset": "tiktok",
"width": "default"
}
}
}
}'
{
"ok": true,
"code": 201,
"message": "Template created",
"data": {
"id": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
"name": "Hooks Template",
"description": "2-slide educational format",
"visibility": "private",
"preview_url": null,
"use_count": 0,
"last_used_at": null,
"created_at": "2026-02-14T09:45:00.000Z",
"updated_at": "2026-02-14T09:45:00.000Z",
"is_owner": true,
"config": {
"version": 1,
"structure": {
"slides": [
{
"type": "pack",
"id": "11111111-1111-1111-1111-111111111111",
"pinnedImageUrl": null,
"textElements": [
{
"id": "22222222-2222-2222-2222-222222222222",
"content": "Hook",
"x": 50,
"y": 25,
"fontSize": 48,
"width": 70
}
]
}
]
},
"content": {
"mode": "manual",
"productId": null,
"language": "en",
"slideshowType": "educational"
},
"visuals": {
"packId": null,
"aspectRatio": "4:5",
"textSettings": {
"fontSize": "default",
"preset": "tiktok",
"width": "default"
}
}
}
}
}
400 invalid_json - body is not valid JSON422 invalid_payload - schema validation failed409 template_name_conflict - name already exists for owner422 invalid_template_config - config failed server-side config validation401 - authentication failed (missing/invalid/revoked token)402 subscription_required - active Creator/Professional/Business plan required403 tier_not_allowed - Scheduler tier cannot use Partner API500 template_create_failed - unexpected creation failure