@genspark/cli 1.4.2 → 1.5.0

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.
Files changed (53) hide show
  1. package/README.md +23 -1
  2. package/dist/config.d.ts +11 -8
  3. package/dist/config.d.ts.map +1 -1
  4. package/dist/config.js +100 -13
  5. package/dist/config.js.map +1 -1
  6. package/dist/index.js +85 -25
  7. package/dist/index.js.map +1 -1
  8. package/dist/localFiles.d.ts +62 -0
  9. package/dist/localFiles.d.ts.map +1 -0
  10. package/dist/localFiles.js +130 -0
  11. package/dist/localFiles.js.map +1 -0
  12. package/dist/logger.d.ts +8 -0
  13. package/dist/logger.d.ts.map +1 -1
  14. package/dist/logger.js +13 -0
  15. package/dist/logger.js.map +1 -1
  16. package/dist/mesh/checkupdate.js +3 -3
  17. package/dist/mesh/checkupdate.js.map +1 -1
  18. package/dist/runtime.d.ts +44 -0
  19. package/dist/runtime.d.ts.map +1 -0
  20. package/dist/runtime.js +62 -0
  21. package/dist/runtime.js.map +1 -0
  22. package/dist/updater.d.ts +1 -0
  23. package/dist/updater.d.ts.map +1 -1
  24. package/dist/updater.js +10 -0
  25. package/dist/updater.js.map +1 -1
  26. package/docs/skills.md +20 -20
  27. package/package.json +1 -1
  28. package/skills/gsk-analyze-media/SKILL.md +2 -1
  29. package/skills/gsk-audio-generation/SKILL.md +1 -1
  30. package/skills/gsk-connector/SKILL.md +52 -0
  31. package/skills/gsk-github/SKILL.md +2 -0
  32. package/skills/gsk-gmail/SKILL.md +2 -0
  33. package/skills/gsk-google-calendar/SKILL.md +4 -1
  34. package/skills/gsk-google-chat/SKILL.md +4 -1
  35. package/skills/gsk-google-contacts/SKILL.md +2 -0
  36. package/skills/gsk-google-docs/SKILL.md +2 -0
  37. package/skills/gsk-google-drive/SKILL.md +3 -0
  38. package/skills/gsk-google-sheets/SKILL.md +4 -2
  39. package/skills/gsk-hub/SKILL.md +15 -5
  40. package/skills/gsk-image-generation/SKILL.md +2 -2
  41. package/skills/gsk-microsoft-teams/SKILL.md +4 -2
  42. package/skills/gsk-notion/SKILL.md +2 -0
  43. package/skills/gsk-onedrive/SKILL.md +3 -0
  44. package/skills/gsk-outlook-calendar/SKILL.md +3 -1
  45. package/skills/gsk-outlook-contacts/SKILL.md +2 -0
  46. package/skills/gsk-outlook-email/SKILL.md +3 -10
  47. package/skills/gsk-salesforce/SKILL.md +2 -0
  48. package/skills/gsk-shared/SKILL.md +12 -1
  49. package/skills/gsk-sharepoint/SKILL.md +3 -0
  50. package/skills/gsk-sharepoint-upload/SKILL.md +2 -0
  51. package/skills/gsk-slack/SKILL.md +12 -7
  52. package/skills/gsk-task-continue/SKILL.md +4 -3
  53. package/skills/gsk-video-generation/SKILL.md +8 -7
@@ -16,6 +16,8 @@ metadata:
16
16
 
17
17
  **PREREQUISITE:** Read `../gsk-shared/SKILL.md` for auth, global flags, and security rules.
18
18
 
19
+ > **Note:** a unified `gsk connector` flow is rolling out (see `../gsk-connector/SKILL.md`: `gsk connector tools <id>` / `gsk connector call <id> -t <tool>`) and may not be enabled for every account yet. THIS command remains fully supported — use it directly, and it stays the fallback whenever `gsk connector` is unavailable.
20
+
19
21
  Microsoft Teams operations. Actions: send, list_channels, list_chats, read_chat, list_channel_messages, list_channel_replies, list_teams, list_members, search, search_users, create_chat, create_team, react, delete_message.
20
22
 
21
23
  ## Usage
@@ -46,9 +48,9 @@ gsk teams [options]
46
48
  | `--chat_type` | No | [list_chats] Filter by chat type. 'oneOnOne' for 1:1 chats, 'group' for group chats, 'meeting' for meeting chats, 'all' for all types. Default: 'all' (string, one of: oneOnOne, group, meeting, all) |
47
49
  | `--count` | No | [list_chats] Maximum number of chats to return on this call (page size, clamped to [1, 50]). Default: 50. To fetch beyond a single page, use the ``cursor`` argument with the previous response's ``next_cursor``. \| [search] The maximum number of messages to return on this call (page size, clamped to [1, 25]). Default: 25. To fetch beyond a single page, use the ``cursor`` argument with the previous response's ``next_cursor``. \| [search_users] Maximum number of users to return. Default: 10 (integer) |
48
50
  | `--limit` | No | [read_chat] Maximum messages to return on this call (clamped to [1, 50]). Default: 30. To fetch beyond a page, pass the previous response's ``next_cursor`` as ``cursor``. \| [list_channel_messages] Messages in this page, clamped to 1-50. Default: 30. \| [list_channel_replies] Messages in this page, clamped to 1-50. Default: 30. (integer) |
49
- | `--since` | No | [read_chat] Optional ISO-8601 floor (e.g. '2026-05-01T00:00:00Z'); only messages created at or after this instant are returned. \| [search] Optional ISO-8601 floor (e.g. '2026-05-01' or '2026-05-01T00:00:00Z'); only messages created at or after this instant are returned. (string) |
51
+ | `--since` | No | [read_chat] Optional ISO-8601 floor (e.g. '2026-05-01T00:00:00Z'); only messages created or modified at or after this instant are returned. \| [search] Optional ISO-8601 floor (e.g. '2026-05-01' or '2026-05-01T00:00:00Z'); only messages created at or after this instant are returned. (string) |
50
52
  | `--message_id` | No | [list_channel_replies] Root channel message ID whose replies should be listed. \| [react] ID of the message to react to. \| [delete_message] ID of the message to delete. (string) |
