Generate Personalized Videos via Sendspark API
Generate personalized prospect videos at scale via Sendspark API with dynamic name/company insertion
Instructions
Generate Personalized Videos via Sendspark API
Use the Sendspark API to record a single template video and automatically personalize it for each prospect by inserting their name (via voice cloning), company logo, and website as the background. Sendspark is purpose-built for sales video prospecting at scale.
Prerequisites
- Sendspark Growth account ($99/mo) or Team ($299/mo) for API access
- API key from Sendspark dashboard > Integrations > API
- One recorded template video with a placeholder for the prospect's name
- Prospect data: first_name, company, website URL
API Authentication
Base URL: https://api.sendspark.com/v1
Header: Authorization: Bearer {SENDSPARK_API_KEY}
Content-Type: application/json
Operations
1. Record a template video
Record a single video (60-90 seconds) where you say "[First Name]" as a placeholder. Sendspark's voice cloning replaces this with each prospect's actual name using the sender's cloned voice.
POST /v1/videos/templates
{
"video_url": "{url_to_recorded_template}",
"template_name": "{campaign_slug}-template",
"personalization_type": "name_swap",
"dynamic_background": true
}
Response: { "template_id": "t_abc123" }
2. Generate a personalized video
POST /v1/videos/personalize
{
"template_id": "t_abc123",
"recipient": {
"first_name": "{first_name}",
"last_name": "{last_name}",
"email": "{email}",
"company": "{company}",
"website_url": "{prospect_website_url}"
},
"cta": {
"text": "Book 15 Minutes",
"url": "{cal_com_link}?utm_source=sendspark&utm_campaign={campaign_slug}"
},
"callback_url": "{your_webhook_url}"
}
Response:
{
"video_id": "v_xyz789",
"status": "processing",
"share_url": "https://share.sendspark.com/v_xyz789",
"gif_thumbnail_url": "https://cdn.sendspark.com/gif/v_xyz789.gif"
}
3. Retrieve video status
GET /v1/videos/{video_id}
Response when complete:
{
"video_id": "v_xyz789",
"status": "ready",
"share_url": "https://share.sendspark.com/v_xyz789",
"gif_thumbnail_url": "https://cdn.sendspark.com/gif/v_xyz789.gif",
"mp4_url": "https://cdn.sendspark.com/video/v_xyz789.mp4",
"duration": 63,
"views": 0,
"watch_rate": null
}
4. Get video analytics
GET /v1/videos/{video_id}/analytics
Response:
{
"views": 3,
"unique_views": 2,
"average_watch_percentage": 72,
"cta_clicks": 1,
"viewer_emails": ["jane@acme.com"]
}
5. Batch generation pattern
Sendspark supports CSV bulk upload via API:
POST /v1/videos/bulk-personalize
{
"template_id": "t_abc123",
"recipients_csv_url": "{url_to_prospect_csv}",
"cta": {
"text": "Book 15 Minutes",
"url": "{cal_com_link}"
},
"callback_url": "{your_webhook_url}"
}
This generates personalized videos for all rows in the CSV. The callback fires per-video as each completes.
6. Error handling
429: Rate limited -- wait and retry400: Invalid template_id or missing required recipient fields402: Video credit limit reached500: Retry with exponential backoff
Pricing
- Growth: $99/mo (3 seats, 20K videos, API access)
- Team: $299/mo (10 seats, 100K videos, advanced integrations)
- Budget for 400 videos/month: $99/mo on Growth plan
Tool Alternatives
| Tool | Approach | Pricing | Best For | |------|----------|---------|----------| | Sendspark | Name-swap + dynamic background | $99/mo Growth | Email-native, highest volume per dollar | | Tavus | Full lip-sync personalization | $199/mo Business | Most natural personalization | | HeyGen | Text-to-avatar generation | $330/mo Scale | Multilingual, custom scripts per prospect | | Loom | Manual recording per prospect | $12.50/mo Business | Low volume, founder authenticity |