LinkedIn Voice Trainer & AI Content Generator
Pricing
from $0.01 / 1,000 results
LinkedIn Voice Trainer & AI Content Generator
Analyze LinkedIn posts to extract writing voice patterns using AI. Train AI assistants on your style. GPT-4/Claude powered.
Pricing
from $0.01 / 1,000 results
Rating
0.0
(0)
Developer
The Howlers
Actor stats
0
Bookmarked
3
Total users
0
Monthly active users
4 days ago
Last modified
Categories
Share
LinkedIn Voice Trainer - AI Content Generator
Train AI on your unique LinkedIn writing style, then generate authentic posts that sound exactly like you. BYOK support for OpenAI, Claude, and Gemini.
BYOK (Bring Your Own Key) -- you provide your own API credentials.
Before You Start
This actor requires your own API credentials to fetch real data.
Where to get your key: Your LinkedIn account email (optional). Enables authenticated scraping for better results - the scraper will login automatically and extract posts.
You can test with Demo Mode first (free, no key needed) to see the output format before committing.
Quick Start
Test with Demo Mode (free, no API key needed)
{"demoMode": true,"linkedinProfileUrl": "https://example.com"}
Run with real data
{"demoMode": false,"linkedinProfileUrl": "https://example.com","linkedinEmail": "YOUR_API_KEY_HERE","linkedinPassword": "YOUR_API_KEY_HERE","cookies": "YOUR_API_KEY_HERE","cookieKvStoreName": "cookie-sessions","linkedinAccessToken": "YOUR_API_KEY_HERE","task": "analyze_voice","aiProvider": "claude","claudeApiKey": "YOUR_API_KEY_HERE","openaiApiKey": "YOUR_API_KEY_HERE","geminiApiKey": "YOUR_API_KEY_HERE","saveVoiceProfile": true,"voiceProfileName": "my-voice-profile","contentType": "text","includeHashtags": true,"maxLength": 1500,"variations": 1}
Input Parameters
| Parameter | Type | Default | Required | Description |
|---|---|---|---|---|
linkedinProfileUrl | string | - | No | LinkedIn profile URL to analyze (e.g., https://www.linkedin.com/in/johnrippy/). The actor will automatically scrape this user's posts using our LinkedIn scraper. |
linkedinEmail | string | - | Yes* | Your LinkedIn account email (optional). Enables authenticated scraping for better results - the scraper will login automatically and extract posts. |
linkedinPassword | string | - | Yes* | Your LinkedIn account password for automatic login. Only works if MFA/2FA is disabled. |
cookies | string | - | Yes* | JSON array of cookies exported from your browser. Use Cookie-Editor or EditThisCookie extension. Not needed if using Cookie Manager. |
cookieStorageKey | string | - | No | Key to load cookies from Cookie Manager's named KV store. Use this instead of pasting cookies manually. Run Cookie Manager actor first to capture and store your LinkedIn session. |
cookieKvStoreName | string | "cookie-sessions" | No | Name of the Apify Key-Value Store where Cookie Manager saved the session. Default: 'cookie-sessions'. |
linkedinAccessToken | string | - | Yes* | OAuth 2.0 access token from your LinkedIn Developer App. Create one at https://developer.linkedin.com - requires 'r_liteprofile' and 'r_basicprofile' scopes. Best for scraping your own profile. |
task | string | "analyze_voice" | Yes* | What to do: analyze posts to create voice profile, generate posts, or improve a draft |
aiProvider | string | "claude" | No | Which AI provider to use for voice analysis and content generation |
claudeApiKey | string | - | Yes* | Your Anthropic Claude API key (required if using Claude). Steps: 1) Go to console.anthropic.com 2) Click Settings > API Keys 3) Create new key 4) Copy and paste here |
openaiApiKey | string | - | Yes* | Your OpenAI API key (required if using OpenAI). Steps: 1) Go to platform.openai.com 2) Click API Keys 3) Create new secret key 4) Copy and paste here |
geminiApiKey | string | - | Yes* | Your Google Gemini API key (required if using Gemini). Steps: 1) Go to aistudio.google.com 2) Click Get API key 3) Create key in new project 4) Copy and paste here |
aiModel | string | - | No | Override default model. Leave empty for: Claude (claude-sonnet-4-5-20250929), OpenAI (gpt-4-turbo-preview), Gemini (gemini-1.5-pro) |
posts | array | - | No | LinkedIn posts to analyze for voice training. Each post should have text, likes, comments, reposts. |
voiceProfile | object | - | No | Previously generated voice profile (for generate/improve tasks) |
voiceProfileId | string | - | No | Load voice profile from Apify Key-Value Store by ID |
saveVoiceProfile | boolean | true | No | Save the generated voice profile to Apify Key-Value Store for reuse |
voiceProfileName | string | "my-voice-profile" | No | Name for the voice profile (used as storage key) |
topic | string | - | No | Topic for post generation (required for generate_post task) |
draft | string | - | No | Draft text to improve (required for improve_draft task) |
feedback | string | - | No | Specific feedback for draft improvement |
contentType | string | "text" | No | Type of content to optimize for |
includeHashtags | boolean | true | No | Include hashtags in generated posts |
maxLength | integer | 1500 | No | Maximum character length for generated posts |
variations | integer | 1 | No | Number of alternative versions to generate |
industry | string | - | No | Your industry (for better topic suggestions) |
recentTopics | array | - | No | Topics you've recently covered (to avoid repetition) |
demoMode | boolean | true | No | Return mock data for testing without API calls. Enable this if you don't have an AI API key yet. |
webhookUrl | string | - | No | URL to receive a POST request when the actor run finishes. Useful for integrations with Zapier, Make, n8n, or custom automation workflows. |
*Required when Demo Mode is off.
Pricing
This actor uses pay-per-event billing:
| Event | Description | Price |
|---|---|---|
| Content Generated | Each AI-generated post in your voice style | $0.05 |
Demo mode is free -- no charges for sample data.
Troubleshooting
"API key is required"
You have Demo Mode turned off but didn't provide an API key. Either:
- Turn Demo Mode on to test with sample data
- Add your API key in the input
"API error 403" or "Unauthorized"
Your API key is invalid, expired, or doesn't have access to this specific API endpoint. Double-check your key and account permissions.
"API error 429" or "Rate limit"
Too many requests. Wait a minute and try again, or reduce the number of items per run.
No results or empty dataset
Check the run log for error messages. Common causes:
- Invalid input format (check the examples above)
- API key without proper permissions
- The target data doesn't exist or is too small to track
How do I test without an API key?
Enable Demo Mode in the input. This returns realistic sample data so you can verify the output format works for your workflow.
Built by John Rippy | Actor Arsenal