51
- | `--query` | No | [search] The search query using KQL (Keyword Query Language). **Query Behavior**: • Spaces = AND: 'project meeting' finds messages with BOTH terms • OR operator: 'project OR meeting' finds messages with EITHER term • KQL modifiers: 'from:john', 'hasAttachment:true', 'sent>2024-01-01', 'IsRead:false' • Examples: 'urgent project', 'bug OR issue', 'from:alice budget', 'hasAttachment:true report' \| [search_users] Search query - can be a name, email, or partial match. Example: 'John', 'john@company.com', 'Smith' (string) |
53
+ | `--query` | No | [search] The search query using KQL (Keyword Query Language). **Query Behavior**: • Spaces = AND: 'project meeting' finds messages with BOTH terms • OR operator: 'project OR meeting' finds messages with EITHER term • KQL modifiers: 'from:john', 'hasAttachment:true', 'IsRead:false' • Date filters: prefer the ``since``/``until`` arguments; inline date ops ('sent>=2026-02-01 sent<=2026-03-05', 'sent:2026-02-01..2026-03-05') are also honored — both bounds are enforced • Examples: 'urgent project', 'bug OR issue', 'from:alice budget', 'hasAttachment:true report' \| [search_users] Search query - can be a name, email, or partial match. Example: 'John', 'john@company.com', 'Smith' (string) |
52
54
  | `--unread_only` | No | [search] Set to true to search for unread messages only. Default is false. (boolean) |
53
55
  | `--question` | No | [search] A specific question to answer based on the search results. (string) |
54
56
  | `--raw` | No | [search] Return structured JSON (``{success, count, messages, next_cursor}`` with the same message fields as ``microsoft_teams_read_chat``) instead of an LLM-summarized prose digest. ``success: false`` with ``error`` on failure, so callers can tell an empty result from an error. Default false. (boolean) |
@@ -14,6 +14,8 @@ metadata:
14
14
 
15
15
  **PREREQUISITE:** Read `../gsk-shared/SKILL.md` for auth, global flags, and security rules.
16
16
 
17
+ > **Note:** a unified `gsk connector` flow is rolling out (see `../gsk-connector/SKILL.md`: `gsk connector tools <id>` / `gsk connector call <id> -t <tool>`) and may not be enabled for every account yet. THIS command remains fully supported — use it directly, and it stays the fallback whenever `gsk connector` is unavailable.
18
+
17
19
  Notion page operations. Actions: search, read, create.
18
20
 
19
21
  ## Usage
@@ -14,6 +14,8 @@ metadata:
14
14
 
15
15
  **PREREQUISITE:** Read `../gsk-shared/SKILL.md` for auth, global flags, and security rules.
16
16
 
17
+ > **Note:** a unified `gsk connector` flow is rolling out (see `../gsk-connector/SKILL.md`: `gsk connector tools <id>` / `gsk connector call <id> -t <tool>`) and may not be enabled for every account yet. THIS command remains fully supported — use it directly, and it stays the fallback whenever `gsk connector` is unavailable.
18
+
17
19
  OneDrive file operations. Actions: list, search, read, upload, share.
18
20
 
19
21
  ## Usage
@@ -31,6 +33,7 @@ gsk onedrive [options]
31
33
  | `--folder_id` | No | [list] The folder item ID to list contents of. Get folder IDs from previous onedrive_list_files or onedrive_search results. \| [upload] Target folder item ID (from onedrive_list_files or onedrive_search). If omitted, ``folder_path`` is used; if both are omitted, the upload goes to the OneDrive root. (string) |
32
34
  | `--folder_path` | No | [list] The folder path relative to OneDrive root. Example: 'Documents/Projects' to list files in that subfolder. \| [upload] Target folder path relative to the OneDrive root, e.g. 'Documents/Reports'. The folder must already exist. Ignored when ``folder_id`` is provided. (string) |
33
35
  | `--limit` | No | [list] Maximum number of items to return (1-200). Default: 50 (integer) |
36
+ | `--all_pages` | No | [list] List every page in this folder. Use for complete programmatic inventory; default false. (boolean) |
34
37
  | `--query` | No | [search] The search query string. **Query Behavior**: • Spaces = AND: 'project report' finds files with BOTH terms • OR operator: 'project OR report' finds files with EITHER term • Empty string: '*' lists all files • Wildcards: 'report*' finds files starting with 'report' • Examples: 'budget.xlsx', 'meeting OR conference', '*.pdf', 'project 2024' (string) |
35
38
  | `--file_id` | No | [read] The ID of the file OR the OneDrive/SharePoint URL to read from OneDrive or SharePoint. Can be either a file ID (like '01W56PINYRO3...') or a full OneDrive/SharePoint URL (like 'https://domain-my.sharepoint.com/personal/user/Documents/file.pdf' or SharePoint driveItem IDs). For Teams attachments, use the 'file_id' value from Teams search results onedrive_file_params. \| [share] OneDrive item ID of the file or folder to share (from onedrive_list_files or onedrive_search). Mutually exclusive with ``file_path``. (string) |
36
39
  | `--question` | No | [read] The question to answer about the file content. (string) |
@@ -15,6 +15,8 @@ metadata:
15
15
 
16
16
  **PREREQUISITE:** Read `../gsk-shared/SKILL.md` for auth, global flags, and security rules.
17
17
 
18
+ > **Note:** a unified `gsk connector` flow is rolling out (see `../gsk-connector/SKILL.md`: `gsk connector tools <id>` / `gsk connector call <id> -t <tool>`) and may not be enabled for every account yet. THIS command remains fully supported — use it directly, and it stays the fallback whenever `gsk connector` is unavailable.
19
+
18
20
  Outlook Calendar operations. Actions: list, free_busy, create, respond, modify, delete.
19
21
 
20
22
  ## Usage
@@ -27,7 +29,7 @@ gsk outlook_calendar [options]
27
29
 
28
30
  | Flag | Required | Description |
29
31
  |------|----------|-------------|
30
- | `<action>` (positional) | Yes | Action to perform. 'list': List upcoming calendar events; 'free_busy': Query free/busy availability for people (any org member) in a time window (find open meeting slots); 'create': Create a new calendar event. By default this returns a LOCAL DRAFT only — nothing lands in the calendar until the user confirms it in the Genspark UI. Callers without a confirmation UI (e.g. gsk) must pass --skip_confirmation to create the event directly; 'respond': RSVP (accept / decline / tentative) to an existing invite. Supports --comment and --proposed_new_time (Outlook-only counter-proposal); 'modify': Modify (Graph PATCH /me/events/{id}) an existing event in place without delete+create; 'delete': Delete a calendar event (string, one of: list, free_busy, create, respond, modify, delete) |
32
+ | `<action>` (positional) | Yes | Action to perform. 'list': List upcoming calendar events. Returns at most 'limit' (default 20) events; the response sets truncated=true when more events exist in the window; 'free_busy': Query free/busy availability for people (any org member) in a time window (find open meeting slots); 'create': Create a new calendar event. By default this returns a LOCAL DRAFT only — nothing lands in the calendar until the user confirms it in the Genspark UI. Callers without a confirmation UI (e.g. gsk) must pass --skip_confirmation to create the event directly; 'respond': RSVP (accept / decline / tentative) to an existing invite. Supports --comment and --proposed_new_time (Outlook-only counter-proposal); 'modify': Modify (Graph PATCH /me/events/{id}) an existing event in place without delete+create; 'delete': Delete a calendar event (string, one of: list, free_busy, create, respond, modify, delete) |
31
33
  | `--filter_query` | No | [list] Text to filter calendar events by subject. Empty for listing all events in the time range. (string) |
