Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
230 changes: 165 additions & 65 deletions public/llms-full.txt

Large diffs are not rendered by default.

119 changes: 72 additions & 47 deletions public/llms.txt
Original file line number Diff line number Diff line change
Expand Up @@ -480,9 +480,9 @@ Only `ingredient` role columns can be created / updated / deleted.

## Step 5 β€” Export & Publish

**What it is.** Composite all layers on the final_video cell into one MP4 (render), download it, optionally publish to TikTok (Instagram / YouTube coming).
**What it is.** Composite all layers on the final_video cell into one MP4 (render), download it, and publish to social platforms: TikTok, Instagram, Facebook, YouTube, and X.

**Mental model.** Render is an async generation like any other β€” trigger it on the final_video cell, poll until completed, then the `output_resources[0].url` is a public CDN URL. Publishing is a user_job that takes a `media_url` (the render URL works directly).
**Mental model.** Render is an async generation β€” trigger it on the final_video cell, poll until completed, then the `output_resources[0].url` is a public CDN URL. Publishing takes a `media_url` (the render URL works directly). Connect social accounts first via the OAuth flow.

**Render:**

Expand All @@ -492,25 +492,13 @@ curl -X POST "https://api.gen.pro/v1/vidsheet/$ENGINE_ID/cells/$FINAL_VIDEO_CELL
# β†’ { "generation_id": 56789, "status": "pending" }
```

**Poll:**
**Poll render:**

```bash
curl "https://api.gen.pro/v1/generations/56789" \
-H "X-API-Key: $GEN_API_KEY"
# pending β†’ processing β†’ completed | failed
# on completed:
# {
# "id": 56789,
# "status": "completed",
# "output_resources": [
# {
# "id": 4821,
# "url": "https://cdn.gen.pro/outputs/render_xyz.mp4",
# "thumbnail_url": "https://cdn.gen.pro/thumbnails/render_xyz.jpg",
# "object_type": "video"
# }
# ]
# }
# on completed: output_resources[0].url is a public CDN URL
```

**Download** (public CDN URL, no auth needed):
Expand All @@ -519,45 +507,70 @@ curl "https://api.gen.pro/v1/generations/56789" \
curl -L -o final_video.mp4 "https://cdn.gen.pro/outputs/render_xyz.mp4"
```

**Publish to TikTok now** (chain from the render URL):
**Connect a social account** (OAuth URL β€” user opens in browser):

```bash
curl -X POST "https://api.gen.pro/v1/user_jobs?agent_id=$AGENT_ID" \
curl "https://python.gen.pro/platform/get_authorization_url?agent_id=$AGENT_ID&platform=tiktok" \
-H "X-API-Key: $GEN_API_KEY"
# β†’ { "url": "https://..." } ← open this in a browser
```

**Publish now** (TikTok β€” chain from the render URL):

```bash
curl -X POST "https://python.gen.pro/schedule/with-post" \
-H "X-API-Key: $GEN_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"user_job_type": "publish_content",
"data": "{\"platform\":\"tiktok\",\"media_url\":\"https://cdn.gen.pro/outputs/render_xyz.mp4\",\"description\":\"The $2 taco at 2am #streetfood #tacotok\",\"schedule_type\":\"now\",\"media_type\":\"VIDEO\"}"
"agent_id": "'$AGENT_ID'",
"platform": ["tiktok"],
"media_url": "https://cdn.gen.pro/outputs/render_xyz.mp4",
"description": "The $2 taco at 2am #streetfood #tacotok",
"media_type": "VIDEO",
"schedule_type": "now"
}'
# β†’ { "user_job_id": 138860 }
```

**Schedule for later:**

```bash
# same body but:
# "schedule_type": "scheduled",
# "scheduled_time": "2026-04-20T15:00:00Z"
curl -X POST "https://python.gen.pro/schedule/with-post" \
-H "X-API-Key: $GEN_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"agent_id": "'$AGENT_ID'",
"platform": ["instagram"],
"media_url": "https://cdn.gen.pro/outputs/render_xyz.mp4",
"description": "Morning routine πŸŒ… #wellness",
"schedule_type": "specific_time",
"scheduled_time": "2026-08-01T09:00:00Z"
}'
```

**Poll publish job:**
**Check publish status:**

