AI Translator, Summarizer & Rewriter
Pricing
Pay per event
AI Translator, Summarizer & Rewriter
Transform any URL or text — translate, summarize, rewrite, extract key points, or TL;DR. URL inputs auto-extract to clean text. BYO model via OpenRouter. Token + cost accounting in every dataset row. Local cache for repeat inputs.
Pricing
Pay per event
Rating
0.0
(0)
Developer
BowTiedRaccoon
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
AI Translator & Summarizer - OpenRouter BYO Key, Bulk URL & Text Processing
Transform any URL or raw text through five AI-powered modes: translate, summarize, rewrite, extract key points, and TL;DR. Bring your own OpenRouter API key to select from GPT-4o, Claude Sonnet, Gemini Flash, Mistral, and other models. URL inputs are automatically fetched and extracted to clean article text before processing. Every dataset row includes token counts and vendor cost in USD.
What does it do?
- Translate — Render text in any language. Supply an ISO 639-1 code (e.g.
es) or a language name (e.g.French). - Summarize — Condense content in formal, casual, technical, marketing, or SEO style.
- Rewrite — Reword content in a chosen style while preserving length and meaning.
- Extract key points — Produce a bulleted list of the core ideas from any content.
- TL;DR — One-paragraph summary regardless of input length.
URL inputs go through a full fetch and article extraction pipeline that strips navigation, ads, and boilerplate before the AI call. Raw text inputs are processed directly.
What data does it return?
Each input item produces one dataset row:
| Field | Type | Description |
|---|---|---|
input | object | Original input object {url?, text?} |
mode | string | Operation mode: translate, summarize, rewrite, extract-key-points, tldr |
model | string | OpenRouter model ID used |
output | string | Transformed content |
inputTokens | number | Tokens consumed by the prompt |
outputTokens | number | Tokens consumed by the completion |
costUsd | number | Vendor cost in USD for this record |
cached | boolean | True when served from local cache (no LLM call made) |
extractedFromUrl | boolean | True when a URL was fetched and extracted to text |
sourceLanguage | string | Detected or declared source language |
targetLanguage | string | Target language (translate mode only) |
status | string | success, timeout, or error |
errorMsg | string | Error detail on failure |
Sample output: translate mode
{"input": { "url": "https://example.com/article" },"mode": "translate","model": "openai/gpt-4o-mini","output": "El rápido zorro marrón salta sobre el perro perezoso.","inputTokens": 312,"outputTokens": 298,"costUsd": 0.00000918,"cached": false,"extractedFromUrl": true,"sourceLanguage": "en","targetLanguage": "es","status": "success"}
Sample output: extract-key-points mode
{"input": { "text": "Long article text here..." },"mode": "extract-key-points","model": "openai/gpt-4o-mini","output": "- The study examined 1,200 participants over 5 years\n- Primary finding: sleep duration below 6 hours correlates with 23% higher cardiovascular risk\n- Confounders: age, BMI, and exercise frequency were controlled","costUsd": 0.00001240,"status": "success"}
How to use it
| Field | Required | Description |
|---|---|---|
inputs | Yes | Array of {url?, text?} objects. Each item can have a URL, raw text, or both. |
openrouterApiKey | Yes | Your OpenRouter API key (sk-or-...). Get one free at openrouter.ai. |
mode | No | translate (default), summarize, rewrite, extract-key-points, tldr |
targetLanguage | Required for translate | ISO 639-1 code or language name |
style | No | formal (default), casual, technical, marketing, seo — applies to summarize and rewrite |
model | No | OpenRouter model ID. Default: openai/gpt-4o-mini |
maxOutputTokens | No | Cap on response length per input. Default: 1024 |
useCache | No | Cache results by input hash (7-day TTL). Default: true |
maxItems | No | Cap on number of inputs to process. Default: 15 |
Example: bulk translate URLs to Spanish
{"inputs": [{ "url": "https://example.com/article-1" },{ "url": "https://example.com/article-2" }],"mode": "translate","targetLanguage": "es","model": "openai/gpt-4o-mini","openrouterApiKey": "sk-or-your-key"}
Example: extract key points from raw text
{"inputs": [{ "text": "Your long document text here..." }],"mode": "extract-key-points","model": "openai/gpt-4o-mini","openrouterApiKey": "sk-or-your-key"}
Model selection
| Model | Best for |
|---|---|
openai/gpt-4o-mini | General translation and summarization; most tasks at lowest cost |
google/gemini-flash-1.5 | Fastest option for high-volume batch jobs |
mistralai/mistral-small | European language translation |
anthropic/claude-3.5-haiku | Nuanced rewrites and tone matching |
openai/gpt-4o | Highest quality; recommended for documents over 10,000 words or complex technical/legal text |
anthropic/claude-3.5-sonnet | Complex content requiring careful reasoning or multi-step extraction |
For documents over 10,000 words or for technical, legal, or domain-specific content where accuracy matters, consider upgrading from gpt-4o-mini to gpt-4o or claude-3.5-sonnet.
Use cases
- Content localization — translate web pages or documents into multiple target languages at batch scale
- Newsletter or article digests — summarize a list of URLs into TL;DR cards for digest emails or dashboards
- Knowledge base preparation — extract key points from long documents before importing into Confluence, Notion, or a RAG pipeline
- SEO content rewriting — rewrite existing articles in SEO style to avoid duplication penalties
- Research synthesis — extract structured bullet points from academic papers or reports for comparison
FAQ
Where are API keys stored? Your OpenRouter key is passed directly to the OpenRouter API for each call. It is not stored by the actor beyond the current run.
What is the caching behavior?
When useCache is enabled (default), results are cached using a hash of the input text, mode, target language, model, and style. Cache TTL is 7 days. A cache hit returns the stored output with zero token consumption.
What happens when an input fails?
Failed inputs produce a row with status: "error" and an errorMsg. The actor continues processing remaining inputs. Common causes: invalid API key, unreachable URL, or missing targetLanguage when mode is translate.
Output is available in JSON, CSV, and Excel via the Apify dataset export panel.