# 🏁 TikTok Video Transcriber & Downloader +12 Languages (`ingeniela/tiktok-video-transcriber`) Actor

Download TikTok videos without watermark & get AI transcriptions with timestamps. Extract subtitles, captions & keywords. Multi-language speech-to-text converter. Direct download links included.

- **URL**: https://apify.com/ingeniela/tiktok-video-transcriber.md
- **Developed by:** [Ingeniela](https://apify.com/ingeniela) (community)
- **Categories:** Social media, SEO tools, Videos
- **Stats:** 74 total users, 1 monthly users, 100.0% runs succeeded, 4 bookmarks
- **User rating**: No ratings yet

## Pricing

$15.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## TikTok Video Downloader & AI Transcriber with Timestamps

Professional TikTok video downloader and transcription tool developed by **Ingeniela**. Download videos without watermark and get AI-powered transcriptions with timestamps. No API key required!

### 🚀 Features

#### Core Features

- 📥 **Download TikTok videos** without watermark in HD quality
- 🎙️ **AI transcription** with 98%+ accuracy
- ⏱️ **Timestamped transcripts** \[MM:SS - MM:SS] format
- 🌍 **Multi-language support** with auto-detection (12+ languages)
- 📊 **Complete metadata** extraction (views, likes, comments, shares)
- 🔗 **Direct download links** in the output
- ⚡ **Fast processing** (15-30 seconds average)
- 🔒 **No API key required** - Ready to use instantly!
- 💯 **Free to start** - No setup needed

#### Output Features

- Full transcript (plain text)
- Timestamped transcript for subtitles
- Formatted paragraphs for readability
- Keywords and hashtag extraction
- Video statistics and metadata
- Direct download URL (optional)
- Download instructions included

### 🎯 Quick Start - No Setup Required!

Just provide a TikTok URL and run:

```json
{
    "tiktokUrl": "https://www.tiktok.com/@username/video/123456789"
}
```

That's it! No API keys, no configuration needed.

### 📥 Input Parameters

```json
{
    "tiktokUrl": "https://www.tiktok.com/@username/video/123456789",
    "downloadVideo": true,
    "generateTimestamps": true,
    "language": "en",
    "detectLanguage": true,
    "model": "nova-2"
}
```

#### Parameters Description

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `tiktokUrl` | string | ✅ Yes | - | TikTok video URL to process |
| `downloadVideo` | boolean | No | false | Enable video download link |
| `generateTimestamps` | boolean | No | true | Generate timestamped transcript |
| `language` | string | No | "en" | Target transcription language |
| `detectLanguage` | boolean | No | true | Auto-detect video language |
| `model` | string | No | "nova-2" | Transcription quality level |

### 📤 Output Example

```json
{
    // Main Transcription
    "transcript": "Hello everyone welcome to my channel...",
    "formattedTranscript": "Hello everyone welcome to my channel.\n\nToday we're going to...",
    "confidence": "98.75%",
    
    // Timestamped Version
    "timestampedTranscript": "[00:00 - 00:05] Hello everyone welcome to my channel\n[00:05 - 00:12] Today we're going to talk about...",
    
    // Video Download (if enabled)
    "videoDownloadUrl": "https://api.apify.com/v2/key-value-stores/.../video.mp4",
    "downloadEnabled": true,
    "downloadInstructions": "Right-click the download link and select 'Save link as...' to download the video",
    
    // Metadata
    "detectedLanguage": "en",
    "duration": 45.5,
    "wordCount": 234,
    "keywords": ["tutorial", "amazing", "product"],
    
    // Video Information
    "videoId": "7556001829608312078",
    "author": "username",
    "description": "Check out this amazing...",
    "originalLink": "https://www.tiktok.com/@username/video/123",
    
    // Statistics
    "statistics": {
        "plays": 150000,
        "likes": 12000,
        "comments": 500,
        "shares": 300,
        "saves": 450
    },
    
    // Processing Info
    "processedAt": "2025-01-06T10:30:00.000Z",
    "processingTime": 2.5,
    "model": "nova-2"
}
```

### 🎯 Use Cases

#### For Content Creators

- Download videos for editing without watermarks
- Generate subtitles with timestamps
- Extract quotes at specific times
- Create compilation videos

#### For Marketers

- Archive competitor content
- Analyze trending video transcripts
- Extract viral content keywords
- Repurpose content across platforms

#### For Accessibility

- Create closed captions (CC)
- Generate SRT/VTT files
- Provide transcripts for hearing-impaired
- Meet ADA/WCAG compliance

#### For Researchers

- Analyze speech patterns
- Study viral content trends
- Extract timestamped data
- Build searchable archives

### 🚀 Getting Started

#### No Configuration Required!

This Actor works out of the box - no API keys or setup needed:

1. **Open the Actor**
2. **Paste a TikTok URL**
3. **Click Start**
4. **Get your results!**

#### Example - Minimal Input

```json
{
    "tiktokUrl": "https://www.tiktok.com/@user/video/123"
}
```

#### Example - With Download

```json
{
    "tiktokUrl": "https://www.tiktok.com/@user/video/123",
    "downloadVideo": true
}
```

#### Example - Spanish Transcription

```json
{
    "tiktokUrl": "https://www.tiktok.com/@user/video/123",
    "language": "es",
    "detectLanguage": false
}
```

### 🔄 API Integration

#### Using with JavaScript

```javascript
const response = await fetch('https://api.apify.com/v2/acts/YOUR_USERNAME~tiktok-transcriber/runs', {
    method: 'POST',
    headers: {
        'Authorization': 'Bearer YOUR_APIFY_TOKEN',
        'Content-Type': 'application/json'
    },
    body: JSON.stringify({
        tiktokUrl: 'https://www.tiktok.com/@user/video/123',
        downloadVideo: true,
        generateTimestamps: true
    })
});
```

#### Using with n8n

```javascript
{
    "method": "POST",
    "url": "https://api.apify.com/v2/acts/YOUR_USERNAME~tiktok-transcriber/runs",
    "headers": {
        "Authorization": "Bearer YOUR_APIFY_TOKEN"
    },
    "body": {
        "tiktokUrl": "{{ $json.tiktokUrl }}",
        "downloadVideo": true,
        "generateTimestamps": true
    }
}
```

#### Using with Python

```python
import requests

response = requests.post(
    'https://api.apify.com/v2/acts/YOUR_USERNAME~tiktok-transcriber/runs',
    headers={'Authorization': 'Bearer YOUR_APIFY_TOKEN'},
    json={
        'tiktokUrl': 'https://www.tiktok.com/@user/video/123',
        'downloadVideo': True,
        'generateTimestamps': True
    }
)
```

#### Using with cURL

```bash
curl -X POST https://api.apify.com/v2/acts/YOUR_USERNAME~tiktok-transcriber/runs \
  -H "Authorization: Bearer YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"tiktokUrl":"https://www.tiktok.com/@user/video/123"}'
```

### ⏱️ Timestamped Transcript Format

The timestamped transcript feature creates segments with time markers:

```
[00:00 - 00:05] Hello everyone welcome to my channel
[00:05 - 00:12] Today I want to show you something amazing
[00:12 - 00:18] This product has changed my life completely
[00:18 - 00:25] Let me explain how it works step by step
```

Perfect for:

- Creating subtitle files (SRT/VTT)
- Finding specific moments in videos
- Generating timestamped quotes
- Video navigation and indexing

### 📥 Video Download Feature

When `downloadVideo` is enabled:

- Get a direct download link in the output
- Video has no TikTok watermark
- HD quality preserved
- Works with all video types
- Instructions included for easy download

To download:

1. Enable `downloadVideo` in input
2. Find `videoDownloadUrl` in results
3. Right-click the link → "Save link as..."

### 📊 Performance

- **Average processing time**: 15-30 seconds
- **Supported video length**: Up to 10 minutes
- **Transcription accuracy**: 98%+ for clear audio
- **Language detection accuracy**: 95%+
- **Success rate**: 99.9%
- **No rate limits**: Process unlimited videos

### 🌍 Supported Languages

- English (en)
- Spanish (es)
- French (fr)
- German (de)
- Italian (it)
- Portuguese (pt)
- Dutch (nl)
- Polish (pl)
- Russian (ru)
- Chinese (zh)
- Japanese (ja)
- Korean (ko)

### 🛡️ Error Handling

The Actor handles various edge cases:

- ✅ Private or deleted videos
- ✅ Region-locked content
- ✅ Videos without speech
- ✅ Large video files (>100MB)
- ✅ Network timeouts
- ✅ Invalid URLs
- ✅ Rate limiting

### 💰 Pricing

- **No API key costs** - Service included
- **Pay only for Apify compute units**
- **Free tier available**
- **Bulk discounts for high volume**

### 📈 Best Practices

1. **For Best Results**:
   - Use direct TikTok video URLs (not profile links)
   - Enable timestamps for subtitle generation
   - Use auto-detect language for unknown content

2. **Video Downloads**:
   - Downloaded videos have no watermark
   - Save videos promptly after processing
   - Use right-click → "Save link as..." for best results

3. **Batch Processing**:
   - Use API integration for multiple videos
   - Implement parallel processing for speed
   - Cache results to avoid reprocessing

### 🔒 Privacy & Security

- No video content stored permanently
- Temporary files deleted immediately
- Secure processing environment
- GDPR compliant
- No user tracking
- No API keys exposed

### 🆘 Troubleshooting

#### Common Issues

**Video not found**:

- Check if video is public
- Verify URL format is correct
- Try different URL format (short/long)

**Transcription empty**:

- Video might have no speech
- Audio quality might be too poor
- Try different language setting

**Download link not working**:

- Enable `downloadVideo` option
- Right-click → "Save link as..."
- Try different browser if issues persist

**Processing timeout**:

- Video might be too long (>10 min)
- Try again - temporary network issue
- Check if video is available in your region

### 📝 Changelog

#### Version 1.2.0 (Current)

- 🔐 No API key required - plug and play!
- 🎬 Improved video download reliability
- 📦 Key-Value Store for download links
- 🚀 Faster processing

#### Version 1.1.0

- ✨ Added video download feature
- ✨ Added timestamped transcripts
- 🎯 Simplified console output
- 🐛 Fixed edge cases handling

#### Version 1.0.0

- 🚀 Initial release
- 🎙️ Basic transcription
- 🌍 Multi-language support

### 👨‍💻 Developer

**Developed by Ingeniela**\
Business Automation & AI Integration Specialists

### 📄 License

Apache 2.0 License

### 🤝 Support

For issues, feature requests, or custom implementations, contact Ingeniela support.

### ⭐ Why Choose This Actor?

- **No Setup Required** - Works instantly
- **No API Keys** - Everything included
- **Two Tools in One** - Downloader + Transcriber
- **Professional Quality** - 98%+ accuracy
- **Fast & Reliable** - 99.9% uptime
- **Regular Updates** - Constantly improved
- **Expert Support** - By Ingeniela

***

*© 2025 Ingeniela. All rights reserved.*

# Actor input Schema

## `tiktokUrl` (type: `string`):

The URL of the TikTok video to transcribe

## `enableTranscription` (type: `boolean`):

Generate AI transcription of the video audio

## `extractFirstFrame` (type: `boolean`):

Extract and store the first frame of the video as a JPG image

## `downloadVideo` (type: `boolean`):

Get a direct download link for the video without watermark

## `generateTimestamps` (type: `boolean`):

Create a version of the transcript with timestamps \[MM:SS - MM:SS] (only if transcription is enabled)

## `language` (type: `string`):

Language code for transcription (e.g., en, es, fr)

## `detectLanguage` (type: `boolean`):

Automatically detect the language of the video

## `model` (type: `string`):

Quality level for transcription

## Actor input object example

```json
{
  "tiktokUrl": "https://www.tiktok.com/@username/video/1234567890",
  "enableTranscription": true,
  "extractFirstFrame": true,
  "downloadVideo": false,
  "generateTimestamps": true,
  "language": "en",
  "detectLanguage": true,
  "model": "nova-2"
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "tiktokUrl": "https://www.tiktok.com/@healthy.hair.usa/video/7556001829608312078"
};

// Run the Actor and wait for it to finish
const run = await client.actor("ingeniela/tiktok-video-transcriber").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "tiktokUrl": "https://www.tiktok.com/@healthy.hair.usa/video/7556001829608312078" }

# Run the Actor and wait for it to finish
run = client.actor("ingeniela/tiktok-video-transcriber").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "tiktokUrl": "https://www.tiktok.com/@healthy.hair.usa/video/7556001829608312078"
}' |
apify call ingeniela/tiktok-video-transcriber --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,ingeniela/tiktok-video-transcriber"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/mtCY6uhE0b5tUcogU/builds/HOiay4V22YZvOQhcC/openapi.json
