io.github.poweredbyGEN/gen-mcp-server
The auto-content engine for ads, cartoons, AI UGC, and microdramas, with a free video editor.
- Created
- 7 months ago
- Last commit
- 2 months ago
Security Findings
Tool name/behavior mismatch2×
MaliciousScannergen_ask: Handler sends "auto_confirm": true to /agent/run, automatically approving the platform's pending agent action gates, while the description only mentions polling to completion and never discloses auto-approval (a separate gen_decide_agent_run tool exists for manual gate approval).
gen_chat: Handler sends "auto_confirm": true when starting a composer run, silently bypassing the platform's awaiting_approval action gates; the description presents this as a build/planning tool and does not disclose automatic confirmation of pending actions.
Dangerous parameter surface
SuspiciousScanner1 tool(s) expose a command-execution parameter: gen_generate_voice_description.script
No license file
SuspiciousLineageNo license file at the repo root and GitHub's licenseInfo is empty — code's legal status is unclear
No tagged releases
SuspiciousLineageRepo ships no git tags and no GitHub releases — consumers cannot pin to stable, reviewable versions
Tools
150 tools exposed by this MCP server
gen_ask
Step 2 (Content Ideas): Ask GEN a question about real social media data and get an answer grounded in the GEN data warehouse. Use for any question about a video link, account, hashtag, trend, sound, hook, comment, or creator — across TikTok, Instagram, YouTube, and more. Examples: 'What is this TikTok about? https://tiktok.com/@x/video/123', 'Top creators in #skincare last 30 days', 'Best time to post for fitness content'. Paste social/video links directly in the question. Polls /agent/run to completion by default.
gen_chat
Step 2 (Content Ideas): Send an open-ended natural-language BUILD goal to the GEN composer. Use for multi-step goals like 'Create a 5-scene video about Roman history and schedule it' or 'Duplicate this row and make it punchier'. The composer plans and executes across the GEN platform. For questions about data/videos/creators, use gen_ask instead. For exact single operations, use the specific gen_* tool.
gen_generate_voice_description
Step 1 (Agent Setup) — Voice design 2/4: generate style descriptors (tone, pace, energy). Requires gender.
gen_add_agent_account
Step 1 (Agent Setup): Add one social account to the agent (the agent's OWN account, not an inspiration source). Detects platform from URL if not provided.
gen_add_agent_inspiration
Step 1 (Agent Setup): Add one inspiration source URL to the agent. These are creators/accounts the agent draws style from — NOT the agent's own socials.
gen_add_agent_look
Step 1 (Agent Setup): Attach an uploaded image as an additional look (non-primary) on the agent. Use after gen_create_direct_upload + PUT-ing the file bytes to the returned upload URL: pass the direct-upload response's signed_id here. Existing primary avatar is preserved. Use gen_set_agent_primary_photo when the image should become the primary photo.
gen_add_watchlist_source
Step 3 (Monitoring): Add a monitoring source to an existing watchlist, or restore one that was previously removed. Idempotent on (platform, target_type, target_value) — adding the same source twice returns the existing row. target_type must be one of: account (a username/handle), hashtag (a tag name), or keyword (free text search).
gen_buy_credits
Step 5 (Export & Publish): Start a credit purchase (Stripe checkout) — returns a payment link the user opens to pay. ALWAYS confirm the plan and price with the user BEFORE calling; this initiates a real money charge. Use when the user is out of credits and wants to buy more.
gen_clone_engine
Step 3 (Idea to Vidsheet): Clone an existing engine, optionally to a different agent. Useful for duplicating proven pipelines across brands.
gen_clone_template
Step 3 (Idea to Vidsheet): Clone a template into an agent's workspace. FASTEST path to a production-ready vidsheet with pre-configured columns. Returns the new engine with its engine_id.
gen_clone_voice
Step 1 (Agent Setup): Clone a voice from an existing audio sample. Pass EITHER audio_url (preferred; server downloads it) OR audio_base64 (inline bytes for small clips). Synchronous — returns the created voice immediately. Shows up under source=user_trained.
gen_complete_asset_upload
Step 4 (Edit & Generate): Attach an already-uploaded blob to the agent's durable asset library. Use after gen_create_direct_upload has returned a signed_id and you have PUT the file bytes to the upload URL. Returns the content_resource id and permanent CDN URL.
gen_connect_agent_elevenlabs
Step 1 (Agent Setup): Connect the user's ElevenLabs API key to the agent. Validates the key before saving. Once connected, gen_list_agent_voices includes the user's ElevenLabs voices as source=user_elevenlabs.
gen_continue_generation
Step 4 (Edit & Generate): Continue a previously stopped generation. Credits are re-charged.
gen_create_agent
Step 1 (Agent Setup): Create a new agent inside a workspace. After creation, use gen_update_agent_core to fill in identity, overview, personality, voice, and inspiration sources.
gen_create_agent_avatar
Step 1 (Agent Setup): Create an avatar for an agent using a DeGod avatar ID (for file uploads, use the API directly via direct_upload + a PATCH to the agent).
gen_create_agent_profile
Step 1 (Agent Setup): Initialize an agent's profile on the agentic service. Send any combination of identity, voice, and brand sections. Identity: name, description, persona. Voice: API keys and default_voice. Brand: brand_name, description, goal, keywords, target_platforms, shortform, longform, linked_accounts, content_idea_preferences.
gen_create_api_key
Step 1 (Agent Setup): Create a new Personal Access Token. The plain-text token is returned ONCE — store it securely.
gen_create_column
Step 4 (Edit & Generate): Create a new ingredient column in a vidsheet. The column type enum is derived from the Rails Vidsheet schema. To place it, create it first then use gen_reorder_columns; models never set raw editor positions.
gen_create_content_resource
Step 4 (Edit & Generate): Create a content resource from a signed_id. Use gen_create_direct_upload first to upload the file, then pass the signed_id here.
gen_create_direct_upload
Step 4 (Edit & Generate): Get a pre-signed S3 URL for direct file upload. Two-step: (1) call this, (2) PUT the file to the returned URL, (3) pass the returned signed_id to gen_create_content_resource.
gen_create_engine
Step 3 (Idea to Vidsheet): Create a new empty Auto Content Engine (vidsheet) for an agent. Prefer gen_clone_template (fastest) unless neither fits — templates come pre-configured with the right columns for common workflows. After cloning, PATCH cells to inject the idea's fields.
gen_create_image
Step 4 (Edit & Generate): Generate an image from a text prompt. version selects the image model: 'nano-banana-pro' (highest quality, default), 'nano-banana' (fast), 'nano-banana-2' (balanced). aspect_ratio: 1:1 | 9:16 | 16:9. Pass reference_images (public URLs) for image-to-image identity-preserving generation (same face/product in a new scene). Paid — returns a generation_id to poll with gen_get_generation.
gen_create_layer
Step 4 (Edit & Generate): Create a new layer inside a video cell. Layer type is derived from the Rails Vidsheet schema. Use gen_reorder_layers for editor-track order, never a raw position.
gen_create_look
Step 1 (Agent Setup): Generate one image of the agent's CHARACTER — a 'look'. Use when the user says 'generate a look for me', 'show my character at the beach', etc. Pass reference_images (public photo URLs of the character) to preserve their face/identity. Paid — returns a generation_id to poll with gen_get_generation.
gen_create_monitoring_job
Step 2 (Content Ideas): Start monitoring or scraping social media content to feed future idea generation. Supports 3 platforms: tiktok, instagram, youtube. Search types: username (@creator), hashtag (#topic), keyword (plain text). Not all platform/type combos are valid — TikTok and YouTube support all three; Instagram supports username+hashtag only. Set monitoring=true for ongoing scheduled scraping, false for one-time (default). Scraped data is queried through the agent chat, not returned directly. This is a paid operation.
gen_create_organization
Step 1 (Agent Setup): Create a new organization/workspace. You become owner automatically. Only needed if the user doesn't already have a workspace.
gen_create_proof_of_genesis_backup
Step 4 (Assets): Manually back up a GEN image or video asset to Walrus for the monthly Proof of Genesis storage period, or record an automatic asset event. Automatic backup defaults to downloaded/published assets when enabled. Public assets may be uploaded raw. Private assets must be encrypted before upload because Walrus blobs are public by default. Charges operation backup_to_blockchain with GB-month units after successful upload/readback verification.
gen_create_recurring_job
Step 3 (Monitoring): Create a recurring agent job ('daily task'). job_type=generate_content_ideas is the most common default. schedule.cadence ∈ {daily, weekly}; pass timezone (e.g. 'UTC' or 'America/Los_Angeles') and time_of_day ('HH:MM' 24h) for predictable firing. For weekly cadence, days_of_week (0=Mon … 6=Sun) is REQUIRED; for daily it must be omitted. delivery.type ∈ {chat_only, email}; when type=email, the email address is REQUIRED. Each scheduled run is credit-gated: the job remains configured if credits run out and resumes when they return.
gen_create_row
Step 4 (Edit & Generate): Create a new row in a vidsheet. Each row is one piece of content.
gen_create_song
Step 4 (Edit & Generate): Generate one original song/music track. model: suno-v5-beta (default, best quality) | suno-v4.5plus-beta (supports up to 8 min). duration: seconds (default 60, max 480). Pass style for genre/mood, title for a named track, negative_tags for styles to avoid, vocal_gender ('m'/'f'), instrumental=true for no vocals. For audio-to-audio conditioning, pass source_audio_resource_id (preferred) or source_audio_url plus audio_weight (0.0-1.0). Paid — returns a generation_id to poll with gen_get_generation.
gen_create_song_mix
Public API (agent.gen.pro): Create a DJ-style song-mix job that combines multiple songs/tracks into one long audio output. Use for 'mix these 5 songs', 'combine these tracks into one long song', or 'create 5 songs and combine them'. Returns status=pending_engine until the Mixxx-compatible renderer worker is installed, or pending_song_generation when songs must be generated first.
gen_create_variable
Step 4 (Edit & Generate): Create a global variable (name + value) on a vidsheet. Variables are used for template substitution in prompts and content (e.g. {{brand_name}}).
gen_create_video
Step 4 (Edit & Generate): Generate one raw video clip from a text prompt. model: seedance-2.0 (default) | seedance-1.0-lite/1.0-pro/1.5-pro | veo_3 | veo_3_1 | kling_2_1 | kling_2_6 | sora_2 | pika | grok. resolution: 1080p (default) | 720p. Seedance 2.0 supports duration 4-15s. Paid — returns a generation_id to poll with gen_get_generation. For a complete multi-scene video from a brief, use gen_chat instead.
gen_create_watchlist
Step 3 (Monitoring): Create a new watchlist for an agent, optionally with initial sources. Idempotent on watchlist name (case-insensitive): if a watchlist with the same name already exists, the provided sources are merged into it instead of creating a duplicate. Each source is (platform, target_type ∈ account|hashtag|keyword, target_value). Returns the full watchlist including all active sources.
gen_decide_agent_run
Step 2 (Content Ideas): Approve or reject a pending agent action gate. Use when gen_get_run_status returns awaiting_approval. Pass approved=true to continue the run, approved=false to reject and fail it.
gen_delete_agent
Step 1 (Agent Setup): Soft-delete an agent (requires owner/manager role or being the creator).
gen_delete_agent_avatar
Step 1 (Agent Setup): Delete one or more avatars from an agent (separate multiple IDs with underscores).
gen_delete_asset
Step 4 (Edit & Generate): Delete a content resource from the agent's asset library.
gen_delete_column
Step 4 (Edit & Generate): Delete a column from a vidsheet. Only ingredient-role columns can be deleted. Destructive: the first call returns a would_destroy preview plus a confirm_token; show the preview to the user, then call again with confirm_token to actually delete.
gen_delete_content_resource
Step 4 (Edit & Generate): Permanently delete a content resource and its associated file.
gen_delete_layer
Step 4 (Edit & Generate): Delete a layer from a cell. Destructive: the first call returns a would_destroy preview plus a confirm_token; show the preview to the user, then call again with confirm_token to actually delete.
gen_delete_organization
Step 1 (Agent Setup): Permanently delete an organization and all associated data (requires owner role, irreversible).
gen_delete_recurring_job
Step 3 (Monitoring): Soft-delete a recurring job. status → 'deleted'. The job stops running and no longer appears in gen_list_recurring_jobs. Use gen_pause_recurring_job if you only want to temporarily stop runs. Returns 204 No Content on success.
gen_delete_scheduled_post
Step 5 (Export & Publish): Delete a scheduled post from the content calendar.
gen_delete_variable
Step 4 (Edit & Generate): Delete a global variable from a vidsheet. Destructive: the first call returns a would_destroy preview plus a confirm_token; show the preview to the user, then call again with confirm_token to actually delete.
gen_delete_voice
Step 1 (Agent Setup): Delete a user-owned voice (designed or trained). Returns 404 if the voice doesn't belong to the agent.
gen_delete_watchlist
Step 3 (Monitoring): Soft-delete a watchlist. Marks the watchlist and all its sources as inactive and deleted. The data is retained but no longer returned by gen_list_watchlists or gen_get_watchlist. Use gen_pause_watchlist if you only want to temporarily stop monitoring.
gen_design_voice
Step 1 (Agent Setup) — Voice design 4/4: finalize a designed voice by picking one of the candidates from step 3. Persists the new voice; shows up in gen_list_agent_voices under source=user_designed.
gen_disconnect_social
Step 5 (Export & Publish): Disconnect a connected social account from the agent. platform: tiktok | instagram | facebook | youtube | x.
gen_duplicate_recurring_job
Step 3 (Monitoring): Copy a recurring job to a different vidsheet. The copy inherits the source's prompt (rewritten to the new sheet), schedule, delivery settings, and actions. Returns 409 if the destination sheet already has an automation. Use when you want to run the same workflow on a different sheet without rebuilding it from scratch.
gen_duplicate_row
Step 4 (Edit & Generate): Duplicate an existing row, including its ingredient cell values. Useful for batch-generating variants from a known-good row.
gen_ensure_default_recurring_job
Step 3 (Monitoring): Idempotently ensure the agent has the default daily content-ideas recurring job. If one already exists for this agent, returns it without changes; otherwise creates it with the standard prompt ('Generate content ideas'), daily cadence at 09:00 UTC, and chat_only delivery. The response 'created' field indicates whether a new job was created (true) or an existing one was returned (false).
gen_estimate_job
Step 4 (Edit & Generate): Estimate the credit cost of one or more generation jobs BEFORE running them. Free to call. Pair with gen_get_credit_balance to check affordability before a paid run.
gen_expand_idea
Step 2 (Content Ideas): Expand a single content idea into a full project_manifest (the structured layer/scene plan a vidsheet is built from). Use this before cloning an idea into a vidsheet in Step 3 when the idea was generated without a manifest. Idempotent — returns the cached manifest if the idea is already expanded. Note the path has no /agent/ segment.
gen_generate_content
Step 4 (Edit & Generate): THE WORKHORSE. Trigger AI content generation for a cell. Returns a generation_id — poll with gen_get_generation until status is \"completed\". Canonical generation types (legacy names also accepted): - TEXT: generation_type=\"text\", data={model:\"gemini_2_0_flash\"|\"gpt_4o\"|..., prompt:\"...\"} - IMAGE: generation_type=\"image_from_text\", data={prompt:\"...\", model:\"gemini_image\"|\"gemini_pro_image\"|\"midjourney\"|\"grok\", aspect_ratio:\"1:1\"|\"9:16\"|\"16:9\"} - VIDEO (text): generation_type=\"video_from_text\", data={prompt:\"...\", model:\"veo_3\"|\"veo_3_1\"|\"sora_2\"|\"kling_1_6\"|\"kling_2_1\"|\"kling_2_6\"|\"seedance_pro\"|\"seedance-2.0\"|\"grok\"|..., duration:5|10} - VIDEO (image): generation_type=\"video_from_image\", data={prompt:\"...\", model:\"kling_2_1\"|\"kling_2_6\"|\"veo_3\"|\"veo_3_1\"|\"seedance-2.0\"|\"grok\"|..., image_resource_id:123} - VIDEO (ingredients): generation_type=\"video_from_ingredients\", data={prompt:\"...\", model:\"pika\"|\"kling_1_6\"|\"grok\"|..., asset_resource_ids:[...]} - SPEECH: generation_type=\"speech_from_text\", data={voice_id:\"...\", script:\"...\", voice_method:\"my_voices\"|\"design_voice\"|\"clone_voice\", voice_model_provider?:\"supertonic_3\"|\"qwen3_voice_design\"} - LIPSYNC: generation_type=\"lipsync\", data={model:\"sync_so\"|\"gen\", video_resource_id:123, audio_resource_id:456} - CAPTIONS: generation_type=\"captions\", data={model:\"gemini\", source_resource_id:123} - MEDIA: generation_type=\"media\", data={content_resource_id:123} Credits are pre-charged and refunded on failure/stop.
gen_generate_content_ideas
Step 2 (Content Ideas): STARTING POINT. Generates data-driven video content ideas for an agent, analyzing trending videos with engagement-weighted hooks and transcripts. Returns a run_id — poll with gen_get_run_status until completed. Each idea has title, hook, full_script, video_type, estimated_duration, selected_assets[], project_manifest, inspiration_sources, rationale.
gen_generate_layer
Step 4 (Edit & Generate): Trigger generation for a specific layer within a cell. Use when the layer's generation type and data are already configured on the layer.
gen_generate_voice_samples
Step 1 (Agent Setup) — Voice design 3/4: generate 3 candidate audio samples. Returns `{samples: [{generation_id, audio}, ...]}` — pick one and pass its `generation_id` to gen_design_voice to finalize.
gen_generate_voice_script
Step 1 (Agent Setup) — Voice design 1/4: generate a read-aloud script (the text the candidate voice will speak in step 3). Only needed when designing a new voice programmatically; most users do this in the web UI.
gen_get_agent
Step 1 (Agent Setup): Get full details of a specific agent by ID. For reading full setup state (identity + overview + personality + voice + inspiration + accounts), prefer gen_get_agent_core.
gen_get_agent_core
Step 1 (Agent Setup): STAR READ TOOL. Returns all agent setup sections in one call: identity (name + profile photo), overview (brand name, description, identity type, goal, keywords, target platforms), personality, inspiration sources, voice, look (description + reference images), and accounts (the agent's own socials). Always call before gen_update_agent_core.
gen_get_agent_profile
Step 1 (Agent Setup): Get the agent profile from the agentic service (alternate to gen_get_agent_core). Returns grouped sections: identity (name, avatar, persona), voice (API keys, default voice), and brand (keywords, platforms, linked accounts, content_idea_preferences). Useful when agent.gen.pro is the canonical source (content idea preferences live here).
gen_get_asset
Step 4 (Edit & Generate): Get a single content resource including its downloadable CDN URL.
gen_get_cell
Step 4 (Edit & Generate): Get the value and metadata of a specific cell, including any layers, generations, and attached content resources.
gen_get_content_resource
Step 4 (Edit & Generate): Get full details of a content resource, including its public URL and generator info if AI-generated.
gen_get_conversation
Step 2 (Content Ideas): Get a conversation with all messages. Use to review chat history and previously generated ideas before refining.
gen_get_credit_balance
Step 5 (Export & Publish): Get the agent's available credit balance. Check this before paid operations (generate, render, publish) to confirm the workspace has usable credits.
gen_get_credit_usage
Step 5 (Export & Publish): List credit transactions and usage history for an agent. Useful for answering 'how many credits did I spend on video this week?' Read-only.
gen_get_engine
Step 3 (Idea to Vidsheet): Get full details of a vidsheet — returns all columns, rows, and cells in one call. Cheap and fast. Use liberally at the start of Step 4.
gen_get_generation
Step 4 (Edit & Generate): Poll a generation job's status. Flow: pending → processing → completed | failed | stopped. On completion: text in `result`, media URLs in `output_resources`. Poll every 5–10s for video, every 2–5s for text/image.
gen_get_last_operation
Step 4 (Edit & Generate): Get the single next-to-undo change set for a vidsheet (what the undo button would take back). Returns {change_set: ... | null}. Cheaper than gen_list_operations when you only need the top of the undo stack.
gen_get_layer
Step 4 (Edit & Generate): Get details of a specific layer in a cell, including its type, position, additional_attributes, and generation history.
gen_get_me
Step 1 (Agent Setup): Get the authenticated user's profile and workspace memberships. Always call first to verify your PAT and discover which workspaces you have access to.
gen_get_organization
Step 1 (Agent Setup): Get details of a specific organization by ID.
gen_get_post_status
Step 5 (Export & Publish): Check whether a post actually went live. Returns PLATFORM-CONFIRMED publish status — not just 'queued'. Use to answer 'did my post publish?' and 'why did it fail?'. Status flow: accepted → publishing → published | failed. Each platform entry includes platform_post_id, post_url (when published), and error (when failed).
gen_get_recurring_job
Step 3 (Monitoring): Fetch a single recurring job by id. Returns 404 if the job is deleted.
gen_get_run_status
Step 2 (Content Ideas): Poll the status of an agent run. Returns 'running', 'completed', 'failed', or 'awaiting_approval'. When completed, messages array has the result. Poll every 5 seconds.
gen_get_session_preferences
Step 2 (Content Ideas): Read the per-conversation session preferences (temporary creative rules scoped to this one conversation, distinct from the agent's long-term preferences). Returns null if none are set.
gen_get_social_connect_url
Step 5 (Export & Publish): Get an OAuth URL the user opens in a browser to connect a social account for publishing. platform: youtube | tiktok | instagram | facebook | x. The MCP never handles credentials — give the user the returned URL; they approve it in their browser and GEN saves the connection automatically. Confirm afterward with gen_list_connected_socials.
gen_get_template
Step 3 (Idea to Vidsheet): Get details of a specific template by slug, UUID, or ID. Inspect columns and structure before cloning.
gen_get_voice_preview_status
Step 1 (Agent Setup): Poll the status of a TTS preview job from gen_preview_voice. Returns the full user_job — check `.status` (pending/processing/completed/failed) and read the audio from `.output_resources` when completed.
gen_get_voice_sample_status
Step 1 (Agent Setup) — Voice design: Poll a voice-design sample job started by gen_generate_voice_samples. Returns status pending | completed | failed. When completed includes the base64 audio and speaker_embedding_url to pass into gen_design_voice.
gen_get_watchlist
Step 3 (Monitoring): Fetch a single watchlist by id, including its full active sources list. Returns 404 if the watchlist is soft-deleted.
gen_import_asset_from_url
Step 4 (Edit & Generate): Import media from a public URL (YouTube/TikTok/Instagram/direct file URL) into the agent's asset library. No length limit — useful for long B-roll. Returns a job; poll the import status.
gen_list_agent_avatars
Step 1 (Agent Setup): List avatar images for an agent, with the primary avatar first.
gen_list_agent_voices
Step 1 (Agent Setup): List available voices for the agent. Sources: public (shared catalog), user_designed (via prompt flow), user_trained (from audio clone), user_elevenlabs (from connected key). Filter with `source` to narrow. Pick a voice and bind it via gen_update_agent_core voice section.
gen_list_agents
Step 1 (Agent Setup): List agents, optionally filtered by workspace. Use the returned agent_id for ALL downstream content operations (ideas, vidsheets, generations).
gen_list_api_keys
Step 1 (Agent Setup): List all Personal Access Tokens (API keys) for the authenticated user.
gen_list_asset_libraries
Step 4 (Edit & Generate): List the agent's asset library (files and folders) with filtering and search.
gen_list_assets
Step 4 (Edit & Generate): List the agent's content resources / asset library (images, video, audio). Optional type filter. Use to find existing assets before uploading duplicates.
gen_list_columns
Step 4 (Edit & Generate): List all columns in a vidsheet, including role (ingredient/video/final_video/stats) and type.
gen_list_connected_socials
Step 5 (Export & Publish): List which social accounts (tiktok/instagram/facebook/youtube/x) the agent has connected for publishing. Call this before scheduling or publishing a post, or to check if a platform still needs to be connected.
gen_list_content_ideas
Step 2 (Content Ideas): List all generated content ideas for an agent. Filter by status: generated, approve_to_create, ready_for_review, change_idea, change_video, rejected, approved_to_post, posted.
gen_list_content_resources
Step 4 (Edit & Generate): List content resources (files) belonging to an agent, with optional filters. Content resources are the media files (images, videos, audio) referenced by generations like video_from_image or lipsync.
gen_list_conversations
Step 2 (Content Ideas): List agent chat conversations with titles and metadata.
gen_list_credit_plans
Step 5 (Export & Publish): List available credit and subscription plans. Use before gen_buy_credits to show the user their options.
gen_list_my_voices
Step 1 (Agent Setup): List the agent's own custom/created voices (user_voice_resources). These are voices the user has designed, trained, or cloned — not the shared public catalog.
gen_list_operations
Step 4 (Edit & Generate): List recent undoable change sets for a vidsheet (the undo/redo history). Returns {change_sets:[...]} newest-first. Set include_undone=true to also list already-undone change sets. Use gen_get_last_operation to find just the next thing you'd undo, then gen_undo_operation / gen_redo_operation.
gen_list_organizations
Step 1 (Agent Setup): List all organizations/workspaces the authenticated user is a member of, including credits, role, and plan.
gen_list_proof_of_genesis_backups
Step 4 (Assets): List Proof of Genesis / Backup to Blockchain rows for an agent. Use this to show which assets have been backed up to Walrus, including monthly expires_at and renewal_due_at fields. Removed rows are hidden by default; include_removed=true returns audit history.
gen_list_recurring_jobs
Step 3 (Monitoring): List all non-deleted recurring jobs ('daily tasks') for an agent. Returns active, paused, and inactive jobs sorted newest first. Use gen_pause_recurring_job or gen_delete_recurring_job to change state.
gen_list_rows
Step 4 (Edit & Generate): List all rows in a vidsheet. A row is one piece of content; cells across its columns are its ingredients and generated outputs.
gen_list_scheduled_posts
Step 5 (Export & Publish): List scheduled posts (the content calendar). Returns an empty list when the agent has no calendar yet. Optional date range filter.
gen_list_templates
Step 3 (Idea to Vidsheet): List available vidsheet templates. Templates are pre-configured engines — cloning one is the fastest way to start. ALWAYS check templates before creating an engine from scratch.
gen_list_variables
Step 4 (Edit & Generate): Get global variables for a vidsheet. Variables are key-value pairs used for template substitution in prompts and content (e.g. {{brand_name}}).
gen_list_watchlists
Step 3 (Monitoring): List all active watchlists for an agent. Each watchlist contains a name and a list of sources (account/hashtag/keyword) being monitored across platforms. Returns soft-deleted watchlists filtered out.
gen_list_workspaces
Step 1 (Agent Setup): List all workspaces the authenticated user has access to. A workspace is the billing container; every agent lives inside one.
gen_pause_recurring_job
Step 3 (Monitoring): Pause a recurring job. status → 'paused'. The scheduler stops queueing new runs until gen_resume_recurring_job is called. Does NOT delete the job or its history.
gen_pause_watchlist
Step 3 (Monitoring): Pause a watchlist without deleting it. Sets intent_active=false so the scheduler stops queueing scrapes, but the watchlist + its sources are preserved. Use gen_resume_watchlist to re-enable. Use gen_delete_watchlist to permanently remove.
gen_preview_voice
Step 1 (Agent Setup): Generate a TTS preview of a voice saying a given text. Use to audition a voice before binding it via gen_update_agent_core. Returns a user_job_id — poll with gen_get_voice_preview_status.
gen_publish_content
Step 5 (Export & Publish): Publish or schedule content to a social media platform. Currently supports TikTok. The agent must have a connected TikTok social account. For immediate posting use schedule_type='now'. For scheduled posting use schedule_type='scheduled' with a future scheduled_time. This is a paid operation.
gen_query_watchlist
Step 3 (Monitoring): Ask a question about a watchlist with typed filters (timeframe, count, sort, min engagement rate). Wraps the agent chat path that fans out one DW call per watchlist target with byte-identical filters. Use this for programmatic 'top N from @list:foo by engagement rate in the last 90 days' style asks instead of building a natural-language prompt yourself. Returns a run_id you poll with gen_get_run_status; the final answer contains a video grid plus a natural-language summary.
gen_redo_operation
Step 4 (Edit & Generate): Redo the most recently undone change set on a vidsheet (or a specific one by change_set_id). Returns {change_set_id, redone:[...], next_undoable}. Use to re-apply something just undone with gen_undo_operation. Returns nothing_to_redo (422) when there is nothing to redo; 409 redo_conflict — refresh (gen_get_engine) and retry.
gen_refine_content_ideas
Step 2 (Content Ideas): Give feedback on previously generated content ideas to get revised versions. Must pass the conversation_id from the original generation.
gen_remove_proof_of_genesis_backup
Step 4 (Assets): Remove a Proof of Genesis row from the default asset view. This soft-removes the GEN proof record (sets removed_at); it does not guarantee deletion from Walrus or Sui.
gen_remove_watchlist_source
Step 3 (Monitoring): Remove a single source from a watchlist. Pass EITHER source_id (preferred when known) OR all three of platform/target_type/target_value to remove by key. Soft-delete: the source row is marked inactive but retained.
gen_render_video
Step 5 (Export & Publish): Render the final composed video for a cell in a final_video column. Combines all layers (video, audio, text overlays, captions) into one deliverable. Returns a generation_id — poll with gen_get_generation; the final MP4 URL arrives in output_resources when status is completed.
gen_reorder_columns
Step 4 (Edit & Generate): Set the complete left-to-right order of every column in a Vidsheet. Pass every column ID exactly once, including system columns. This is the model-facing replacement for Rails' raw position field.
gen_reorder_layers
Step 4 (Edit & Generate): Set the complete editor-track order of every layer in one Vidsheet cell. Pass every layer ID exactly once, from top to bottom. This is the model-facing replacement for Rails' raw position field.
gen_reset_agent_profile
Step 1 (Agent Setup): Reset the agent's brand configuration on the agentic service. Clears brand name, keywords, platforms, linked accounts, and content preferences. Does NOT delete the agent or voice settings.
gen_resume_recurring_job
Step 3 (Monitoring): Resume a paused recurring job. status → 'active'. The scheduler resumes queueing runs at the configured cadence.
gen_resume_watchlist
Step 3 (Monitoring): Resume a paused watchlist. Sets intent_active=true so the scheduler resumes queueing scrapes for the watchlist's sources.
gen_revoke_all_api_keys
Step 1 (Agent Setup): Revoke ALL of the user's Personal Access Tokens at once. Irreversible — every existing key stops working immediately. Use gen_revoke_api_key to revoke just one.
gen_revoke_api_key
Step 1 (Agent Setup): Revoke (delete) a single Personal Access Token. Use gen_revoke_all_api_keys to revoke every key at once.
gen_run_recurring_job_now
Step 3 (Monitoring): Trigger a recurring job to run immediately without waiting for its next scheduled time. Fires the same execution path as the scheduled run — useful for testing a new job before its first scheduled firing. Returns 202 Accepted with a run_id you can poll via gen_get_run_status.
gen_run_research
Step 2 (Content Ideas): Research a topic across 10+ platforms (Reddit, X, YouTube, TikTok, Instagram, HN, Perplexity, Gemini). Returns structured findings with source counts, citations, and AI synthesis. Use for trend analysis, competitive research, or grounding content ideas in real data.
gen_schedule_post
Step 5 (Export & Publish): Schedule or immediately post content to a social platform. platform: tiktok | instagram | facebook | youtube | x. schedule_type: 'now' for immediate, 'specific_time' with scheduled_time (ISO 8601) for a calendar slot. Pass media_url for a single video, media_urls for images (X supports up to 4). For text-only posts (X only), omit media. timezone_offset is local UTC offset in hours (e.g. -7 for LA daylight time).
gen_set_agent_primary_photo
Step 1 (Agent Setup): Attach an uploaded image and set it as the agent's PRIMARY photo (replacing any existing primary). Use after gen_create_direct_upload + PUT-ing the file bytes to the returned upload URL: pass the direct-upload response's signed_id here. The agent's primary_avatar_url updates immediately. To add as a non-primary look instead, use gen_add_agent_look.
gen_set_content_preference
Step 2 (Content Ideas): Set a persistent content generation rule for an agent. Applies to ALL future generations. Different from per-batch requirements which only apply once. Examples: 'always use statement hooks', 'target women 25-34', 'never mention competitors'.
gen_stop_generation
Step 4 (Edit & Generate): Stop a running generation job. Credits are refunded.
gen_transcribe
Step 4 (Edit & Generate): Transcribe audio or video into text with per-sentence timestamps. Pass EXACTLY ONE source: audio_url (public audio URL) | video_url (public video URL; audio extracted server-side, a video with no audio track fails with a clear error) | content_resource_id (a file already in the agent's GEN content resources). Optional trim_start_seconds + trim_duration_seconds transcribe only a window and must be given together (not supported with content_resource_id). Asynchronous: returns {generation_id, status} — poll gen_get_generation until completed; the result carries full_text (whole transcript), sentences ([{text, startMs, endMs}] for subtitle/timestamp use), and audio_duration. Paid — credits scale with audio duration; out of credits returns error_code insufficient_credits_for_job.
gen_undo_operation
Step 4 (Edit & Generate): Undo the most recent undoable change set on a vidsheet (or a specific one by change_set_id). Returns {change_set_id, undone:[...], next_undoable}. Use after gen_get_last_operation. Returns nothing_to_undo (422) when the stack is empty; 409 undo_conflict means the engine changed under you — refresh (gen_get_engine) and retry.
gen_update_agent
Step 1 (Agent Setup): Update an existing agent's name, description, time zone, or voice keys. For richer setup updates (personality, inspiration, accounts, voice binding), use gen_update_agent_core.
gen_update_agent_core
Step 1 (Agent Setup): STAR WRITE TOOL. Update any combination of agent setup sections in one call: identity, overview, personality, inspiration, voice, look, accounts. Merge semantics for identity + overview + look.description; replace semantics for personality + inspiration + voice + accounts. Returns 200 on full success or 207 with per-section results on partial failure. This is the only supported path for agent setup writes.
gen_update_agent_profile
Step 1 (Agent Setup): Update an existing agent profile on the agentic service. Only send the sections and fields you want to change. Array fields (keywords, platforms, linked_accounts) are replaced entirely, not appended.
gen_update_api_key
Step 1 (Agent Setup): Rename an existing Personal Access Token. Only the display name can be changed; the token value is immutable.
gen_update_cell
Step 4 (Edit & Generate): Update the value of a specific cell. Use on ingredient cells to set scripts, prompts, or reference values before triggering generation.
gen_update_column
Step 4 (Edit & Generate): Update a column's title or type. Use gen_reorder_columns to change its order; raw editor positions are intentionally not model-facing.
gen_update_content_resource
Step 4 (Edit & Generate): Rename a content resource file.
gen_update_idea_status
Step 2 (Content Ideas): Update the status of a content idea. Flow: generated → approve_to_create → ready_for_review → approved_to_post → posted. Edit/rejection statuses: change_idea, change_video, rejected. approved_to_post ideas are candidates to clone into a vidsheet in Step 3.
gen_update_layer
Step 4 (Edit & Generate): Update a layer's name, type, or additional attributes. Use gen_reorder_layers for editor-track order, never a raw position.
gen_update_monitoring_job
Step 2 (Content Ideas): Update an existing content monitoring job. Only jobs with pending or processing status can be updated.
gen_update_organization
Step 1 (Agent Setup): Update an organization's name (requires owner or manager role).
gen_update_recurring_job
Step 3 (Monitoring): Update a recurring job's mutable fields. Use gen_pause_recurring_job / gen_resume_recurring_job for status transitions instead of patching status directly. Only fields you pass are updated; pass schedule or delivery as full objects (they replace the existing value).
gen_update_scheduled_post
Step 5 (Export & Publish): Update a scheduled post's time, description, media, etc. Only works before the post goes out — published posts cannot be edited.
gen_update_session_preferences
Step 2 (Content Ideas): Set the per-conversation session preferences (creative rules applied only within this conversation; they do not change the agent's saved long-term preferences). Replaces the existing value.
gen_update_variable
Step 4 (Edit & Generate): Update a global variable's name and/or value on a vidsheet. Sparse — only send what you want to change.
gen_update_watchlist
Step 3 (Monitoring): Update a watchlist's mutable fields (name, project_id, rails_project_error). Use gen_pause_watchlist or gen_resume_watchlist for status changes; use gen_delete_watchlist to remove. Only the fields you pass are updated.
gen_upgrade_workspace
Step 5 (Export & Publish): Upgrade a workspace to a higher subscription tier — returns a Stripe checkout link. CONFIRM with the user BEFORE calling; this changes their billing plan.
Versions
2- 0.2.1Scanned Oct 4, 2026, 02:41 AMHigh
- 0.1.10Scanned Oct 3, 2026, 01:57 AMUnknown