Skip to main content
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

slideshowId
string
required
Slideshow UUID.
slideIndex
number
required
Zero-based slide index (0, 1, 2, ...). Must be a non-negative integer.

Body Parameters

instruction
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 draft status.
  • 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 missing
  • 400 missing_slide_index - path param missing
  • 400 invalid_slide_index - slideIndex is not a non-negative integer
  • 400 invalid_json - body is not valid JSON
  • 422 invalid_payload - body schema validation failed
  • 404 not_found - slideshow is missing/outside key scope
  • 422 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 required
  • 403 tier_not_allowed - Scheduler tier cannot use Partner API
  • 500 regenerate_failed - unexpected regeneration failure