๐ท 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.
Pricing
$1.00 / 1,000 results
Rating
0.0
(0)
Developer
Actor stats
3
Bookmarked
123
Total users
3
Monthly active users
4 months ago
Last modified
Categories
Share
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 =newApifyClient({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
