Video 2 Social Post
Pricing
Pay per event
Video 2 Social Post
AI repurposing API — pass any video from TikTok, YouTube, Instagram and the response is platform-tailored social copy for X, LinkedIn, Instagram, TikTok, Facebook, Pinterest, Reddit, YouTube, Threads, Mastodon, and Rednote, plus 6 generated images in your chosen style, in any of 12 output languages.
Pricing
Pay per event
Rating
5.0
(2)
Developer
AgentX
Maintained by CommunityActor stats
5
Bookmarked
37
Total users
0
Monthly active users
6 days ago
Last modified
Categories
Share
Video to Social Post downloads one accessible video, transcribes its audio locally, and sends the transcript through selected social-platform, tone, and model prompt combinations. Each completed generation task becomes a reviewable nine-field Dataset row; optional screenshots or styled images are shared across all rows.
- Provide one non-empty URL handled by the current video extractor.
- Choose one of 12 output languages and non-empty platform, tone, and model lists.
- Expect paid-plan tasks to equal
platforms × tones × models, including duplicate selections. - Treat text, images, token counts, prompt limits, and source compatibility as best-effort outputs that require review.
Run Video to Social Post, call the Apify API, or use MCP. The Actor creates drafts and image records; it does not publish to social networks, verify claims, guarantee engagement, or grant rights to the source video.
Why Choose This API
The Actor combines four distinct stages in one traceable run. First, yt-dlp attempts to download an extractor-compatible video, including public-proxy fallbacks, at up to a configured 720p preference. Second, FFmpeg extracts 16 kHz mono audio when possible and the local faster-whisper small model transcribes on CPU with int8 compute. Third, selected OpenRouter model routes create one post for each paid-plan platform, tone, and model combination. Finally, an optional image workflow selects source frames and can request styled variants.
The boundaries are as important as the convenience. Source websites change, downloads fail, audio may be absent, speech recognition can be wrong, model routes can become unavailable, and provider calls can return empty content. The main process catches fatal exceptions and can finish with zero rows. Text and image token events occur before the final Dataset batch, so charged tokens do not guarantee saved posts.
Download logic makes up to six configured retries per route and can rotate across available public proxies, but it supplies no authenticated source cookies. Transcription tries extracted WAV first and the video file second, with up to three recognition attempts for each. These retries improve resilience without establishing source support, and longer media can consume substantial CPU time before the first provider token is charged.
The runtime currently exposes 12 internal platform prompt profiles: X-Free, X-Premium, Instagram, LinkedIn, Facebook, Pinterest, Reddit, TikTok, YouTube, Rednote, Threads, and Mastodon. These profiles contain internal writing guidance and character targets. They are not publishing connectors, and their configured limits should not be treated as current platform policy without independent verification.
Six selectable labels map to runtime-pinned OpenRouter IDs: DeepSeek, Claude, Gemini, Grok, Qwen, and GPT. The Dataset returns the selected label in uppercase, not the actual resolved provider endpoint. OpenRouter explains that native token counts vary by model and exposes usage in the response; this Actor uses total_tokens for charging and the row's tokens value.
Quick Start Guide
Begin with image_style: "None" and one item in each array. This produces one generation task for a paid user and avoids the separate image-selection calls.
{"video_url": "https://www.tiktok.com/@openai/video/7521583654028512525","image_style": "None","language": "English","platforms": ["X-Free"],"tones": ["Educational"],"models": ["DeepSeek"]}
After completion, inspect the run status, charged events, Dataset item count, content, and KVS keys together. A row with tokens: 0 and empty content can still exist when the provider call failed inside the task handler. A zero-row run can reflect download, transcription, or earlier fatal failure.
For a paid-plan run, estimate task count before starting. Two platforms, three tones, and two models request 12 post calls. Duplicate array entries are not deduplicated and repeat tasks. Free-plan runtime ignores most of that product: it forces DeepSeek, the first tone, the first platform, and no images.
The schema has no maximum array length. Repeating an allowed value can therefore expand the product well beyond the number of distinct choices. Validate and deduplicate inputs in your calling application unless deliberate repeated generations are required. A larger product raises provider cost and runtime, but it does not guarantee more diverse or higher-quality drafts.
Input Parameters
| Field | Type | Required | Runtime behavior |
|---|---|---|---|
video_url | string | Yes | Non-empty source URL; no fixed platform allowlist or URL regex is enforced. |
image_style | enum string | Yes | None, Original, Memes, Realistic, 3D, Anime, Cartoon, Cyberpunk, Digital Art, or Pixel Art. |
language | enum string | Yes | One of English, Chinese, Japanese, Korean, Spanish, French, German, Russian, Portuguese, Italian, Arabic, or Hindi. |
platforms | enum array | Yes | One or more internal platform prompt profiles. |
tones | enum array | Yes | One or more of 12 prompt tones. |
models | enum array | Yes | One or more of six configured model routes. |
All six fields are required even though the Actor Console supplies prefills. Arrays must be non-empty. Runtime lowercases labels for lookup but does not verify every element's type before calling .lower(), so use the schema-generated strings. An invalid element can lead to a caught fatal exception and zero rows.
The 12 tones are Questioning, Emotional, Contrasting, Controversial, Storytelling, Urgent, Humorous, Motivational, Educational, Personal, Professional, and Casual. Tone names guide a prompt; they do not certify sentiment, safety, cultural appropriateness, or performance.
Output Data Schema
Every written row contains nine top-level fields:
| Field | Meaning |
|---|---|
processor | Actor processing URL. |
processed_at | ISO 8601 UTC timestamp created for the post task. |
tokens | Provider-reported total tokens for that post call only. |
model | Selected model label, such as DEEPSEEK. |
platform | Selected internal prompt profile, such as X-Free. |
language | Requested language label. |
tone | Requested tone label. |
images | Shared list of up to six signed KVS URLs, possibly empty. |
content | Best-effort model response, possibly empty. |
{"processor": "https://apify.com/agentx/video-to-social-post?fpr=aiagentapi","processed_at": "2026-07-23T20:15:00+00:00","tokens": 742,"model": "DEEPSEEK","platform": "X-Free","language": "English","tone": "Educational","images": [],"content": "A reviewable draft based on the locally generated transcript."}
The source URL and transcript are not included in the Dataset row. Preserve the input and run ID in your own lineage system. tokens excludes local transcription and separate text calls used to find or select images. All post rows receive the same final image list rather than task-specific images.
KVS cleanup is best-effort. With images disabled, the store should normally retain only INPUT. Original mode retains selected screenshots whose filenames appear in final URLs. Styled modes retain successfully stored styled files and attempt to remove intermediary screenshots. Signed URLs should be tested and archived only when you have authorization and a retention need.
Integration Examples
Call agentx/video-to-social-post through REST, an Apify client, schedules, or a controlled MCP workflow. Keep the API token secret and set an explicit charge cap that reflects the configured minimum.
{"method": "POST","url": "https://api.apify.com/v2/acts/agentx~video-to-social-post/runs?waitForFinish=300&maxTotalChargeUsd=1","headers": {"Authorization": "Bearer YOUR_APIFY_TOKEN","Content-Type": "application/json"},"body": {"video_url": "https://www.tiktok.com/@openai/video/7521583654028512525","image_style": "None","language": "English","platforms": ["LinkedIn"],"tones": ["Professional"],"models": ["DeepSeek"]}}
After the run, fetch defaultDatasetId and compare item count with the expected task product. A charge-limit break can stop generation early. Check each row for non-empty content, correct language, factual support from the source, and the requested platform/tone before approval. Do not automatically publish model output.
Pricing & Cost Calculator
The active AgentX schedule defines Actor Start and Actor Usage at $0.0001 per event. Text Token is tiered per reported token: Free $0.000039, Bronze $0.000036, Silver $0.000033, and Gold/Platinum/Diamond $0.000030. Image Token is Free $0.000074, Bronze $0.000072, Silver $0.000070, and Gold/Platinum/Diamond $0.000069.
At Bronze pricing, a post call reporting 1,000 tokens adds $0.036; 12 such calls reporting 12,000 total tokens add $0.432. Image-enabled runs add text-token events for timestamp and screenshot selection, and AI styles add image-token events per attempted styled image. Runtime and start events are additional.
The configured minimum maximum-charge setting is $1, so a smaller maxTotalChargeUsd may not be accepted. The cap is a financial boundary, not an output promise. Charges can occur before a later failure prevents Dataset writing.
Use Cases & Applications
Editorial teams can turn an authorized video into multiple drafts for human selection. Localization teams can request a target language as a starting point, then verify meaning, cultural fit, names, numbers, and claims. Campaign teams can compare model or tone variants without assuming that a generated draft is ready to publish.
Original-image mode can attach selected source screenshots when the operator has reuse rights. AI styles can create visual variants from those selected frames, but image calls can fail or return fewer than six records. Preserve provenance and label synthetic media where required.
Do not use the Actor to misrepresent speakers, fabricate endorsements, generate harassment, evade platform rules, or republish copyrighted media without authority. Local transcription and generative models can hallucinate; always compare drafts with the source.
Operational reviewers should separate four questions: whether the video was retrieved legally, whether speech was recognized accurately, whether the draft is factually and contextually sound, and whether it satisfies the destination's current rules. A successful Actor run answers none of those questions by itself. Keep a human approval gate before scheduling or publication.
FAQ
Does it support every video platform? No. Compatibility follows the installed yt-dlp extractors and the live source; the official supported-sites list warns that listed sites can break.
How many rows will I get? Paid-plan intent is platforms × tones × models, including duplicates, until a failure or charge limit interrupts. Free-plan runs produce at most the first combination.
Are six images guaranteed? No. None returns zero, Original selects up to six source screenshots, and AI styles attempt up to six styled images. Any stage can return fewer.
Does it publish posts? No. platform is a prompt profile only.
Why can I be charged with zero rows? Provider token charges occur during generation and image work; Dataset rows are pushed only near the end.
Is the transcript returned? No. It is an internal local-ASR input to prompting.
Trust & Certifications
The public contract now matches runtime inputs, the nine-field output including platform, task multiplication, free-plan restrictions, image sharing, token scopes, KVS cleanup, and zero-row billing risk. The Actor is not certified by video sources, social networks, model providers, transcription vendors, regulators, or rights organizations.
Review official faster-whisper documentation, OpenRouter API usage fields, and yt-dlp documentation for their respective layers.
Legal & Compliance
Submit only media you are authorized to download, transcribe, transform, store, and reuse. Follow source terms, social-platform rules, copyright, privacy, publicity, advertising, and synthetic-media requirements. A public URL does not itself grant commercial reuse or model-processing rights.
Review generated claims, disclosures, accessibility, safety, trademarks, and likeness use before publication. Define retention for the input, derived transcript, Dataset, and image KVS records. This is operational guidance, not legal advice.
Related Tools
- Video Transcript — use a transcript-oriented output workflow.
- Video Captions Downloader — retrieve source-exposed subtitle files rather than local ASR drafts.
- All Video Scraper — retrieve supported video observations and media-oriented outputs.
- TikTok Creator API — collect public creator observations separately.
- YouTube Transcript — target YouTube transcript workflows.
- LinkedIn Company Lookup — retrieve public company observations for a separate, authorized enrichment step.
Support & Community
For support, provide the run ID, UTC time, build, redacted source URL, six non-secret input selections, expected task count, terminal status, charged-event counts, Dataset count, KVS key names, and whether failure occurred during download, transcription, post generation, image selection, styling, or storage. Never send API keys.
Contact AgentX support. Model routes and websites change, so include the exact build and current Actor details. Last updated: July 23, 2026.
