Rip On Shit
Pricing
from $0.01 / 1,000 results
Rip On Shit
Dry Wit Generator Generate personalized dry, understated humor that rips on topics in your voice. Surgical sarcasm. Allergic to enthusiasm. Deeply suspicious of fluff.
Pricing
from $0.01 / 1,000 results
Rating
0.0
(0)
Developer
The Howlers
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
0
Monthly active users
13 days ago
Last modified
Categories
Share
Rip on Shit - Dry Wit Generator
Generate personalized dry, understated humor that rips on topics in your voice. Surgical sarcasm. Allergic to enthusiasm. Deeply suspicious of fluff.
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 OpenAI API key for generation (required)
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","googleDocUrl": "https://example.com","voiceSamplesUrl": "https://example.com"}
Run with real data
{"demoMode": false,"outputStyle": "observation","outputCount": 3,"intensityLevel": "standard","linkedinProfileUrl": "https://example.com","googleDocUrl": "https://example.com","voiceSamplesUrl": "https://example.com","addToKnowledgeBase": false,"analyzeVoice": true,"openaiApiKey": "YOUR_API_KEY_HERE","anthropicApiKey": "YOUR_API_KEY_HERE","aiModel": "claude-sonnet-4-5-20250929","webhookPlatform": "custom","generateImage": true,"imageStyle": "surreal","imageResolution": "1024x1024","geminiApiKey": "YOUR_API_KEY_HERE"}
Input Parameters
| Parameter | Type | Default | Required | Description |
|---|---|---|---|---|
topic | string | - | No | What deserves your understated contempt today? (e.g., 'AI hype', 'corporate jargon', 'hustle culture') |
topicContext | string | - | No | Any specific angles, recent events, or particular absurdities to focus on |
outputStyle | string | "observation" | No | How should the wit be structured? |
outputCount | integer | 3 | No | How many pieces of wit to generate |
intensityLevel | string | "standard" | No | How pointed should this be? |
linkedinProfileUrl | string | - | No | Optional: Your LinkedIn profile to analyze for voice enrichment |
googleDocUrl | string | - | No | Optional: A Google Doc with writing samples to analyze your voice |
additionalVoiceNotes | string | - | No | Any additional notes about your humor style or preferences |
voiceSamples | string | - | No | Paste your actual writing samples here (posts, articles, comments). The AI will analyze these to match your voice. Separate multiple samples with '---'. The more samples, the better the voice match. |
voiceSamplesUrl | string | - | No | URL to a text file containing voice samples (e.g., GitHub raw file, Cloud Storage URL). Samples should be separated by '---'. This is ideal for large sample collections that persist across runs. |
voiceKnowledgeBaseName | string | - | No | Name of the Apify Key-Value Store to persist your voice profile. Use the same name across runs to build up your voice over time. Leave empty to use a one-time voice analysis. |
addToKnowledgeBase | boolean | false | No | When enabled, new voice samples will be analyzed and added to your persistent knowledge base. |
analyzeVoice | boolean | true | No | Use AI to analyze your writing samples and extract voice patterns (phrases, rhythms, humor style). This creates a more accurate voice profile but uses extra API calls. |
openaiApiKey | string | - | Yes* | Your OpenAI API key for generation (required) |
anthropicApiKey | string | - | Yes* | Your Anthropic API key (alternative to OpenAI) |
aiModel | string | "claude-sonnet-4-5-20250929" | No | Which model to use for generation |
webhookUrl | string | - | No | Optional webhook to send results (Slack, Discord, Zapier, etc.) |
webhookPlatform | string | "custom" | No | Select your webhook platform for proper formatting |
demoMode | boolean | true | No | Show pre-written sample outputs to demonstrate the output format (no AI calls, ignores your topic). Disable this and provide an API key to generate content about YOUR specific topic. |
generateImage | boolean | true | No | Generate an AI image for each piece of wit using Gemini 3 Pro (via nanobanana-pro actor). This creates a visual accompaniment that captures the absurdity or satire of the content. |
imageStyle | string | "surreal" | No | Visual style for the generated image |
imageResolution | string | "1024x1024" | No | Size of the generated image |
geminiApiKey | string | - | Yes* | Your Google Gemini API key for image generation. Required if generateImage is enabled and you want live generation (otherwise uses nanobanana-pro demo mode). |
*Required when Demo Mode is off.
Pricing
This actor uses pay-per-event billing:
| Event | Description | Price |
|---|---|---|
| Content Generated | Each humorous content piece generated | $0.03 |
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


