Skip to main content
POST
/
api
/
partner
/
v1
/
packs
/
{packId}
/
images
curl --request POST \
  --url https://www.genviral.io/api/partner/v1/packs/11111111-1111-1111-1111-111111111111/images \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "image_url": "https://cdn.example.com/packs/motivation/03.jpg",
  "file_name": "03.jpg"
}'
{
  "ok": true,
  "code": 201,
  "message": "Pack image added",
  "data": {
    "id": "44444444-4444-4444-4444-444444444444",
    "url": "https://cdn.example.com/packs/motivation/03.jpg",
    "file_name": "03.jpg",
    "content_type": "image/jpeg"
  }
}
Adds one image URL to a pack you can mutate.

Behavior

  • Stores the provided image_url and inferred metadata on the pack.
  • Does not download, fetch, or re-host the remote file during this call.
  • If you only have local file bytes, use Upload File first and then pass the returned url as image_url.
image_url should still be reachable when slideshow generation/render runs. Temporary or private URLs can fail later.

Path Parameters

packId
string
required
Pack UUID.

Body Parameters

image_url
string
required
Absolute image URL.
file_name
string
Optional display filename (1-255 chars). Default: "image".
The API infers content_type from URL extension (.png, .gif, .webp, .heic, .heif, .avif) and defaults to image/jpeg when unknown.
curl --request POST \
  --url https://www.genviral.io/api/partner/v1/packs/11111111-1111-1111-1111-111111111111/images \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "image_url": "https://cdn.example.com/packs/motivation/03.jpg",
  "file_name": "03.jpg"
}'
{
  "ok": true,
  "code": 201,
  "message": "Pack image added",
  "data": {
    "id": "44444444-4444-4444-4444-444444444444",
    "url": "https://cdn.example.com/packs/motivation/03.jpg",
    "file_name": "03.jpg",
    "content_type": "image/jpeg"
  }
}

Error Responses

  • 400 missing_pack_id - path param missing
  • 400 invalid_json - body is not valid JSON
  • 422 invalid_payload - schema validation failed
  • 404 not_found - pack is missing/outside mutable key scope
  • 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 pack_image_add_failed - unexpected insertion failure