```bash
curl "https://api.gen.pro/v1/user_jobs/138860?agent_id=$AGENT_ID" \
curl "https://python.gen.pro/schedule/post/POST_ID" \
-H "X-API-Key: $GEN_API_KEY"
# pending β†’ processing β†’ completed | failed
# on completed: result.post_id is the TikTok post ID
# status: accepted β†’ publishing β†’ published | failed
# on published: platforms[0].post_url is the live link
```

**Prerequisites for publish.** The agent must have a connected TikTok account. The media URL must be publicly accessible at post time.
**Prerequisites for publish.** The agent must have a connected social account for the target platform (connected via OAuth). The media URL must be publicly accessible at post time.

### Step 5 endpoints

```
POST /v1/vidsheet/:id/cells/:cell_id/render?agent_id= β€” kick off render
GET /v1/generations/:id β€” poll render
POST /v1/user_jobs?agent_id= (publish_content) β€” publish now / schedule
GET /v1/user_jobs/:id?agent_id= β€” poll publish job
POST /v1/vidsheet/:id/cells/:cell_id/render?agent_id= β€” kick off render (api.gen.pro)
GET /v1/generations/:id β€” poll render (api.gen.pro)
GET /platform/get_authorization_url β€” OAuth connect URL (python.gen.pro)
GET /platform/get_oauth_account β€” list connected socials (python.gen.pro)
PUT /platform/disconnect/:platform β€” disconnect social (python.gen.pro)
POST /schedule/with-post β€” post or schedule (python.gen.pro)
GET /schedule/posts β€” content calendar (python.gen.pro)
GET /schedule/post/:id β€” poll post status (python.gen.pro)
PATCH /schedule/post/:id β€” update scheduled post (python.gen.pro)
DELETE /schedule/post/:id β€” delete scheduled post (python.gen.pro)
```

