Loading…
Omniposter

Create your account

Start your 14-day free trial — no charge today.

Passwords don't match.

Passwords match.

Already have an account?

Check your inbox

If that email has an account, a reset link is on its way.

Sign in to your account.

Enter your email and we'll send you a reset link.

New here?

← Back to omniposter.ai

Omniposter

Payment received.

Setting up your account…

This account's subscription isn't active

You're a team member of . Ask the account owner to update billing — there's nothing for you to pay here.

Invalid code.

Signed in as .

Omniposter

Let's set up your account

Connect your site, create a researcher, and link your socials. No card needed yet — your 14-day free trial starts once you're set up.

Signed in as .

Omniposter Omniposter
Your payment method needs attention — update it to keep Omniposter running.
You're acting as . Changes you make affect this account.

This project is deleted

Deleted on . All data — stories, posts, researchers, sources, schedules, briefings, images — is scheduled to be permanently removed on ( days from now).

We built an export zip at deletion time. It contains every story (with body markdown + hero images), researcher (with portraits), posts, sources, seeds, schedules, and trendline briefings. Credentials are not included — re-enter API keys if you restore or rebuild elsewhere.

Export size:

↓ Download zip

Restoring brings everything back exactly as it was. If you let the grace period expire, the data is gone — we don't keep backups beyond the export zip.

Loading GA4 data…
Sessions
Engaged
Users
Conv.

Daily trend

No daily data — try a longer window.

Top countries

No geographic data.

Devices

No device data.

By source

No traffic in this window.

Top pages

No page data in this window.

By campaign × source

No campaign-tagged traffic yet.
Loading Search Console data…
Clicks
Impressions
CTR
Avg position

Daily search performance

impressions / clicks per day
No daily data in this window.

Google Search results usually lag by about two days, so the most recent day or two often has no data yet and fills in later. Google has published through .

Top queries

No query data — site may be new or service account lacks Search Console access.

Top pages

No page data.
Loading social engagement…
No published social posts with engagement data in this window. Connect a platform under and publish, then metrics show up here daily.

Earned in this window, across every post live in it — the post count is what you published. Per-network figures start : daily snapshots are kept 14 days, and the chart reaches further back through a rollup that has no per-network breakdown.

What's working

Showing in both sections below

Daily engagement

per day, across every post live in this window
No daily history yet — engagement snapshots accumulate as the daily metrics run collects them.

Top posts

published in this window · totals since publish
No engagement snapshots yet for this selection — metrics are collected daily, or hit Refresh on a post in History.
Loading video performance…
No published videos yet. Publish from and the numbers appear here after the next daily fetch.

Analytics & Search

Connect this project's Google account once, then pick the GA4 property and Search Console site to read below.

No platforms enabled — add credentials in settings first

Loading…
No posts in queue

Recurring schedules

Loading…
No schedules yet — click "New schedule" to set one up.

Loading GA4 data…
Sessions
Engaged
Users
Conv.

By source

No traffic in this window.

Top pages

No page data in this window.

By campaign × source

No campaign-tagged traffic yet.
Loading Search Console data…
Clicks
Impressions
CTR
Avg position

Top queries

No query data — site may be new or service account lacks Search Console access.

Top pages

No page data.
Loading…
Post Status Engagement Date

Social Platforms

Sign in to each platform once and Omniposter handles the API keys for you. Recommended — replaces the hand-typed key flow below.

Or paste API keys manually (legacy)

Credentials are encrypted and stored on your server.

Researchers

Cap reached. Email dev@omniposter.ai if your publication needs more.

Loading…
No researchers yet. Researchers are AI personas with their own beat, persona, and pitching style. Click + New Researcher to add one.

Commissioning runs the full pipeline: researcher pitches 4 ideas → editor picks one → researcher writes the article → Pexels finds a hero image. Takes ~30-60s. Story lands in Story Queue awaiting your approval.

No stories awaiting review. Commission one from Researchers.
No published articles yet.
No rejected articles.

Seeds

Grow your audience

