SuperAPI AI Directory

organic-social

Marketing & growth

View repository

Updated 10-15 20:24

About this skill

Zernio Social

With a single Zernio publishing API, post and schedule organic posts across multiple platforms. The execution layer of content calendar automation. (API facts verified: 2026-07)

Publishing Gate (MANDATORY)

The agent's ceiling is "scheduling under user approval." "Make it/write it" is not publishing approval — "post it/schedule it" is approval, and per destination (platform) is obtained. The automation loop (calendar) also gets the entire calendar approved at initial setup, and again when content changes.

Setup

  • Account: sign up at zernio.com → Dashboard → Accounts → connect each platform. Instagram can only publish via API with a Business/Creator account (personal accounts must be switched in the IG app: Settings → Account type and tools → Switch to professional account).
  • 키: env ZERNIO_API_KEY. Base https://zernio.com/api/v1, Authorization: Bearer.
  • VERIFY: GET /v1/profiles 200 + GET /v1/accountsthe target platform accountId.
  • Windows: all calls Python urllib + utf-8 (curl+cp1252 crashes on emoji responses — it was the cause of an actual duplicate posting incident).

A. Media upload (presign)

POST /media/presign   { "filename": "...", "contentType": "video/mp4" }
→ { uploadUrl, publicUrl }
→ PUT 바이트를 uploadUrl로 (긴 영상은 timeout ≥ 1800s)
→ publicUrl을 mediaItems에 사용

B. Create post (immediate / scheduled)

POST /posts
{ "content": "캡션...",
  "mediaItems": [{ "url": "https://...", "thumbnail": "https://..." }],
  "platforms": ["instagram", "youtube"],
  "scheduledFor": "2026-07-20T09:00:00Z", "timezone": "Asia/Seoul" }
  // 또는 "publishNow": true
  • One post targets multiple platforms simultaneously — they go out together at the same time.
  • Response post.status ∈ scheduled|published|draft|pending — ASSERT the expected value. If you expected scheduled but it's published, it's already live — report to the user immediately.
  • YouTube platformSpecificData: {title(≤100), visibility, madeForKids}; custom thumbnail is mediaItems[].thumbnail (<2MB, ≥640px, regular videos only — Shorts are not possible; vertical videos ≤3 min are automatically classified as Shorts).
  • Instagram: {contentType: "reels", shareToFeed: true}; Reels 9:16, 3–90s, ≤300MB, H.264. The Reels cover is before publishing — it cannot be changed via API after publishing.
  • IG posts 1–3 minutes later than YouTube — this is normal, not a failure.

C. Edit · Publish immediately · Verify

  • Reschedule/edit: PUT /posts/{id} (PATCH는 405).
  • "Post it now": via PUT scheduledFor = now+2 min (past times may be rejected) → GET polling at 30-second intervals → all platforms published verify → report platformPostUrl.
  • Timeout ≠ failure: large POSTs may have succeeded on the server even after a client timeout. If unclear, GET /v1/posts?limit=10find my content first, and retry only when it's truly absent. Blind retry = duplicate posting.

D. Automation patterns (calendar)

  • Cadence defaults: Shorts/Reels once a day, at a fixed local prime-time hour. First publish starts with representative content (the one matching the thumbnail claim).
  • Batch schedule: N pieces of content → get the approved calendar (date×platform table) confirmed by the user → create per post → after creation, GET /postsre-fetch the entire schedule and report it as a table.
  • Repurpose linkage: for cross-platform conversion, rewrite with the content-repurpose skill and then publish with this skill. For paid boost, use paid-ads.
  • Publishing copy standards: no clickbait titles, no emoji walls, match hashtags to platform conventions (self-check: humanizer skill).

If there's no Zernio (manual fallback)

Guide them through uploading to YouTube Studio + scheduling with Meta Business Suite, and prepare the title/description/caption/ hashtags all as copy-paste-ready files.