clipbait 1.9.0 → 1.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/index.js +5 -5
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -56,8 +56,8 @@ Seven tools are available to any agent:
|
|
|
56
56
|
| `start_live_autoclip` | Auto-clip a **live** Twitch stream continuously (`channelUrl`, optional `cadenceMin`). Pro plan. |
|
|
57
57
|
| `probe_video` | Get a video's duration before clipping (`url`). |
|
|
58
58
|
| `download_clip` | Save a finished clip to your `~/Downloads/` folder and return the path (`jobId`, `clipIndex` 1-based). Max 500 MB. |
|
|
59
|
-
| `list_social_accounts` | Show
|
|
60
|
-
| `schedule_post` | Schedule a clip to post on
|
|
59
|
+
| `list_social_accounts` | Show connected accounts. Posting is X/Twitter only today (TikTok, Facebook, Instagram coming soon). |
|
|
60
|
+
| `schedule_post` | Schedule a clip to post on X at a future time (`clipUrl`, `platforms: ["x"]`, `scheduledTime`, `caption`). |
|
|
61
61
|
| `list_scheduled_posts` / `cancel_scheduled_post` | Review or cancel scheduled posts. |
|
|
62
62
|
|
|
63
63
|
## Terminal usage
|
package/index.js
CHANGED
|
@@ -116,7 +116,7 @@ Guide them like a friendly assistant, conversationally and fast:
|
|
|
116
116
|
4. When complete, list each finished clip as a numbered list: hook and URL.
|
|
117
117
|
5. Then offer next steps and act on them by calling the tools:
|
|
118
118
|
- \`download_clip\` — save a clip to ~/Downloads.
|
|
119
|
-
- Post to
|
|
119
|
+
- Post to X (Twitter) — currently the only supported platform (TikTok, Facebook, Instagram coming soon). Call \`list_social_accounts\` to confirm X is connected, then ask when to post (offer Today / Tomorrow / This weekend / a specific time) and the caption (offer to draft one). Show the plan (clip · time · caption) and CONFIRM before calling \`schedule_post\` for each clip. Use \`list_scheduled_posts\` / \`cancel_scheduled_post\` to review or undo.
|
|
120
120
|
- Regenerate at a different aspect ratio, pull more clips, or \`probe_video\` another URL.
|
|
121
121
|
Keep it snappy. Don't ask for confirmation to start clipping unless the URL is missing — but always confirm before posting to social.
|
|
122
122
|
`;
|
|
@@ -279,11 +279,11 @@ async function runMcpServer() {
|
|
|
279
279
|
} catch (e) { return fail(e); }
|
|
280
280
|
});
|
|
281
281
|
|
|
282
|
-
server.tool("list_social_accounts", "List
|
|
283
|
-
async () => { try { const d = await api("GET", "/auth/social/status"); const
|
|
282
|
+
server.tool("list_social_accounts", "List connected social accounts. Posting is currently supported on X (Twitter) only — TikTok, Facebook, Instagram coming soon.", {},
|
|
283
|
+
async () => { try { const d = await api("GET", "/auth/social/status"); const x = d?.twitter?.connected; return ok(`X (Twitter): ${x ? `connected${d.twitter.username ? ` as @${d.twitter.username}` : ""}` : "not connected — connect at https://app.clipbait.ai/me"}.\nTikTok, Facebook, Instagram: coming soon.`); } catch (e) { return fail(e); } });
|
|
284
284
|
|
|
285
|
-
server.tool("schedule_post", "Schedule a finished clip to post on
|
|
286
|
-
{ clipUrl: z.string(), platforms: z.array(z.enum(["x"
|
|
285
|
+
server.tool("schedule_post", "Schedule a finished clip to post on X (Twitter) at a future time. Get clip URLs from get_job first; confirm X is connected via list_social_accounts. NOTE: only X posting is live today — TikTok, Facebook, Instagram coming soon.",
|
|
286
|
+
{ clipUrl: z.string(), platforms: z.array(z.enum(["x"])).min(1).describe("only \"x\" supported today"), scheduledTime: z.string().describe("Future ISO 8601 time"), caption: z.string().optional(), clipTitle: z.string().optional(), clipJobId: z.string().optional(), clipIndex: z.number().int().optional() },
|
|
287
287
|
async (a) => { try { const d = await api("POST", "/scheduled-posts", { clipUrl: a.clipUrl, platforms: a.platforms, scheduledTime: a.scheduledTime, caption: a.caption || "", clipTitle: a.clipTitle, clipJobId: a.clipJobId, clipIndex: a.clipIndex }); return ok(`Scheduled to ${a.platforms.join(", ")} for ${a.scheduledTime} (post ${d.scheduledPost?._id || "?"}).`); } catch (e) { return fail(e); } });
|
|
288
288
|
|
|
289
289
|
server.tool("list_scheduled_posts", "List the user's scheduled/posted social posts.", { status: z.enum(["pending", "posted", "failed", "cancelled"]).optional() },
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "clipbait",
|
|
3
|
-
"version": "1.9.
|
|
3
|
+
"version": "1.9.1",
|
|
4
4
|
"description": "Clipbait CLI + MCP server — turn any video into viral clips, and auto-clip live streams, from your terminal or any AI agent.",
|
|
5
5
|
"bin": { "clipbait": "index.js" },
|
|
6
6
|
"type": "commonjs",
|