
π· TikTok Frame Extractor - Get Video Thumbnails & Cover Images
Pricing
$1.00 / 1,000 results

π· TikTok Frame Extractor - Get Video Thumbnails & Cover Images
Extract high-quality cover images and thumbnails from any TikTok video instantly. No download needed. Get public URLs in seconds. Perfect for bulk processing.
0.0 (0)
Pricing
$1.00 / 1,000 results
0
2
2
Last modified
6 days ago
TikTok Frame Extractor - Get Video Thumbnails & Cover Images
Extract high-quality cover images, thumbnails, and first frames from any TikTok video instantly. No video download required - fast, efficient, and reliable.
π― What does this actor do?
This Apify actor extracts cover images and thumbnails from TikTok videos without downloading the entire video file. Perfect for:
- πΈ Getting video thumbnails for galleries or catalogs
- π¨ Creating content previews
- πΌοΈ Building image databases from TikTok content
- π Fast image extraction for bulk processing
- π Social media analysis and monitoring
β¨ Key Features
- Lightning Fast - Extracts images in seconds without downloading full videos
- Multiple Image Types - Get cover, originCover, dynamicCover, and more
- High Quality - Retrieves the best available resolution
- Bulk Processing - Process multiple videos in one run
- Public URLs - All images stored with permanent public URLs
- Complete Metadata - Get video stats, author info, and descriptions
- Reliable - Automatic retries and robust error handling
π How to Use
Quick Start
-
Input a TikTok URL
https://www.tiktok.com/@username/video/1234567890 -
Choose extraction mode
- Single Frame (default): Get the best quality cover image
- Extract All: Get all available cover variations
-
Run the actor and get your image URLs instantly!
Input Parameters
Parameter | Type | Required | Description | Default |
---|---|---|---|---|
tiktokUrl | string | Yes | TikTok video URL | - |
extractAll | boolean | No | Extract all available covers instead of just the best one | false |
Supported URL Formats
All standard TikTok URL formats are supported:
https://www.tiktok.com/@username/video/1234567890https://vm.tiktok.com/ZMxxx/https://www.tiktok.com/t/ZTxxx/https://vt.tiktok.com/ZSxxx/
π Output Format
Single Frame Mode
{"success": true,"videoId": "7556001829608312078","author": "Healthy Hair USA","authorUsername": "healthy.hair.usa","description": "Amazing transformation! #haircare","originalUrl": "https://www.tiktok.com/@healthy.hair.usa/video/7556001829608312078","primaryFrame": "https://api.apify.com/v2/key-value-stores/xxx/records/cover_xxx.jpg","primaryFrameSize": 125847,"primaryFrameType": "originCover","frames": [{"url": "https://api.apify.com/v2/key-value-stores/xxx/records/cover_xxx.jpg","size": 125847,"contentType": "image/jpeg","type": "originCover"}],"totalFrames": 1,"metadata": {"videoId": "7556001829608312078","duration": 15,"createTime": 1234567890,"statistics": {"plays": 125000,"likes": 8500,"comments": 450,"shares": 1200,"saves": 670},"music": {"title": "Original Sound","author": "healthy.hair.usa"}},"availableCovers": ["originCover", "cover", "dynamicCover"],"processedAt": "2025-10-07T12:34:56.789Z"}
Extract All Mode
When extractAll: true
, you get multiple cover variations:
{"success": true,"videoId": "7556001829608312078","primaryFrame": "https://api.apify.com/.../originCover_xxx.jpg","frames": [{"url": "https://api.apify.com/.../originCover_xxx.jpg","size": 125847,"contentType": "image/jpeg","type": "originCover"},{"url": "https://api.apify.com/.../cover_xxx.jpg","size": 98234,"contentType": "image/jpeg","type": "cover"},{"url": "https://api.apify.com/.../dynamicCover_xxx.webp","size": 67891,"contentType": "image/webp","type": "dynamicCover"}],"totalFrames": 3,...}
π‘ Use Cases
Content Curation
// Extract thumbnails for video galleriesconst input = {tiktokUrl: "https://www.tiktok.com/@creator/video/123456",extractAll: false};
Bulk Processing
// Process multiple videosconst urls = ["https://www.tiktok.com/@user1/video/111","https://www.tiktok.com/@user2/video/222","https://www.tiktok.com/@user3/video/333"];// Run actor for each URL
Social Media Monitoring
// Get thumbnails with statisticsconst input = {tiktokUrl: "https://www.tiktok.com/@brand/video/456789",extractAll: false};// Access metadata.statistics for engagement metrics
Image Archive
// Download all available image variationsconst input = {tiktokUrl: "https://www.tiktok.com/@artist/video/789012",extractAll: true};
π§ Integration Examples
Using Apify API
const ApifyClient = require('apify-client');const client = new ApifyClient({token: 'YOUR_APIFY_TOKEN',});const input = {tiktokUrl: "https://www.tiktok.com/@username/video/1234567890",extractAll: false};const run = await client.actor("YOUR_ACTOR_ID").call(input);const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log('Primary Frame URL:', items[0].primaryFrame);
Using cURL
curl -X POST https://api.apify.com/v2/acts/YOUR_ACTOR_ID/runs \-H "Content-Type: application/json" \-H "Authorization: Bearer YOUR_APIFY_TOKEN" \-d '{"tiktokUrl": "https://www.tiktok.com/@username/video/1234567890","extractAll": false}'
Python Integration
from apify_client import ApifyClientclient = ApifyClient('YOUR_APIFY_TOKEN')run_input = {"tiktokUrl": "https://www.tiktok.com/@username/video/1234567890","extractAll": False}run = client.actor("YOUR_ACTOR_ID").call(run_input=run_input)for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(f"Frame URL: {item['primaryFrame']}")print(f"Video Stats: {item['metadata']['statistics']}")
π Output Fields Reference
Field | Type | Description |
---|---|---|
success | boolean | Whether extraction was successful |
videoId | string | TikTok video ID |
author | string | Creator's display name |
authorUsername | string | Creator's username (@handle) |
description | string | Video description/caption |
originalUrl | string | Input TikTok URL |
primaryFrame | string | URL to the best quality frame |
primaryFrameSize | number | File size in bytes |
primaryFrameType | string | Type of frame (cover, originCover, etc.) |
frames | array | All extracted frames with details |
totalFrames | number | Number of frames extracted |
metadata | object | Complete video metadata |
metadata.statistics | object | Video engagement stats |
metadata.duration | number | Video duration in seconds |
availableCovers | array | List of available cover types |
processedAt | string | ISO timestamp of processing |
β‘ Performance
- Speed: 2-5 seconds per video
- Rate Limit: Respects TikTok's rate limits
- Retry Logic: Automatic retries on failures
- Timeout: 30 seconds per image download
- Max Redirects: 5 redirects allowed
π‘οΈ Error Handling
The actor handles common errors gracefully:
Error Type | Description | Solution |
---|---|---|
Invalid URL | URL format not recognized | Check URL format |
Video Not Found | 404 error | Video may be deleted |
Private Video | 403 error | Video is private or region-locked |
Timeout | Request took too long | Automatic retry |
No Cover Found | No images in metadata | Video may be processing |
Error Output Example
{"success": false,"error": true,"errorMessage": "Error: Video not found or has been deleted","timestamp": "2025-10-07T12:34:56.789Z"}
π° Pricing
This actor is optimized for cost efficiency:
- Compute Units: ~0.001-0.002 CU per video
- Storage: Images stored in Key-Value Store (free tier: 500MB)
- Bandwidth: Minimal data transfer (only images, not full videos)
Cost Estimate: ~$0.0001 per video with Apify's standard pricing
π Privacy & Compliance
- β Only extracts publicly available cover images
- β No video content is downloaded or stored
- β Respects TikTok's robots.txt
- β No personal data collection
- β GDPR compliant
π Troubleshooting
Issue: "Could not extract video data"
Solution: The video URL may be invalid or the video is private. Verify the URL is accessible.
Issue: "No cover images found"
Solution: The video may still be processing on TikTok. Wait a few minutes and try again.
Issue: "Request timed out"
Solution: Network issue or TikTok rate limiting. The actor will retry automatically.
Issue: Images not loading
Solution: Key-Value Store URLs are public. Check if the URL is correct and accessible.
π Related Actors
- TikTok Video Downloader & Transcriber - Full video + AI transcription
- TikTok Scraper - Bulk video metadata extraction
- Instagram Frame Extractor - Similar tool for Instagram
π€ Support
- π§ Email: support@ingeniela.com
- π Website: ingeniela.com
- π¬ Discord: Join our community
- π Documentation: Full API docs
π Changelog
v1.0.0 (2025-10-07)
- β¨ Initial release
- π― Single and multi-frame extraction
- π Complete metadata extraction
- π Automatic retry logic
- π Public URL generation
π License
Apache-2.0 License - see LICENSE file for details
Made with β€οΈ by Ingeniela