curl --request POST \
--url https://www.genviral.io/api/partner/v1/slideshows/2ab58bb0-0c39-45c0-a4d5-b6852f9d7fc0/slides/0/regenerate \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"instruction": "Make the hook shorter and more direct"
}'
{
"ok": true,
"code": 200,
"message": "Slide regenerated",
"data": {
"slide_index": 0,
"slideshow": {
"id": "2ab58bb0-0c39-45c0-a4d5-b6852f9d7fc0",
"status": "draft",
"slide_count": 5
}
}
}
Slideshows
Regenerate Slide
Regenerate text for one slide while preserving layout
POST
/
api
/
partner
/
v1
/
slideshows
/
{slideshowId}
/
slides
/
{slideIndex}
/
regenerate
curl --request POST \
--url https://www.genviral.io/api/partner/v1/slideshows/2ab58bb0-0c39-45c0-a4d5-b6852f9d7fc0/slides/0/regenerate \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"instruction": "Make the hook shorter and more direct"
}'
{
"ok": true,
"code": 200,
"message": "Slide regenerated",
"data": {
"slide_index": 0,
"slideshow": {
"id": "2ab58bb0-0c39-45c0-a4d5-b6852f9d7fc0",
"status": "draft",
"slide_count": 5
}
}
}
Regenerates text content for a single slide.
The service keeps the original text-element structure and only replaces content,
so positional and style metadata remain intact.
Path Parameters
string
required
Slideshow UUID.
number
required
Zero-based slide index (
0, 1, 2, ...). Must be a non-negative integer.Body Parameters
string
Optional rewrite instruction (
1-500 chars), for example
"Make it punchier".Empty body is valid (
{} behavior). In that case the API generates a subtle
variation automatically.Preconditions
- Slideshow must be in
draftstatus. - Slideshow must have
original_prompt. - Target slide index must exist.
- Target slide must contain at least one text element.
curl --request POST \
--url https://www.genviral.io/api/partner/v1/slideshows/2ab58bb0-0c39-45c0-a4d5-b6852f9d7fc0/slides/0/regenerate \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"instruction": "Make the hook shorter and more direct"
}'
{
"ok": true,
"code": 200,
"message": "Slide regenerated",
"data": {
"slide_index": 0,
"slideshow": {
"id": "2ab58bb0-0c39-45c0-a4d5-b6852f9d7fc0",
"status": "draft",
"slide_count": 5
}
}
}
Error Responses
400 missing_slideshow_id- path param missing400 missing_slide_index- path param missing400 invalid_slide_index-slideIndexis not a non-negative integer400 invalid_json- body is not valid JSON422 invalid_payload- body schema validation failed404 not_found- slideshow is missing/outside key scope422 regeneration_precondition_failed- slideshow/slide failed preconditions (non-draft status, missing prompt, out-of-range index, or slide has no text)401- authentication failed (missing/invalid/revoked token)402 subscription_required- active Creator/Professional/Business plan required403 tier_not_allowed- Scheduler tier cannot use Partner API500 regenerate_failed- unexpected regeneration failure