32
34
  | `--time_min` | No | [list] Optional. Start time for the calendar view (ISO 8601 timestamp). Defaults to 30 days ago. (string) |
33
35
  | `--time_max` | No | [list] Optional. End time for the calendar view (ISO 8601 timestamp). Defaults to 60 days from now. (string) |
@@ -14,6 +14,8 @@ metadata:
14
14
 
15
15
  **PREREQUISITE:** Read `../gsk-shared/SKILL.md` for auth, global flags, and security rules.
16
16
 
17
+ > **Note:** a unified `gsk connector` flow is rolling out (see `../gsk-connector/SKILL.md`: `gsk connector tools <id>` / `gsk connector call <id> -t <tool>`) and may not be enabled for every account yet. THIS command remains fully supported — use it directly, and it stays the fallback whenever `gsk connector` is unavailable.
18
+
17
19
  Outlook Contacts operations. Actions: search.
18
20
 
19
21
  ## Usage
@@ -17,19 +17,12 @@ metadata:
17
17
 
18
18
  **PREREQUISITE:** Read `../gsk-shared/SKILL.md` for auth, global flags, and security rules.
19
19
 
20
+ > **Note:** a unified `gsk connector` flow is rolling out (see `../gsk-connector/SKILL.md`: `gsk connector tools <id>` / `gsk connector call <id> -t <tool>`) and may not be enabled for every account yet. THIS command remains fully supported — use it directly, and it stays the fallback whenever `gsk connector` is unavailable.
21
+
20
22
  Outlook Email operations. Actions: search, read, list_folders, list_emails, list_email_changes, send, draft, reply, reply_draft, forward, delete, archive, move, mark_as_read, add_category, remove_category, get_attachment, group_list, group_search, group_read, group_reply.
21
23
 
22
24
  ## Usage
23
25
 
24
- The durable ingest actions `list_folders`, `list_emails`, and
25
- `list_email_changes` require `--from_account <mailbox-address>`. Never omit it:
26
- the explicit mailbox is part of the stable source identity and cursor scope.
27
-
28
- ```bash
29
- gsk outlook list_folders --from_account person@example.com
30
- gsk outlook list_email_changes --folder_id <id> --from_account person@example.com
31
- ```
32
-
33
26
  ```bash
34
27
  gsk outlook [options]
35
28
  ```
@@ -40,7 +33,7 @@ gsk outlook [options]
40
33
 
41
34
  | Flag | Required | Description |
42
35
  |------|----------|-------------|
43
- | `<action>` (positional) | Yes | Action to perform. 'search': Search emails by query; 'read': Read a specific email by ID; 'list_folders': List structured Outlook mail folders; 'list_emails': List full structured emails in one folder; 'list_email_changes': List folder-scoped email upserts and tombstones using a delta cursor; 'send': Compose and send an email; 'draft': Save an email to the Drafts folder without sending; 'reply': Reply to an existing email; 'reply_draft': Create a reply draft without sending; 'forward': Forward an email to new recipients; 'delete': Delete an email; 'archive': Archive an email; 'move': Move an email to a different folder; 'mark_as_read': Mark an email as read or unread; 'add_category': Add a category to an email; 'remove_category': Remove a category from an email; 'get_attachment': Download an email attachment; 'group_list': List Microsoft 365 groups; 'group_search': Search group emails; 'group_read': Read a group email; 'group_reply': Reply to a group email (string, one of: search, read, list_folders, list_emails, list_email_changes, send, draft, reply, reply_draft, forward, delete, archive, move, mark_as_read, add_category, remove_category, get_attachment, group_list, group_search, group_read, group_reply) |
36
+ | `<action>` (positional) | Yes | Action to perform. 'search': Search emails by query; 'read': Read a specific email by ID; 'list_folders': List structured Outlook mail folders; 'list_emails': List structured emails with explicit body coverage; 'list_email_changes': List folder-scoped email upserts and tombstones with body coverage using a delta cursor; 'send': Compose and send an email; 'draft': Save an email to the Drafts folder without sending; 'reply': Reply to an existing email; 'reply_draft': Create a reply draft without sending; 'forward': Forward an email to new recipients; 'delete': Delete an email; 'archive': Archive an email; 'move': Move an email to a different folder; 'mark_as_read': Mark an email as read or unread; 'add_category': Add a category to an email; 'remove_category': Remove a category from an email; 'get_attachment': Download an email attachment; 'group_list': List Microsoft 365 groups; 'group_search': Search group emails; 'group_read': Read a group email; 'group_reply': Reply to a group email (string, one of: search, read, list_folders, list_emails, list_email_changes, send, draft, reply, reply_draft, forward, delete, archive, move, mark_as_read, add_category, remove_category, get_attachment, group_list, group_search, group_read, group_reply) |
44
37
  | `--queryString` | No | [search] The search query using KQL (Keyword Query Language). Examples:\n- Simple: 'project meeting'\n- From Sender: 'from:boss@example.com'\n- With Subject: 'subject:"Weekly Report"'\n- Unread Emails: 'isRead=false'\n- Has Attachments: 'hasAttachments=true'\n- Cc Recipient: 'cc:user@example.com'\n- Important: 'importance:high'\n- Complex: 'from:admin@co.com AND (subject:urgent OR body:critical)'\nNote: Use after_date/before_date params for date filtering (recommended), or use KQL syntax like 'received:2024-06-01..2024-06-30' in queryString. (string) |
45
38
  | `--after_date` | No | [search] Filter emails received on or after this date (inclusive). Format: YYYY-MM-DD (e.g., '2024-01-01'). Works for both enterprise and personal accounts. (string) |
46
39
  | `--before_date` | No | [search] Filter emails received before this date (exclusive). Format: YYYY-MM-DD (e.g., '2024-01-31'). Works for both enterprise and personal accounts. (string) |
@@ -15,6 +15,8 @@ metadata:
15
15
 
16
16
  **PREREQUISITE:** Read `../gsk-shared/SKILL.md` for auth, global flags, and security rules.
17
17
 
18
+ > **Note:** a unified `gsk connector` flow is rolling out (see `../gsk-connector/SKILL.md`: `gsk connector tools <id>` / `gsk connector call <id> -t <tool>`) and may not be enabled for every account yet. THIS command remains fully supported — use it directly, and it stays the fallback whenever `gsk connector` is unavailable.
19
+
18
20
  Salesforce DX CLI (`sf`) operations in a pre-authenticated sandbox. Actions: run (forwards any `sf` subcommand).
19
21
 
20
22
  ## Usage
@@ -24,7 +24,7 @@ Requires Node.js >= 18.
24
24
  ## Authentication
25
25
 
