> ## Documentation Index
> Fetch the complete documentation index at: https://docs.genviral.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Import TikTok Slideshow Copy

> Import a TikTok slideshow into an editable Genviral draft with OCR-mapped text overlays and your selected pack images.

Imports TikTok slideshow content into a new draft slideshow:

* pulls TikTok slideshow slides (max `8`)
* extracts text overlays with vision OCR
* maps extracted text into editable text elements
* creates a Genviral draft slideshow using your pack images as backgrounds
* deducts copy credits and auto-refunds on failure

## Body Parameters

<ParamField body="url" type="string" required>
  TikTok slideshow URL.
</ParamField>

<ParamField body="preview_id" type="string (UUID)">
  Optional preview token returned by [Preview TikTok Slideshow Copy](/api-reference/copy-tiktok-preview).
  When present and not expired, import reuses cached preview data.
</ParamField>

<ParamField body="title" type="string">
  Optional slideshow title override (max 200 chars).
</ParamField>

<ParamField body="pack_id" type="string (UUID)">
  Optional image pack ID to source background images.
</ParamField>

<ParamField body="pack_images" type="string[]">
  Optional direct list of image URLs for backgrounds.
</ParamField>

<ParamField body="product_id" type="string (UUID)">
  Optional product reference to attach to the created slideshow.
</ParamField>

<Warning>
  Provide exactly one of `pack_id` or `pack_images`.
</Warning>

## Example

<RequestExample>
  ```json theme={null}
  {
    "url": "https://www.tiktok.com/@creator/photo/7499123456789012345",
    "preview_id": "a8d34c8b-6f31-4f04-8b62-6f01708af952",
    "pack_id": "11111111-1111-1111-1111-111111111111",
    "title": "Copied Hook Variant"
  }
  ```
</RequestExample>

<ResponseExample>
  ```json Response theme={null}
  {
    "ok": true,
    "code": 201,
    "message": "TikTok slideshow imported",
    "data": {
      "slideshow": {
        "id": "2ab58bb0-0c39-45c0-a4d5-b6852f9d7fc0",
        "title": "Copied Hook Variant",
        "status": "draft",
        "slide_count": 4
      },
      "source_url": "https://www.tiktok.com/@creator/photo/7499123456789012345",
      "slide_count": 4,
      "total_slides": 6,
      "capped": true,
      "credits_used": 2,
      "used_cached_preview": true
    }
  }
  ```
</ResponseExample>

## Error Responses

* `400 invalid_json` - request body is not valid JSON
* `422 invalid_payload` - payload validation failed
* `422 invalid_tiktok_url` - URL is not valid TikTok
* `422 not_slideshow` - TikTok post is not a slideshow/photo post
* `404 pack_not_found`
* `422 pack_empty`
* `422 pack_source_conflict` - both `pack_id` and `pack_images` were sent
* `404 product_not_found`
* `403 forbidden_product_access`
* `402 insufficient_credits`
* `429 rate_limited`
* `502 tiktok_fetch_failed`
* `500 upstream_config_error` - TikTok upstream credentials/config missing
* `500 import_failed`