---
Expand Down Expand Up @@ -599,14 +612,14 @@ Models: `gemini_image`, `gemini_pro_image`, `midjourney`, `grok`. Aspect ratios:
{ "generation_type": "video_from_text",
"data": { "prompt": "...", "model": "veo_3", "aspect_ratio": "9:16", "resolution": "1080p", "duration": 10, "native_audio": false, "negative_prompt": "no text overlays" } }
```
Models: `veo_3`, `veo_3_fast`, `veo_3_1`, `veo_3_1_fast`, `sora_2`, `kling_1_6`, `seedance_pro`, `seedance_pro_1_5`, `grok`. Aspect ratios: `1:1`, `9:16`, `16:9`; Grok also supports `4:3`, `3:4`, `3:2`, `2:3`. Duration and resolution are model-dependent; use `resolution: "1080p"` or `"720p"` where supported. `native_audio` is optional and defaults to `false`.
Models: `veo_3`, `veo_3_fast`, `veo_3_1`, `veo_3_1_fast`, `sora_2`, `kling_1_6`, `kling_2_1`, `kling_2_6`, `seedance-2.0`, `seedance-1.5-pro`, `seedance-1.0-pro`, `seedance-1.0-lite`, `seedance_pro`, `seedance_pro_1_5`, `grok`. Aspect ratios: `1:1`, `9:16`, `16:9`; Grok also supports `4:3`, `3:4`, `3:2`, `2:3`. Duration and resolution are model-dependent (seedance-2.0 supports 4-15s); use `resolution: "1080p"` or `"720p"` where supported. `native_audio` is optional and defaults to `false`.

### video_from_image
```json
{ "generation_type": "video_from_image",
"data": { "image_resource_id": 4821, "image_tail_resource_id": 4822, "prompt": "...", "model": "kling_2_6", "aspect_ratio": "9:16", "resolution": "1080p", "duration": 5, "native_audio": false } }
```
Models: `kling_2_1`, `kling_2_6`, `veo_3`, `veo_3_1`, `sora_2`, `seedance_lite`, `seedance_pro`, `seedance_pro_1_5`, `grok`. `image_tail_resource_id` optional. `resolution` and `native_audio` are optional and model-dependent.
Models: `kling_2_1`, `kling_2_6`, `veo_3`, `veo_3_1`, `sora_2`, `seedance-2.0`, `seedance_lite`, `seedance_pro`, `seedance_pro_1_5`, `grok`. `image_tail_resource_id` optional. `resolution` and `native_audio` are optional and model-dependent.

### video_from_ingredients
```json
Expand Down Expand Up @@ -795,29 +808,41 @@ Local install example:
GEN_API_KEY=your-pat uvx gen-mcp-server
```

The current MCP exposes 150 `gen_*` tools, 9 prompts, and 3 guidance resources. Key tools by category:
The current MCP exposes 142 `gen_*` tools, 9 prompts, and 3 guidance resources. Key tools by category:

**Natural-language delegation (start here for fuzzy goals):** `gen_ask` (questions about social data β€” links, accounts, hashtags, trends), `gen_chat` (open-ended build goals), `gen_run_research` (deep topic research across 10+ platforms), `gen_generate_content_ideas` (data-driven ideas/scripts), `gen_refine_content_ideas` (iterate with feedback).

**Content ideas lifecycle:** `gen_list_content_ideas` (see all ideas), `gen_expand_idea` (expand one idea to a full scene plan), `gen_update_idea_status` (approve/reject/archive), `gen_set_content_preference` (persistent rules for future generations), `gen_get_session_preferences` / `gen_update_session_preferences` (per-conversation creative rules), `gen_decide_agent_run` (approve/reject a pending agent action gate).

**Conversations:** `gen_list_conversations`, `gen_get_conversation`.

**Creation:** `gen_create_video` (single clip; models: seedance-2.0, veo_3, kling_2_1, sora_2, grok, pika), `gen_create_image` (nano-banana-pro/nano-banana/nano-banana-2), `gen_create_song` (suno-v5-beta/suno-v4.5plus-beta), `gen_create_song_mix`, `gen_render_video`, `gen_generate_content` (trigger generation for a vidsheet cell), `gen_generate_layer` (trigger generation for a specific layer), `gen_continue_generation` (resume a stopped generation).

**Assets / Content Resources:** `gen_list_assets` / `gen_list_content_resources`, `gen_get_asset` / `gen_get_content_resource`, `gen_import_asset_from_url`, `gen_create_direct_upload` (get pre-signed S3 URL β†’ PUT file β†’ `gen_complete_asset_upload`), `gen_create_content_resource`, `gen_update_content_resource`, `gen_delete_asset` / `gen_delete_content_resource`.

**Voices:** `gen_list_agent_voices`, `gen_list_my_voices`, `gen_design_voice`, `gen_clone_voice`, `gen_preview_voice` (TTS audition), `gen_get_voice_preview_status`, `gen_generate_voice_description`, `gen_generate_voice_samples`, `gen_get_voice_sample_status`, `gen_delete_voice`.

**Natural-language delegation (start here for fuzzy goals):** `gen_ask` (questions about social data β€” links, accounts, hashtags, trends), `gen_chat` (open-ended build goals), `gen_research` (topic research across social + web), `gen_make_video` (finished multi-scene video from a brief), `gen_generate_content_ideas`.
**Social publishing:** `gen_get_social_connect_url` (OAuth connect flow), `gen_list_connected_socials`, `gen_schedule_post` (platforms: tiktok|instagram|facebook|youtube|x), `gen_list_scheduled_posts`, `gen_get_post_status`, `gen_update_scheduled_post`, `gen_delete_scheduled_post`, `gen_disconnect_social`, `gen_publish_content` (direct publish/schedule to TikTok). On **X**, `gen_schedule_post` also supports up to 4 images per tweet (`media_urls`), **threads** (`thread`: an ordered list of `{text, media_urls?}` segments), and **replies** (`reply_to_tweet_id`). `thread` and `reply_to_tweet_id` are X-only.

**Creation:** `gen_create_video` (single clip; models: seedance-2.0, veo_3, kling_2_1, sora_2, grok, pika), `gen_create_image` (nano-banana-pro/nano-banana/nano-banana-2), `gen_create_song` (suno-v5-beta/suno-v4.5plus-beta), `gen_create_song_mix`, `gen_render_video`.
**Vidsheets:** `gen_list_templates`, `gen_clone_template`, `gen_create_engine`, `gen_get_engine`, `gen_clone_engine`, `gen_list_columns`, `gen_create_column`, `gen_update_column`, `gen_delete_column`, `gen_list_rows`, `gen_create_row`, `gen_duplicate_row`, `gen_get_cell`, `gen_update_cell`, `gen_create_layer`, `gen_get_layer`, `gen_update_layer`, `gen_delete_layer`, `gen_list_variables`, `gen_create_variable`, `gen_update_variable`, `gen_delete_variable`.

**Assets:** `gen_list_assets`, `gen_get_asset`, `gen_import_asset_from_url`, `gen_upload_asset`, `gen_complete_asset_upload`, `gen_delete_asset`.
**Watchlists:** `gen_create_watchlist`, `gen_list_watchlists`, `gen_get_watchlist`, `gen_update_watchlist`, `gen_delete_watchlist`, `gen_query_watchlist`, `gen_add_watchlist_source`, `gen_remove_watchlist_source`, `gen_pause_watchlist`, `gen_resume_watchlist`.

**Voices:** `gen_list_voices`, `gen_list_my_voices`, `gen_design_voice`, `gen_clone_voice`, `gen_create_voice`.
**Content monitoring:** `gen_create_monitoring_job` (scrape TikTok/Instagram/YouTube into agent knowledge), `gen_update_monitoring_job`.

**Social publishing:** `gen_get_social_connect_url` (OAuth connect flow), `gen_list_connected_socials`, `gen_schedule_post` (platforms: tiktok|instagram|facebook|youtube|x), `gen_list_scheduled_posts`, `gen_get_post_status`, `gen_update_scheduled_post`, `gen_delete_scheduled_post`, `gen_disconnect_social`. On **X**, `gen_schedule_post` also supports up to 4 images per tweet (`media_urls`), **threads** (`thread`: an ordered list of `{text, media_urls?}` segments), and **replies** (`reply_to_tweet_id`). `thread` and `reply_to_tweet_id` are X-only.
**Proof of Genesis backups:** `gen_list_proof_of_genesis_backups`, `gen_create_proof_of_genesis_backup`, `gen_remove_proof_of_genesis_backup`.

**Vidsheets:** `gen_list_templates`, `gen_clone_template`, `gen_create_engine`, `gen_get_engine`, `gen_clone_engine`, `gen_list_columns`, `gen_create_column`, `gen_list_rows`, `gen_create_row`, `gen_get_cell`, `gen_update_cell`, `gen_create_variable`, `gen_update_variable`, `gen_delete_variable`.
**Recurring automation:** `gen_create_recurring_job`, `gen_list_recurring_jobs`, `gen_get_recurring_job`, `gen_update_recurring_job`, `gen_run_recurring_job_now`, `gen_pause_recurring_job`, `gen_resume_recurring_job`, `gen_delete_recurring_job`, `gen_ensure_default_recurring_job` (idempotent daily-ideas setup).

**Watchlists:** `gen_create_watchlist`, `gen_list_watchlists`, `gen_query_watchlist`, `gen_add_watchlist_source`, `gen_remove_watchlist_source`.
**Credits/billing:** `gen_get_credit_balance`, `gen_estimate_job`, `gen_get_credit_usage`, `gen_list_credit_plans`, `gen_buy_credits`, `gen_upgrade_workspace`.

**Recurring automation:** `gen_create_recurring_job`, `gen_list_recurring_jobs`, `gen_run_recurring_job_now`, `gen_pause_recurring_job`, `gen_resume_recurring_job`.
**Agent setup:** `gen_get_me`, `gen_list_agents`, `gen_get_agent`, `gen_create_agent`, `gen_update_agent`, `gen_delete_agent`, `gen_get_agent_core`, `gen_update_agent_core`, `gen_get_agent_profile`, `gen_create_agent_profile`, `gen_update_agent_profile`, `gen_reset_agent_profile`, `gen_set_agent_primary_photo`, `gen_add_agent_look`, `gen_add_agent_account`, `gen_add_agent_inspiration`, `gen_connect_agent_elevenlabs`, `gen_list_agent_avatars`, `gen_create_agent_avatar`, `gen_delete_agent_avatar`.

**Credits/billing:** `gen_get_credit_balance`, `gen_estimate_job`, `gen_buy_credits`, `gen_upgrade_workspace`.
**Organizations:** `gen_list_organizations`, `gen_create_organization`, `gen_get_organization`, `gen_update_organization`, `gen_delete_organization`.

**Agent setup:** `gen_get_me`, `gen_list_agents`, `gen_get_agent_core`, `gen_update_agent_core`, `gen_set_agent_primary_photo`, `gen_add_agent_look`.
**API keys:** `gen_list_api_keys`, `gen_create_api_key`, `gen_update_api_key`, `gen_revoke_api_key`, `gen_revoke_all_api_keys`.

**Job control:** `gen_get_generation` (poll), `gen_stop_generation` (refunds credits), `gen_get_run_status`.
**Job control:** `gen_get_generation` (poll), `gen_stop_generation` (refunds credits), `gen_continue_generation` (resume), `gen_get_run_status`.

Full install guide: https://api.gen.pro/guides/mcp/

Expand Down
Loading