26
26
  ```bash
27
- # Log in via browser (saves API key to ~/.genspark-tool-cli/config.json)
27
+ # Log in via browser (saves the API key and effective API endpoint)
28
28
  gsk login
29
29
 
30
30
  # Or provide an API key directly
@@ -45,6 +45,7 @@ gsk me
45
45
  | `--timeout <ms>` | — | `1800000` | Request timeout (30 min default) |
46
46
  | `--output <format>` | — | `json` | Output format: `json` or `text` |
47
47
  | `--refresh` | — | — | Force refresh cached tool schemas |
48
+ | `--config <path>` | `GSK_CONFIG` | `~/.genspark-tool-cli/config.json` | Config profile path |
48
49
 
49
50
  ## Output Conventions
50
51
 
@@ -195,3 +196,13 @@ gsk drive upload --local_file ./doc.pdf --upload_path /docs/doc.pdf --override
195
196
  |------|-------------|
196
197
  | `--local_file <path>` | Local file path to upload (streaming, no size limit) |
197
198
  | `--override` | Overwrite existing file at the destination path |
199
+
200
+ ## Connectors (integrations)
201
+
202
+ For ANY third-party integration (email, chat, CRM, files, custom MCP
203
+ servers), use the unified flow in `../gsk-connector/SKILL.md`:
204
+ `gsk connector list` → `search` → `tools <id>` → `call <id> -t <tool> -a '<json>'`.
205
+ Never assume a connector is missing without running `gsk connector search` first.
206
+ The unified commands are rolling out behind a feature flag; if `gsk connector`
207
+ is unavailable (unknown-command error), use the per-service commands from the
208
+ `gsk-<service>` skills instead — they remain fully supported.
@@ -15,6 +15,8 @@ metadata:
15
15
 
16
16
  **PREREQUISITE:** Read `../gsk-shared/SKILL.md` for auth, global flags, and security rules.
17
17
 
18
+ > **Note:** a unified `gsk connector` flow is rolling out (see `../gsk-connector/SKILL.md`: `gsk connector tools <id>` / `gsk connector call <id> -t <tool>`) and may not be enabled for every account yet. THIS command remains fully supported — use it directly, and it stays the fallback whenever `gsk connector` is unavailable.
19
+
18
20
  SharePoint site and file operations. Actions: list, search, read_content, read_file, upload.
19
21
 
20
22
  ## Usage
@@ -33,6 +35,7 @@ gsk sharepoint [options]
33
35
  | `--drive_id` | No | [list] The document library (drive) ID. Use this to list files in a specific document library. \| [upload] Document library (drive) ID. Combine with ``folder_id`` to target a specific folder. (string) |
34
36
  | `--folder_id` | No | [list] The folder item ID within a drive. Use this with drive_id to navigate into subfolders. Get folder IDs from previous sharepoint_list_files results. \| [upload] Folder item ID inside ``drive_id`` or the site's default drive. If omitted, the upload goes to the drive root. (string) |
35
37
  | `--limit` | No | [list] Maximum number of items to return (1-200). Default: 50 (integer) |
38
+ | `--all_pages` | No | [list] List every page in this folder. Use for complete programmatic inventory; default false. (boolean) |
36
39
  | `--query` | No | [search] The search query string using KQL syntax. **Query Behavior**: • Spaces = AND: 'project report' finds items with BOTH terms • OR operator: 'project OR report' finds items with EITHER term • Empty string: '*' returns all items • Mixed language: automatically optimized (e.g., '项目 project' → '项目 OR project') • Examples: 'budget 2024', 'meeting OR conference', 'from:john project', 'hasAttachment:true report' (string) |
37
40
  | `--entity_types` | No | [search] Types of SharePoint content to search. Defaults to all types. (array, default: `['site', 'listItem', 'list', 'driveItem']`) |
38
41
  | `--content_id` | No | [read_content] The ID of the SharePoint content to read. Can be a site ID, page ID, list ID, list item ID from SharePoint search results, or a SharePoint URL for direct file access. For Teams attachments, use the 'content_id' value from Teams search results onedrive_file_params. (string) |
@@ -14,6 +14,8 @@ metadata:
14
14
 
15
15
  **PREREQUISITE:** Read `../gsk-shared/SKILL.md` for auth, global flags, and security rules.
16
16
 
17
+ > **Note:** a unified `gsk connector` flow is rolling out (see `../gsk-connector/SKILL.md`: `gsk connector tools <id>` / `gsk connector call <id> -t <tool>`) and may not be enabled for every account yet. THIS command remains fully supported — use it directly, and it stays the fallback whenever `gsk connector` is unavailable.
18
+
17
19
  Upload a file to a SharePoint document library.
18
20
 
19
21
  ## Usage
@@ -2,7 +2,7 @@
2
2
  name: gsk-slack
3
3
  version: 1.0.0
4
4
  description: 'Slack messaging operations. Actions: send, search, read, lookup, react,
5
- upload.'
5
+ upload, update, delete, permalink, connect_invites, connect_approve, connect_decline.'
6
6
  metadata:
7
7
  category: general
8
8
  requires:
@@ -15,7 +15,9 @@ metadata:
15
15
 
16
16
  **PREREQUISITE:** Read `../gsk-shared/SKILL.md` for auth, global flags, and security rules.
17
17
 
18
- Slack messaging operations. Actions: send, search, read, lookup, react, upload.
18
+ > **Note:** a unified `gsk connector` flow is rolling out (see `../gsk-connector/SKILL.md`: `gsk connector tools <id>` / `gsk connector call <id> -t <tool>`) and may not be enabled for every account yet. THIS command remains fully supported — use it directly, and it stays the fallback whenever `gsk connector` is unavailable.
19
+
20
+ Slack messaging operations. Actions: send, search, read, lookup, react, upload, update, delete, permalink, connect_invites, connect_approve, connect_decline.
19
21
 
20
22
  ## Usage
21
23
 
@@ -27,29 +29,32 @@ gsk slack [options]
27
29
 
28
30
  | Flag | Required | Description |
29
31
  |------|----------|-------------|
30
- | `<action>` (positional) | Yes | Action to perform. 'send': Send a message to a channel or user; 'search': Search messages by keyword; 'read': Read recent message history of a channel (or one thread); 'lookup': Look up users, channels, or groups; 'react': Emoji-react to a message (or remove your reaction); 'upload': Upload a file into a channel, group, or DM (string, one of: send, search, read, lookup, react, upload) |
32
+ | `<action>` (positional) | Yes | Action to perform. 'send': Send a message to a channel or user; 'search': Search messages by keyword; 'read': Read recent message history of a channel (or one thread); 'lookup': Look up users, channels, or groups; 'react': Emoji-react to a message (or remove your reaction); 'upload': Upload a file into a channel, group, or DM; 'update': Edit one of the user's own messages; 'delete': Delete one of the user's own messages; 'permalink': Get the permanent link for a message; 'connect_invites': List pending Slack Connect shared-channel invites (workspace owner/admin only); 'connect_approve': Approve a pending Slack Connect shared-channel invite by invite ID (workspace owner/admin only); 'connect_decline': Decline a pending Slack Connect shared-channel invite by invite ID (workspace owner/admin only) (string, one of: send, search, read, lookup, react, upload, update, delete, permalink, connect_invites, connect_approve, connect_decline) |
31
33
  | `--message` | No | [send] The message content to send. Supports Slack markdown formatting. (string) |
32
34
  | `--recipient` | No | [send] Optional recipient: 'self' (default), channel ID (e.g., 'C01234567'), or user ID (e.g., 'U01234567'). If not specified, sends to yourself. (string) |
33
35
  | `--title` | No | [send] Optional title for the message. If provided, creates a rich formatted message with a header. \| [upload] Optional title shown on the Slack file card. Defaults to the file name. (string) |
34
36
  | `--fields` | No | [send] Optional array of field objects with 'title' and 'value' keys to create a structured message layout. (array) |
35
37
  | `--thread_ts` | No | [send] Optional thread timestamp to reply in a thread. \| [read] Timestamp ('ts') of a thread's parent message. When set, returns that thread's replies instead of the channel timeline. \| [upload] Optional thread timestamp — share the file as a reply in this thread instead of the conversation root. (string) |
36
38
  | `--query` | No | [search] The search query. You can use modifiers like 'in:#channel', 'from:@user', 'has:link', 'before:yyyy-mm-dd'. (string) |
37
- | `--count` | No | [search] The maximum number of messages to return. Default is 100. (integer) |
39
+ | `--count` | No | [search] The maximum number of messages to return. Default is 100. \| [connect_invites] Maximum number of invites to return (default 100). (integer) |
38
40
  | `--sort` | No | [search] Sort order of results. 'score' for relevance or 'timestamp' for time. Default is 'score'. (string) |
39
41
  | `--question` | No | [search] A specific question to answer based on the search results. (string) |
40
- | `--channel` | No | [read] Conversation ID (channel 'C…', private group 'G…', or DM 'D…') or a channel name (e.g. '#general' or 'general'). IDs come from the lookup action. \| [react] Conversation ID containing the message (channel 'C…', private group 'G…', or DM 'D…'). \| [upload] Target conversation ID (channel 'C…', private group 'G…', or DM 'D…') the file is shared into. (string) |
42
+ | `--channel` | No | [read] Conversation ID (channel 'C…', private group 'G…', or DM 'D…') or a channel name (e.g. '#general' or 'general'). IDs come from the lookup action. \| [react] Conversation ID containing the message (channel 'C…', private group 'G…', or DM 'D…'). \| [upload] Target conversation ID (channel 'C…', private group 'G…', or DM 'D…') the file is shared into. \| [update] Conversation ID containing the message (channel 'C…', private group 'G…', or DM 'D…'). \| [delete] Conversation ID containing the message (channel 'C…', private group 'G…', or DM 'D…'). \| [permalink] Conversation ID containing the message (channel 'C…', private group 'G…', or DM 'D…'). (string) |
41
43
  | `--limit` | No | [read] Maximum messages to return (default 20, max 100). \| [lookup] Maximum number of results to return. Default: 50 (integer) |
42
- | `--cursor` | No | [read] Pagination cursor from a previous call's next_cursor to fetch older messages. (string) |
44
+ | `--cursor` | No | [read] Pagination cursor from a previous call's next_cursor to fetch older messages. \| [connect_invites] Pagination cursor from a previous response's 'next_cursor'; omit on the first call. (string) |
43
45
  | `--lookup_type` | No | [lookup] What to look up: 'users' for team members, 'channels' for channels/conversations, 'all' for both. (string, one of: users, channels, all) |
44
46
  | `--search_query` | No | [lookup] Optional search query to filter results by name. Case-insensitive partial match on name, display name, or real name. (string) |
45
47
  | `--include_bots` | No | [lookup] Whether to include bot users in results. Default: false (boolean) |
46
- | `--timestamp` | No | [react] The message's 'ts' value (e.g. '1752600000.000100'). (string) |
48
+ | `--timestamp` | No | [react] The message's 'ts' value (e.g. '1752600000.000100'). \| [update] The message's 'ts' value (e.g. '1752600000.000100'). Must be a message the connected user authored. \| [delete] The message's 'ts' value (e.g. '1752600000.000100'). Must be a message the connected user authored. \| [permalink] The message's 'ts' value (e.g. '1752600000.000100'). (string) |
47
49
  | `--reaction` | No | [react] Slack emoji name without colons, e.g. 'thumbsup', '+1', 'heart', 'joy'. (string) |
48
50
  | `--remove` | No | [react] Set true to remove your existing reaction of this emoji instead of adding it. Default: false. (boolean) |
49
51
  | `--content` | No | [upload] Text content to upload as a file (UTF-8). Provide exactly one of 'content' or 'file_path'. (string) |
50
52
  | `--file_path` | No | [upload] File to upload: a local server file path, a Genspark file-wrapper URL (https://…/api/files/s/<code>), or an AI Drive path (aidrive://…). Provide exactly one of 'content' or 'file_path'. (string) |
51
53
  | `--file_name` | No | [upload] File name shown in Slack (include the extension, e.g. 'report.pdf'). Required with 'content'; defaults to the path basename for 'file_path'. (string) |
52
54
  | `--initial_comment` | No | [upload] Optional message text posted together with the file. (string) |
55
+ | `--text` | No | [update] The full replacement text (mrkdwn) — Slack replaces the whole message body, not a diff. (string) |
56
+ | `--invite_id` | No | [connect_approve] The Slack Connect invite ID (e.g. 'I…'), from the connect_invites list. \| [connect_decline] The Slack Connect invite ID (e.g. 'I…'), from the connect_invites list. (string) |
57
+ | `--target_team` | No | [connect_approve] Optional team/enterprise ID of the other party in the invitation. \| [connect_decline] Optional team/enterprise ID of the other party in the invitation. (string) |
53
58
 
54
59
  ## See Also
55
60
 
@@ -5,8 +5,9 @@ description: Continue an existing task project you previously created with creat
5
5
  by sending a follow-up instruction — use this to edit, revise, or extend an existing
6
6
  deliverable (e.g. 'add a slide on pricing', 'shorten the intro') instead of create_task,
7
7
  which mints and bills a brand-new task. Works for any create_task task type (slides,
8
- docs, sheets, deep_research, website, ...). The project must belong to you. Runs
9
- the agent to completion and returns the task_url plus the updated result artifacts.
8
+ docs, sheets, deep_research, website, ...). The project must belong to you or be
9
+ shared with you with edit (write) permission. Runs the agent to completion and returns
10
+ the task_url plus the updated result artifacts.
10
11
  metadata:
11
12
  category: general
12
13
  requires:
@@ -19,7 +20,7 @@ metadata:
19
20
 
20
21
  **PREREQUISITE:** Read `../gsk-shared/SKILL.md` for auth, global flags, and security rules.
21
22
 
22
- Continue an existing task project you previously created with create_task by sending a follow-up instruction — use this to edit, revise, or extend an existing deliverable (e.g. 'add a slide on pricing', 'shorten the intro') instead of create_task, which mints and bills a brand-new task. Works for any create_task task type (slides, docs, sheets, deep_research, website, ...). The project must belong to you. Runs the agent to completion and returns the task_url plus the updated result artifacts.
23
+ Continue an existing task project you previously created with create_task by sending a follow-up instruction — use this to edit, revise, or extend an existing deliverable (e.g. 'add a slide on pricing', 'shorten the intro') instead of create_task, which mints and bills a brand-new task. Works for any create_task task type (slides, docs, sheets, deep_research, website, ...). The project must belong to you or be shared with you with edit (write) permission. Runs the agent to completion and returns the task_url plus the updated result artifacts.
23
24
 
24
25
  ## Usage
25
26
 
@@ -32,18 +32,19 @@ gsk video [options]
32
32
  | `<query>` (positional) | No | Detailed, self-contained description of the video to generate, written in English. This text is sent to the video model verbatim as the generation prompt, so put all the visual detail here — but NEVER output settings: text like '16:9' or '4 seconds' in the prompt may be rendered literally into the scene. Pass aspect ratio via the `aspect_ratio` parameter and length via `duration`. duration is recommended to be 5 ~ 10 seconds. For image-to-image transitions (user provides start and end frames) e.g., 'A timelapse of a flower blooming in a garden'. Omit when passing the prompt by `query_file` instead. (string) |
33
33
  | `--query_file` | No | Optional. Repo-relative path to a UTF-8 text file containing the prompt, used verbatim in place of `query` (lets you pass a long prompt by path instead of inlining it). Requires `repo_id`. When set, `query` may be omitted. (string) |
34
34
  | `--file_name` | No | The name of the video to generate. (string, null) |
35
- | `-m`, `--model` | Yes | The model to use for video generation. kling/v3: Latest Kling V3 with audio. Pro/Standard quality modes. Supported ratios: 16:9, 9:16, 1:1. Duration: 3-15s. gemini/veo3.1: Gemini Veo 3.1 - Latest version with enhanced quality and features. Supports text-to-video and image-to-video generation with improved quality. Duration: 8s. Supported ratios: 16:9, 9:16. Supports fast_mode (faster generation) and hd_mode (1080p quality). gemini/veo3.1/reference-to-video: Gemini Veo 3.1 Reference-to-Video mode. Generate video using multiple reference images to guide the generation. Requires 1+ reference images. Duration: 8s. Supported ratios: 16:9, 9:16. Supports fast_mode and hd_mode options. gemini/veo3.1/first-last-frame-to-video: Veo 3.1 First-Last Frame mode. Generate video by specifying first and last frames for precise transitions. Requires exactly 2 images. Duration: 8s. Supported ratios: 16:9, 9:16. Supports fast_mode and hd_mode options.minimax/hailuo-2.3/standard: MiniMax Hailuo-2.3 Standard model for high-quality video generation. Supports both text-to-video and image-to-video generation with improved quality. Supports first & last frame control for precise video transitions. Fast generation (about 4min one video), cost-effective option. Supported ratios: 16:9, 9:16. Duration: 6s, 10s wan/v2.7: Wan v2.7 with enhanced motion smoothness and scene fidelity. Supports text-to-video, image-to-video, reference-to-video, and edit-video. Ratios: 16:9, 9:16, 1:1. Duration: 5s. Resolution: 480p, 720p vidu/q3: Vidu Q3 model with enhanced quality and audio generation. Supports both text-to-video and image-to-video generation. Supported ratios: 16:9, 9:16, 4:3, 3:4, 1:1. Duration: 1-16s. Resolution: 720p, 1080prunway/gen4_turbo: A model for generate video with high quality, fast.Supported ratios: 5:3, 3:5. Only support i2v. Duration: 5s, 10spixverse/v6: PixVerse V6 latest model with lifelike motion, richer skin detail, real emotions. Full cinematic control including choreography and camera. Supports text-to-video, image-to-video, transition, and video extend generation. VFX, time-lapse, transformation scenes, product demos, 360° views, multi-shot storytelling. Extend: pass video_url to extend an existing video. Supported ratios: 16:9, 9:16, 4:3, 1:1, 3:4. Duration: 5s, 8s. fal-ai/bytedance/seedance-2.0: Bytedance Seedance 2.0 model for highest quality video generation with native audio and lip-sync. Supports text-to-video and image-to-video with first/last frame control. Supported ratios: 21:9, 16:9, 4:3, 1:1, 3:4, 9:16. Duration: 4-15s. Resolution: 480p, 720p. Also supports reference-to-video with up to 9 images, 3 videos, or 3 audio refs via settings.fal-ai/bytedance-upscaler/upscale/video: ByteDance Video Upscaler for enhancing video quality. Upscales videos to higher resolutions (2k) Requires video_url parameter. Does NOT generate new videos. Use when user wants to improve quality of existing videos.xai/grok-imagine-video: xAI Grok Imagine Video model for high-quality video generation. Supports both text-to-video and image-to-video generation. 720p HD output. Flexible duration 1-15 seconds. Supported ratios: 16:9, 4:3, 1:1, 3:4, 9:16, 21:9, 9:21. Duration: 1-15s. xai/grok-imagine-video/video-extension: xAI Grok Imagine Video Extension for extending existing videos. Requires video_url parameter with source video URL (MP4, 2-15s). 720p HD output. Duration: 2-10s. Ratios: 16:9, 4:3, 1:1, 3:4, 9:16, 21:9, 9:21.alibaba/happy-horse: Alibaba Happy Horse text-to-video model. High-quality video generation from text. Supported ratios: 16:9, 9:16, 1:1, 4:3, 3:4, 21:9, 9:21, 5:4, 4:5. Duration: 3-15s. Resolution: 720p, 1080p.alibaba/happy-horse/reference-to-video: Alibaba Happy Horse reference-to-video. Generate video from 1-9 reference images; address subjects in the prompt as character1..character9 (order matches image_urls). Requires image_urls. Supported ratios: 16:9, 9:16, 1:1, 4:3, 3:4, 21:9, 9:21, 5:4, 4:5. Duration: 3-15s. Resolution: 720p, 1080p.alibaba/happy-horse/video-edit: Alibaba Happy Horse video-edit. Edit a source video using a text prompt; optional 1-5 reference images addressed as @Image1..@Image5. Requires video_url (MP4/MOV, 3-60s). Output preserves source aspect ratio, capped at 15s. Resolution: 720p, 1080p.gemini/omni-flash: Google's multimodal video model with native audio. Supports text-to-video, image-to-video (1 image as first frame), reference-to-video (set reference_mode with image_urls to use images as subject/style references — even a single image; 2+ images are references by default), and video editing (pass video_url to edit an existing clip — restyle, restage, add objects). Bind image roles in the prompt with <FIRST_FRAME> / <IMAGE_REF_0>. Ratios: 16:9, 9:16. Duration: 3-10s. Resolution: 720p. (string, one of: kling/v3, gemini/veo3.1, gemini/veo3.1/reference-to-video, gemini/veo3.1/first-last-frame-to-video, minimax/hailuo-2.3/standard, wan/v2.7, vidu/q3, runway/gen4_turbo, pixverse/v6, fal-ai/bytedance/seedance-2.0, fal-ai/bytedance-upscaler/upscale/video, xai/grok-imagine-video, xai/grok-imagine-video/video-extension, alibaba/happy-horse, alibaba/happy-horse/reference-to-video, alibaba/happy-horse/video-edit, gemini/omni-flash) |
35
+ | `-m`, `--model` | Yes | The model to use for video generation. kling/v3: Latest Kling V3. Supports native audio, but generates a SILENT video unless audio_enable=true. Pro/Standard tiers (set via the tier parameter). Supported ratios: 16:9, 9:16, 1:1. Duration: 3-15s. gemini/veo3.1: Gemini Veo 3.1 - Latest version with enhanced quality and features. Supports text-to-video and image-to-video generation with improved quality. Duration: 8s. Supported ratios: 16:9, 9:16. Supports tier (standard \| fast) and hd_mode (1080p quality). gemini/veo3.1/reference-to-video: Gemini Veo 3.1 Reference-to-Video mode. Generate video using multiple reference images to guide the generation. Requires 1+ reference images. Duration: 8s. Supported ratios: 16:9, 9:16. Supports tier (standard \| fast) and hd_mode options. gemini/veo3.1/first-last-frame-to-video: Veo 3.1 First-Last Frame mode. Generate video by specifying first and last frames for precise transitions. Requires exactly 2 images. Duration: 8s. Supported ratios: 16:9, 9:16. Supports tier (standard \| fast) and hd_mode options.minimax/h3: MiniMax H3 next-generation 2K video model. Supports text-to-video, image-to-video with first/last frame control, and reference-to-video (up to 9 reference images, 3 reference videos, 3 reference audio clips refer to them in the prompt as 'Image 1', 'Video 1', 'Audio 1', not @-style). Keyframes and references are mutually exclusive. Supported ratios: adaptive, 21:9, 16:9, 4:3, 1:1, 3:4, 9:16. Duration: 5-15s. Resolution: 2K. wan/v2.7: Wan v2.7 with enhanced motion smoothness and scene fidelity. Supports text-to-video, image-to-video, reference-to-video, and edit-video. Ratios: 16:9, 9:16, 1:1. Duration: 5s. Resolution: 480p, 720p vidu/q3: Vidu Q3 model with enhanced quality and audio generation. Supports both text-to-video and image-to-video generation. Supported ratios: 16:9, 9:16, 4:3, 3:4, 1:1. Duration: 1-16s. Resolution: 720p, 1080prunway/gen4_turbo: A model for generate video with high quality, fast.Supported ratios: 5:3, 3:5. Only support i2v. Duration: 5s, 10spixverse/v6: PixVerse V6 latest model with lifelike motion, richer skin detail, real emotions. Full cinematic control including choreography and camera. Supports text-to-video, image-to-video, transition, and video extend generation. VFX, time-lapse, transformation scenes, product demos, 360° views, multi-shot storytelling. Extend: pass video_url to extend an existing video. Supported ratios: 16:9, 9:16, 4:3, 1:1, 3:4. Duration: 5s, 8s. fal-ai/bytedance/seedance-2.0: Bytedance Seedance 2.0 model for highest quality video generation with native audio and lip-sync. Supports text-to-video and image-to-video with first/last frame control. Supported ratios: 21:9, 16:9, 4:3, 1:1, 3:4, 9:16. Duration: 4-15s. Resolution: 480p, 720p; hd_mode renders native 1080p (~2.25x cost; fast/mini tiers stay 720p). tier picks the variant: standard, fast, or mini (cheapest, ~half the standard price). Also supports reference-to-video with up to 9 images, 3 videos, or 3 audio refs via settings.fal-ai/bytedance-upscaler/upscale/video: ByteDance Video Upscaler for enhancing video quality. Upscales videos to higher resolutions (2k) Requires video_url parameter. Does NOT generate new videos. Use when user wants to improve quality of existing videos.xai/grok-imagine-video: xAI Grok Imagine Video model for high-quality video generation. Supports both text-to-video and image-to-video generation. 720p HD output. Flexible duration 1-15 seconds. Supported ratios: 16:9, 4:3, 1:1, 3:4, 9:16, 21:9, 9:21. Duration: 1-15s. xai/grok-imagine-video/video-extension: xAI Grok Imagine Video Extension for extending existing videos. Requires video_url parameter with source video URL (MP4, 2-15s). 720p HD output. Duration: 2-10s. Ratios: 16:9, 4:3, 1:1, 3:4, 9:16, 21:9, 9:21.alibaba/happy-horse: Alibaba Happy Horse text-to-video model. High-quality video generation from text. Supported ratios: 16:9, 9:16, 1:1, 4:3, 3:4, 21:9, 9:21, 5:4, 4:5. Duration: 3-15s. Resolution: 720p, 1080p.alibaba/happy-horse/reference-to-video: Alibaba Happy Horse reference-to-video. Generate video from 1-9 reference images; address subjects in the prompt as character1..character9 (order matches image_urls). Requires image_urls. Supported ratios: 16:9, 9:16, 1:1, 4:3, 3:4, 21:9, 9:21, 5:4, 4:5. Duration: 3-15s. Resolution: 720p, 1080p.alibaba/happy-horse/video-edit: Alibaba Happy Horse video-edit. Edit a source video using a text prompt; optional 1-5 reference images addressed as @Image1..@Image5. Requires video_url (MP4/MOV, 3-60s). Output preserves source aspect ratio, capped at 15s. Resolution: 720p, 1080p.gemini/omni-flash: Google's multimodal video model with native audio. Supports text-to-video, image-to-video (1 image as first frame), reference-to-video (set reference_mode with image_urls to use images as subject/style references — even a single image; 2+ images are references by default), and video editing (pass video_url to edit an existing clip — restyle, restage, add objects). Bind image roles in the prompt with <FIRST_FRAME> / <IMAGE_REF_0>. Ratios: 16:9, 9:16. Duration: 3-10s. Resolution: 720p. (string, one of: kling/v3, gemini/veo3.1, gemini/veo3.1/reference-to-video, gemini/veo3.1/first-last-frame-to-video, minimax/h3, wan/v2.7, vidu/q3, runway/gen4_turbo, pixverse/v6, fal-ai/bytedance/seedance-2.0, fal-ai/bytedance-upscaler/upscale/video, xai/grok-imagine-video, xai/grok-imagine-video/video-extension, alibaba/happy-horse, alibaba/happy-horse/reference-to-video, alibaba/happy-horse/video-edit, gemini/omni-flash) |
36
36
  | `-i`, `--image_urls` | No | The URLs of the images to use as reference key frames for the video generation. For single image models, provide 1 image. For multi-image models (like kling/v1.6/pro/elements), provide 1-4 images in sequence order. For start-end models (like vidu, pixverse), provide exactly 2 images (start and end frames). (default is [], if the task is based on one or more reference images, it is required) IMPORTANT: without reference_mode, the first image becomes the video's literal opening frame — identity markers visible in it (flags, jerseys, text, logos, faces) persist in the output and the text prompt CANNOT override them. When generating a batch of subject-specific clips (per-country / per-person / per-product), each clip needs an image matching its own subject — never reuse another subject's image. (array) |
37
- | `-r`, `--aspect_ratio` | No | The aspect ratio of the video to generate. For image-to-video (i2v) generation, this should match the aspect ratio of your input image(s). Ratios unsupported by the chosen model fall back to its default. (string, one of: 16:9, 9:16, 1:1, 4:3, 3:4, 21:9, 9:21, 5:4, 4:5, 5:3, 3:5) |
37
+ | `-r`, `--aspect_ratio` | No | The aspect ratio of the video to generate. For image-to-video (i2v) generation, this should match the aspect ratio of your input image(s). Ratios unsupported by the chosen model fall back to its default (5:4 and 4:5 are only supported by alibaba/happy-horse). OMIT this parameter for MiniMax H3's native adaptive framing (adaptive is not an enum value). (string, one of: 16:9, 9:16, 1:1, 4:3, 3:4, 21:9, 9:21, 5:4, 4:5) |
38
38
  | `-d`, `--duration` | No | The duration of the video to generate in seconds. (number, default: `5`) |
39
39
  | `-a`, `--audio_url` | No | Audio URL for audio integration in video generation. - Optional for Wan v2.5 model (custom audio: music or speech, WAV/MP3, 3-10s, up to 15MB) - Required for OmniHuman model (audio-driven animation) Leave empty if no audio is needed. (string, default: ``) |
40
40
  | `--video_url` | No | Source video URL for video extension. Required for Grok Imagine Video Extension (extend existing video). Supports both web URLs and AI Drive paths (starting with '/' or 'aidrive://') (string, default: ``) |
41
- | `--video_urls` | No | Reference video URLs for reference-to-video models. For Wan v2.7 and Seedance 2.0 reference-to-video: provide 1-3 reference videos and refer to them in the prompt as @Video1, @Video2, @Video3. Seedance 2.0 also needs reference_mode plus at least one image_url; combined video duration 2-15s. (array, default: `[]`) |
42
- | `--audio_urls` | No | Reference audio URLs for Seedance 2.0 reference-to-video. Provide up to 3 audio clips (MP3/WAV) and refer to them in the prompt as @Audio1, @Audio2, @Audio3 (e.g. to drive lip-sync or match a voice). Combined duration must not exceed 15s. Requires reference_mode plus at least one image_url (image_urls is what activates the seedance-2.0/ref route). Distinct from audio_url, the single-clip Wan v2.5 / OmniHuman field. (array, default: `[]`) |
41
+ | `--video_urls` | No | Reference video URLs for reference-to-video models. For Wan v2.7 and Seedance 2.0 reference-to-video: provide 1-3 reference videos and refer to them in the prompt as @Video1, @Video2, @Video3. Seedance 2.0 also needs reference_mode plus at least one image_url; combined video duration 2-15s. For MiniMax H3: up to 3 motion reference videos (each 2-15s, ≤15s combined), referred to in the prompt as 'Video 1' etc. (array, default: `[]`) |
42
+ | `--audio_urls` | No | Reference audio URLs for reference-to-video models. For Seedance 2.0: provide up to 3 audio clips (MP3/WAV) and refer to them in the prompt as @Audio1, @Audio2, @Audio3 (e.g. to drive lip-sync or match a voice). Combined duration must not exceed 15s. Requires reference_mode plus at least one image_url (image_urls is what activates the seedance-2.0/ref route). For MiniMax H3: up to 3 audio references (each 2-15s, ≤15s combined; 'Audio 1' prompt style), must be paired with at least one reference image or video. Distinct from audio_url, the single-clip Wan v2.5 / OmniHuman field. (array, default: `[]`) |
43
43
  | `--repo_id` | No | Optional. Second Brain repo id (provided in the agent's system prompt). Required only when image_urls / audio_url / video_url / video_urls contain relative paths from a Second Brain project (e.g. 'assets/clip.mp4'). Absolute http(s) URLs and data: URLs do not need this parameter. (string) |
44
- | `--fast_mode` | No | Enable fast mode for quicker generation at lower cost. Applicable to Veo 3.1 and Seedance 2.0 models. Default: false. (boolean, default: `False`) |
45
- | `--hd_mode` | No | Enable HD (1080p) mode for higher quality output. Only applicable to Veo 3.1 models. Higher cost (2x). Default: false. (boolean, default: `False`) |
46
- | `--reference_mode` | No | Enable reference-to-video mode: provided images guide character/style rather than being used as the first frame. Requires image_urls. For Seedance 2.0: routes to seedance-2.0/ref (combinable with fast_mode, supports up to 9 reference images plus optional reference video/audio). For Veo 3.1 base model: upgrades to veo3.1/reference-to-video. Ignored on other models. Default: false. (boolean, default: `False`) |
44
+ | `--audio_enable` | No | Set true when the user wants audio, voiceover, or narration. kling/v3 outputs a SILENT video unless true (audio costs more per second). Omit to keep each model's default (kling: off; seedance/veo: on). (boolean) |
45
+ | `--tier` | No | Model tier (options are model-specific — check get_model_info tier_options). Seedance 2.0: standard \| fast (quicker/cheaper, 720p cap) \| mini (cheapest, ~half the standard price, 720p cap). Veo 3 / Veo 3.1 family: standard \| fast (quicker, lower cost). Kling V3/O3/Motion Control: pro \| standard. Models without tiers ignore it. (string, one of: standard, fast, mini, pro) |
46
+ | `--hd_mode` | No | Enable HD (1080p) mode for higher quality output. Applicable to Veo 3.1 (2x cost) and Seedance 2.0 standard/reference (~2.25x cost; fast tier stays 720p). Default: false. (boolean, default: `False`) |
47
+ | `--reference_mode` | No | Enable reference-to-video mode: provided images guide character/style rather than being used as the first frame. Requires image_urls. For Seedance 2.0: routes to seedance-2.0/ref (combinable with the fast/mini tiers, supports up to 9 reference images plus optional reference video/audio). For Veo 3.1 base model: upgrades to veo3.1/reference-to-video. For MiniMax H3: treats images as subject/style references instead of keyframes (any video_urls/audio_urls also force reference mode). Ignored on other models. Default: false. (boolean, default: `False`) |
47
48
 
48
49
  ## Local File Support
49
50