Ideas for new stories and fixes to existing ones — drawn from your GA4 + Search Console data, to grow readership. Your editor weighs these when reviewing researcher pitches. A fresh briefing is generated automatically — or hit Generate new anytime.

No recommendations yet — hit Generate new to analyze your latest GA4 + Search Console data.

Loading…

Active seeds are in play. On each researcher's cadence, the researcher looks here for an on-beat seed to pitch, and the editor weighs the pitch against your editorial mission + recent performance before it's written. Seeds that aren't picked up stay here until they're archived (per the source's seed-expiry setting). Automation is paused. Active seeds are available for manual commissioning. Open a researcher on the and click Commission to write a story from one of these seeds. Or re-enable automation in to let researchers pull them on their own cadence.
Loading…
No archived seeds — seeds are archived when they exceed the source's expiry window. No seeds yet. Configure a content source in Sources and hit Poll now.

Pick where Omniposter pushes approved stories. Only one destination fires at a time.

Publish destination

Custom webhook

When a story is approved (manually or by the auto-editor), Omniposter POSTs the article JSON to this URL with Authorization: Bearer <secret>.

What you need to build on your side ↓

Your server needs an HTTP endpoint that:

  • Accepts POST with JSON body
  • Verifies the Authorization: Bearer <secret> header matches the secret you set below
  • Reads fields: external_id, title, body (markdown), summary, hero_image_url, hero_image_attribution, reporter_display_name, reporter_beat, reporter_persona, reporter_avatar_url, published_at, topic_seed
  • Creates a post on your site and returns 200 OK (any 2xx counts as success)
  • Strongly recommended — return the published URL: respond with a JSON body like {"url": "https://yoursite.com/articles/your-slug-123/"}. Without it, Omniposter can't know your CMS's article id and social posts will link to a URL pattern that may not exist (it falls back to the template, which uses Omniposter's internal Story.id). Accepted keys: url, published_url, link, permalink, or article_url — pick whichever fits your API.

If your site runs WordPress, switch to the WordPress option above — no custom code needed.

Saved

How published articles are addressed on your site. Drives the URL embedded in social posts and the analytics ↔ Story join.

Placeholders: {project_url} · {slug} (slugified-title-id) · {id} (numeric story id). Leave blank to use {project_url}/blog/{slug} (the default).

Examples — {project_url}/articles/{slug}/ · {project_url}/p/{id} · {project_url}/?p={id}

Saving rewrites the canonical URL on every existing story in this project (skipping ones already pushed to WordPress, which keep their real WP permalink).

Saved (existing stories' URLs rewritten)

WordPress publishing

Push approved stories directly to your WordPress blog with title, body, hero image, SEO meta, and per-researcher author bylines. Uses WordPress's built-in Application Passwords (no plugin required). For per-researcher authors, use an Administrator-level account.

How to create an Application Password →
  1. Sign into WP admin (https://yourblog.com/wp-admin/)
  2. Go to Users → Profile in the left sidebar
  3. Scroll to the bottom — last section is "Application Passwords"
  4. Name it Omniposter, click Add New Application Password
  5. Copy the full generated string (shown only once) and paste it below

Section not visible? Check that the site is on HTTPS (required), WordPress is 5.6+, and no security plugin (Wordfence / iThemes / Solid Security) is blocking it.

Open your WP profile page directly
Connected: SEO plugin: Avatar plugin: Can create authors:

Generated in WordPress under Users → Profile → Application Passwords. Spaces are stripped on save.

Sources

External feeds polled for raw material. Paste any of: RSS / Atom feed URLs, JSON APIs returning an array of objects with a title field, GitHub repo URLs (we pull releases via the GitHub App if connected, otherwise public API), or just a website URL — we'll auto-discover the feed from <link rel="alternate"> tags, or fall back to HTML scrape. New items become seeds the editor uses to commission stories.

Recommended sources

The AI searched the web based on your site URL, mission, and voice. Review each suggestion's feed URL before adding — click Add to open the new-source modal pre-filled with the name and URL.

Loading…
No sources yet — click + Add source to connect one, or Recommend sources to let the AI find some for you.

Editor history

Every pitch a researcher made, turn by turn. Each turn the researcher pitches a story and the editor checks it against your editorial mission, voice, standards and how your published work is performing. If it doesn't fit, the editor sends back a reason and guidance, and the researcher re-pitches — up to three times before the turn halts.

Loading pitch history…

No pitches yet. Researchers pitch on the cadence set in their profile — this fills in as they run.

Anchors

On-camera personas — each with their own face, voice and cadence, drawing on the same seeds as your written stories.

Max 2 anchors — delete one to free a slot
Loading…
No anchors yet. Create one, record its voice, and it starts producing fact-checked video scripts on its cadence.

Scripts

Approving a script is the money gate — it spends narration characters and asset credits. Publishing is a separate gate.

Loading…
No scripts yet — commission an anchor from the Anchors tab.

Library

Every rendered video, watchable here before anything reaches YouTube. Publishing is its own gate.

Video Status Published to Date Cost
Loading…
Nothing matches these filters.

Editor history

Every idea an anchor pitched, session by session. The anchor pitches one idea; the editor checks it against your editorial mission, voice and standards, and against how the channel's published videos are actually performing. If it doesn't fit, the editor sends back a reason and guidance and the anchor re-pitches — up to three times before the session halts and no video is made that cycle.

Loading pitch history…

No pitches yet. Anchors pitch on the cadence set in their profile — this fills in as they run.

Video credentials

Where rendered videos get published. Publishing stays behind its own gate — connecting an account never uploads anything by itself.

YouTube

Same Google sign-in as your Analytics connection, but a separate permission grant (upload + read channels). Your GA/Search Console connection is untouched.

Connected as

Every upload verifies the account's live channel against this pick and aborts on a mismatch — the wrong-channel guard. The synthetic-media disclosure is write-only on YouTube's API, so confirm "Altered content" in YouTube Studio after your first publish.

Uploads stay manual-publish until connected; rendered videos wait in the Library either way.
TikTok

Direct-posts the vertical cut to your own TikTok account. The privacy options offered when you post come from TikTok, not from us — a TikTok account set to Private is never offered "Public", whatever you pick here.

Connected as
Instagram Reels

Reels post through the same Instagram connection your stories use — connect Facebook in Editorial → Credentials and the linked IG Business account appears here.

Not connected
Connected as

Video settings

Two independent gates: script approval spends money; publishing releases to YouTube. Auto-approving scripts never implies auto-publishing.

Destinations gate is manual — idle

No accounts connected yet — add them under Video → Credentials, then choose destinations here.

TikTok and Reels take vertical video only — a Short's own render, or the Short cut from a long-form. Captions come from the script's own per-platform caption pack, the same text the publish dialog prefills. Several Shorts cut from one long-form are spaced a day apart.

Which background sources shotlists may use at all (your own uploads / AI / stock) is set per project in Settings → Content sourcing; upload footage in the Assets tab.

What your videos say they are. Shown on the Short's top bar, its end card and every thumbnail.

Reads this site's name, tagline and voice. Fills the fields below — nothing is saved until you press Save.

Using a built-in channel's colours and name. Anything you set below still wins over it.

Colours

Only fonts installed on the render machine can be drawn, so the list is limited to the ones it has. A custom name it lacks falls silently through to the next in the list — always end with a generic like sans-serif.

Carried into every pitch review from now on, and shown to the anchor too so it stops pitching what will be refused. "Teach the editor" on a rejected pitch appends here.

Previously published

Videos this channel published before Omniposter, or outside it. The anchor is shown these when pitching and the editor checks new ideas against them, so the channel stops re-covering ground.

A list of {slug, title, pillar, tags, sources, youtubeId}. Re-importing updates by slug — pressing this twice is safe.

Post to TikTok

Checking your TikTok account…

Post to Instagram Reels

Posting to
No Instagram connection — connect Facebook in Editorial → Credentials first (it links the IG Business account).

Anchor voice —

Runs during this window (in your account's timezone), at most once per period.

made from:

Uploads are stored privately — only you can see them here. They appear in published content only when a story, post, or video uses them. Sourcing rules (original vs AI vs stock) live in Settings.

Loading assets…
Nothing matches "" here — try the All tab, or clear the search.
Nothing here yet — upload your own pictures, clips, or writing samples to give this project its own look and voice.

Researchers (articles)
No researchers yet.
Anchors (video scripts)
Agents

The canonical URL of this publication. Researchers use it for web-search context; analytics + GSC join on this domain.

Comma-separated. Appended to social posts.

Longer-form than the voice. Tell the AI what this publication is FOR and what it's explicitly NOT for — both halves carry weight. The editor agent (toggle below) treats this as its strict-quality reference; if nothing in the seed pool advances it, the agent commissions nothing.

Content sourcing

Where each kind of content gets its pictures and footage. Upload your own in the Assets tab — "original only" gives full control over every image that ships.

Automation

Leave blank to use the default shown in the placeholder. Markdown is supported.

Sections

Pick what this site uses. Unchecked sections are hidden and their automation pauses. Analytics is always on.

Falls back to the site favicon when blank.

Saved

Danger zone

Delete this project. We'll bundle every story, post, researcher, source, schedule, briefing, and image into a downloadable export zip. The project stays visible (grayed out in your nav) for 30 days so you can download the zip, email yourself a link, or restore. After 30 days everything is permanently deleted.

Select a project to get started

Account

Credentials are stored in the local database and never leave your server.

Ask Omni

Help with

Past conversations

Loading…
Loading your setup…
Thinking…

Sent

Admin

Every LLM task and the model it runs on. All generation uses Omniposter's platform keys.

We pay = platform-funded (onboarding, weekly analysis) — an expensive model there comes off margin. Everything else is billed on to the customer's $50/site credit.

Loading…

Pick an account to act as — you'll edit its projects and settings through the normal app, with a banner up top the whole time.

Loading accounts…
No accounts match.

Estimated LLM spend — all of it on Omniposter's platform keys. Customer = billable to the account (counts against its $50/site monthly credit) · Platform = we absorb it (onboarding, weekly analysis).

Loading…

Set up your publication

Step of 7

Mission & standards are configured later in Editorial → Settings.

Please review our updated terms

We've updated our Terms of Service and Privacy Policy. To keep using Omniposter, please review and accept the current versions.

Current version:

You previously accepted:

You haven't accepted these terms yet.

Delete this project?

We'll build a downloadable export of everything (stories, posts, researchers, sources, schedules, briefings, images) and keep it available for 30 days. After that, your data is permanently deleted.

Type to confirm:

Building export zip… this may take 10-30 seconds depending on how many stories and images you have.

Email me a download link

We'll send a link that requires sign-in to download — a forwarded email can't be used to grab your data.

Sent. Check — the link expires when the project is purged.

Don't want to write this yourself? Let AI draft a researcher that fits your site — type a beat below to steer it, or leave everything blank.

Add a display name first — Generate draws a portrait from the beat + persona (Flux).

Voice fingerprint extracted — stories match these samples. Fingerprint extraction will retry automatically; until then stories imitate the raw samples directly. Upload files (doc/docx/pdf/txt) from the Assets tab, or paste text here.

(2-hour window)

Stories are commissioned during this window (in your account's timezone), at most once per period.

WordPress sync

Detecting feed type…

Pick an image from your assets

Loading your library…
No pictures in this project's library yet — upload some in the Assets tab.

Send back to writer with notes

The researcher will rewrite the draft addressing every point. Takes ~30-60 seconds. Be specific — vague notes ("make it better") produce vague rewrites.

Story:

We find the RSS feed behind a home page automatically. When first connected, the newest articles are queued; after that every new article is posted once. Feed images are used when the feed carries them.

Loading GA4 data…
Sessions
Engaged
Users
Conv.

By source

No traffic in this window.

Top pages

No page data in this window.

By campaign × source

No campaign-tagged traffic yet.
Loading Search Console data…
Clicks
Impressions
CTR
Avg position

Top queries

No query data — site may be new or service account lacks Search Console access.

Top pages

No page data.