diff --git a/.agents/plugins/marketplace.json b/.agents/plugins/marketplace.json index cf7236de6..56327fd32 100644 --- a/.agents/plugins/marketplace.json +++ b/.agents/plugins/marketplace.json @@ -306,6 +306,18 @@ }, "category": "Developer Tools" }, + { + "name": "higgsfield", + "source": { + "source": "local", + "path": "./plugins/higgsfield" + }, + "policy": { + "installation": "AVAILABLE", + "authentication": "ON_INSTALL" + }, + "category": "Design" + }, { "name": "sentry", "source": { diff --git a/plugins/higgsfield/.codex-plugin/plugin.json b/plugins/higgsfield/.codex-plugin/plugin.json new file mode 100644 index 000000000..1c6b21bde --- /dev/null +++ b/plugins/higgsfield/.codex-plugin/plugin.json @@ -0,0 +1,44 @@ +{ + "name": "higgsfield", + "version": "0.1.0", + "description": "Higgsfield AI MCP plugin for image and video generation, marketing assets, character workflows, billing, and Virality Predictor video analysis.", + "author": { + "name": "Higgsfield AI", + "url": "https://higgsfield.ai" + }, + "homepage": "https://higgsfield.ai", + "license": "MIT", + "keywords": [ + "higgsfield", + "image-generation", + "video-generation", + "marketing", + "creative-ai", + "virality-predictor", + "mcp" + ], + "mcpServers": "./.mcp.json", + "skills": "./skills/", + "interface": { + "displayName": "Higgsfield", + "shortDescription": "Generate images, videos, marketing assets, and analyze virality with Higgsfield MCP", + "longDescription": "Connect Codex to Higgsfield AI through the Higgsfield MCP server for image and video generation, job and media workflows, marketing studio tools, character workflows, billing views, and Virality Predictor video analysis.", + "developerName": "Higgsfield AI", + "category": "Design", + "capabilities": [ + "Interactive", + "Read", + "Write" + ], + "websiteURL": "https://higgsfield.ai", + "privacyPolicyURL": "https://higgsfield.ai/privacy-policy", + "termsOfServiceURL": "https://higgsfield.ai/terms-of-use-agreement", + "defaultPrompt": [ + "Create a cinematic short video with Higgsfield" + ], + "composerIcon": "./assets/higgsfield-small.svg", + "logo": "./assets/higgsfield.png", + "screenshots": [], + "brandColor": "#C8FF3D" + } +} diff --git a/plugins/higgsfield/.mcp.json b/plugins/higgsfield/.mcp.json new file mode 100644 index 000000000..b329bf5b6 --- /dev/null +++ b/plugins/higgsfield/.mcp.json @@ -0,0 +1,9 @@ +{ + "mcpServers": { + "higgsfield": { + "type": "http", + "url": "https://openai-mcp.higgsfield.ai/mcp", + "note": "Higgsfield AI MCP server for OpenAI/Codex clients. Uses authenticated Higgsfield access and provides tools for image/video generation, media and job workflows, marketing assets, billing views, character workflows, and Virality Predictor video analysis." + } + } +} diff --git a/plugins/higgsfield/README.md b/plugins/higgsfield/README.md new file mode 100644 index 000000000..0cfcfcf70 --- /dev/null +++ b/plugins/higgsfield/README.md @@ -0,0 +1,41 @@ +# Higgsfield + +Higgsfield brings AI image and video creation workflows into Codex through the hosted Higgsfield MCP server for OpenAI clients. + +Use this plugin to generate images and videos, inspect generation jobs, manage uploaded media, open marketing asset workflows, work with character tools, view billing and credits, and analyze videos with Virality Predictor. + +## MCP Server + +```json +{ + "mcpServers": { + "higgsfield": { + "type": "http", + "url": "https://openai-mcp.higgsfield.ai/mcp", + "note": "Higgsfield AI MCP server for OpenAI/Codex clients. Uses authenticated Higgsfield access and provides tools for image/video generation, media and job workflows, marketing assets." + } + } +} +``` + +The OpenAI/Codex MCP endpoint requires authenticated Higgsfield access on first use. + +## Common Workflows + +- Generate images from text prompts and model-specific settings. +- Generate videos from prompts, images, characters, and references. +- Check generation status and display completed jobs. +- Upload, confirm, and reuse media assets. +- Create marketing assets through Higgsfield's Marketing Studio tools. +- Analyze video virality, attention, and retention signals with Virality Predictor. +- View plan, credit, balance, transaction, and workspace information. + +## Authentication + +Higgsfield uses authenticated access for account-specific workflows such as generation, media, jobs, billing, workspaces, and character tools. Codex will handle the MCP connection flow when the plugin is installed or first used. + +## Links + +- Website: https://higgsfield.ai +- Privacy Policy: https://higgsfield.ai/privacy-policy +- Terms of Use: https://higgsfield.ai/terms-of-use-agreement diff --git a/plugins/higgsfield/assets/higgsfield-small.svg b/plugins/higgsfield/assets/higgsfield-small.svg new file mode 100644 index 000000000..7377d1366 --- /dev/null +++ b/plugins/higgsfield/assets/higgsfield-small.svg @@ -0,0 +1,4 @@ + + + + diff --git a/plugins/higgsfield/assets/higgsfield.png b/plugins/higgsfield/assets/higgsfield.png new file mode 100644 index 000000000..69b7d674e Binary files /dev/null and b/plugins/higgsfield/assets/higgsfield.png differ diff --git a/plugins/higgsfield/skills/higgsfield-generate-image/SKILL.md b/plugins/higgsfield/skills/higgsfield-generate-image/SKILL.md new file mode 100644 index 000000000..3ab637d30 --- /dev/null +++ b/plugins/higgsfield/skills/higgsfield-generate-image/SKILL.md @@ -0,0 +1,38 @@ +--- +name: higgsfield-generate-image +description: Generate or edit images with Higgsfield MCP. Use when the user asks for image creation, image-to-image, product visuals, posters, thumbnails, references, or model/cost selection. +--- + +# Higgsfield Generate Image + +Use the OpenAI MCP profile tools only. The core path is model discovery, optional media upload, optional cost estimate, `generate_image`, then `job_status`. + +## Workflow + +1. Clarify only genuinely missing creative inputs. Do not ask for model details unless the user wants control. +2. Pick a model: + - If the user names a model, call `models_get`. + - Otherwise call `models_recommend` with a short `query` describing the goal and input context, plus `type: "image"` and `input: "image"` when references are provided, else `input: "text"`. + - Call `models_get` for the chosen model to inspect `aspect_ratios`, model-specific `parameters`, and `medias[].roles`. +3. Prepare references: + - For local/OpenAI file objects, call `media_upload_and_confirm` with `type: "image"` and pass the returned `media_id` in `params.medias`. + - Authorized HTTPS image URLs may be passed directly as `params.medias[].value` for image roles; the server imports them. + - Completed generation job UUIDs may be reused as media values. + - Use the role declared by `models_get`, usually `image`. +4. Estimate cost only when the user asks, credits seem important, or you need a read-only preflight: call `estimate_image_cost`. +5. Submit with `generate_image`. Put all generation arguments inside `params`; keep model-specific parameters as top-level fields inside `params`, not nested under another object. +6. Poll with `job_status`. For non-terminal jobs, wait `poll_after_seconds` before calling again. Typical image jobs finish in about 10-20 seconds. +7. Present the result URL or rendered resource. Mention any server `adjustments` briefly when they changed user intent. + +## Model Defaults + +- Prefer `gpt_image_2` for general high-fidelity image generation, design, typography, logos, banners, and text rendering. +- Prefer Nano Banana models for characterful, stylized, or reference-heavy image work. +- Prefer Seedream or Flux-style models for edits, remixing, or style transfer when `models_recommend` points there. + +## Notes + +- Use `estimate_image_cost` for credit preflight, then `generate_image` for submission. +- `media_upload_and_confirm` returns a ready-to-use `media_id`; pass it directly to generation references. +- Keep reusable identity workflows explicit. If the user asks for a reusable person or character, confirm whether they want Soul training or reference elements. +- If an error includes `request_id`, include it in the user-facing failure summary. diff --git a/plugins/higgsfield/skills/higgsfield-generate-image/agents/openai.yaml b/plugins/higgsfield/skills/higgsfield-generate-image/agents/openai.yaml new file mode 100644 index 000000000..5bafed6d2 --- /dev/null +++ b/plugins/higgsfield/skills/higgsfield-generate-image/agents/openai.yaml @@ -0,0 +1,4 @@ +interface: + display_name: "Higgsfield Images" + short_description: "Generate and edit images with Higgsfield MCP" + default_prompt: "Use $higgsfield-generate-image to create a polished product hero image." diff --git a/plugins/higgsfield/skills/higgsfield-generate-video/SKILL.md b/plugins/higgsfield/skills/higgsfield-generate-video/SKILL.md new file mode 100644 index 000000000..5285132ac --- /dev/null +++ b/plugins/higgsfield/skills/higgsfield-generate-video/SKILL.md @@ -0,0 +1,39 @@ +--- +name: higgsfield-generate-video +description: Generate or animate videos with Higgsfield MCP. Use when the user asks for text-to-video, image-to-video, start/end frames, cinematic clips, model/cost selection, or job polling. +--- + +# Higgsfield Generate Video + +Use the OpenAI MCP profile tools only. The core path is model discovery, optional media upload, optional cost estimate, `generate_video`, then `job_status`. + +## Workflow + +1. Clarify only missing creative intent, duration/aspect ratio when important, or required reference media. +2. Pick a model: + - If the user names a model, call `models_get`. + - Otherwise call `models_recommend` with a short `query` describing the goal and input context, plus `type: "video"` and `input: "image"` for image-to-video/reference work, else `input: "text"`. + - Call `models_get` to inspect `durations`, `duration_range`, `aspect_ratios`, model-specific `parameters`, and `medias[].roles`. +3. Prepare references: + - For local/OpenAI file objects, call `media_upload_and_confirm`; use `type: "image"` for start/end/reference images, `type: "video"` for video references, and `type: "audio"` for audio references. + - Authorized HTTPS image URLs may be passed directly for image roles such as `start_image`, `end_image`, or `image`. + - Non-image roles require UUIDs from upload/confirm or completed generation jobs. + - Use roles from `models_get`; image-to-video usually uses `start_image` or `image`. +4. Estimate cost only when the user asks, credits seem important, or you need a read-only preflight: call `estimate_video_cost`. +5. Submit with `generate_video`. Put all generation arguments inside `params`; keep model-specific parameters as top-level fields inside `params`. +6. Poll with `job_status`. For non-terminal jobs, wait `poll_after_seconds`; typical video jobs take about 60-180 seconds. +7. Present the result URL or rendered resource. Mention any server `adjustments` when they materially changed duration, aspect ratio, or parameters. + +## Model Defaults + +- Prefer `seedance_2_0` for strong general video, image-to-video, identity consistency, product references, and multi-reference work when the catalog supports it. +- Prefer `kling3_0` when the brief emphasizes advanced motion transfer, multi-shot motion, or Kling specifically; if reference elements are involved, it needs an explicit `start_image`. +- Prefer Cinema Studio video models for premium cinematic output. + +## Notes + +- Use `estimate_video_cost` for credit preflight, then `generate_video` for submission. +- Upload local/OpenAI file objects first and pass the returned `media_id` to generation references. +- For `video` or `audio` reference roles, use uploaded media IDs or completed job UUIDs. +- Use `job_status` for polling and `show_generations` when the user asks to browse history. +- If an error includes `request_id`, include it in the user-facing failure summary. diff --git a/plugins/higgsfield/skills/higgsfield-generate-video/agents/openai.yaml b/plugins/higgsfield/skills/higgsfield-generate-video/agents/openai.yaml new file mode 100644 index 000000000..9fd288876 --- /dev/null +++ b/plugins/higgsfield/skills/higgsfield-generate-video/agents/openai.yaml @@ -0,0 +1,4 @@ +interface: + display_name: "Higgsfield Videos" + short_description: "Create videos with Higgsfield MCP" + default_prompt: "Use $higgsfield-generate-video to turn this image into a cinematic short video." diff --git a/plugins/higgsfield/skills/higgsfield-marketing-studio/SKILL.md b/plugins/higgsfield/skills/higgsfield-marketing-studio/SKILL.md new file mode 100644 index 000000000..9fc791532 --- /dev/null +++ b/plugins/higgsfield/skills/higgsfield-marketing-studio/SKILL.md @@ -0,0 +1,49 @@ +--- +name: higgsfield-marketing-studio +description: Create Higgsfield Marketing Studio ads. Use when the user asks for UGC, product demos, unboxing/review videos, presenters, branded ad images, avatars, hooks/settings, or brand kits. +--- + +# Higgsfield Marketing Studio + +Use this skill for campaign-shaped creative work. Marketing Studio is different from generic generation because it can select or create products, avatars, hooks, settings, ad formats, and brand kits before calling `generate_image` or `generate_video`. + +## Workflow + +1. Identify the ad shape: video or image, product involved or not, avatar/presenter needed or not, brand-kit constraints, and aspect ratio/platform. +2. Discover existing assets before creating new ones: + - `marketing_list_video_presets` + - `marketing_list_avatars` + - `marketing_list_products` + - `marketing_list_webproducts` + - `marketing_list_hooks` + - `marketing_list_settings` + - `marketing_list_ad_formats` + - `marketing_list_brand_kits` +3. If the user supplies product images, upload them with `media_upload_and_confirm` using `type: "image"`, then call `marketing_create_product_from_media` with the returned media IDs. +4. If the user supplies brand data, call `marketing_create_brand_kit` only from user-provided values. Use `marketing_get_brand_kit` for inspection. +5. Generate: + - Use `generate_video` with `model: "marketing_studio_video"` for UGC, product demo, unboxing, product review, presenter, and social ad videos. + - Use `generate_image` with a Marketing Studio image model for branded ad images, DTC creatives, and product/social campaign stills. + - Pass `product_ids`, `avatars`, `hook_id`, `setting_id`, `brand_kit_id`, mode, duration, aspect ratio, and resolution only when supported by `models_get`. +6. Poll with `job_status`. Use `show_marketing_studio_generations` when the user asks to browse prior Marketing Studio output. + +## Asset Rules + +- If the user gives a product URL, ask for product images or manual product details. +- `marketing_create_product_from_media` needs confirmed uploaded image media IDs. +- Create or update brand kits from supplied brand data. +- Use `marketing_update_brand_kit` and `marketing_delete_brand_kit` only after explicit user intent. + +## Creative Defaults + +- For UGC-style ads, start by listing video presets, avatars, products, hooks, and settings; choose a coherent combination instead of asking for everything up front. +- Use hooks/settings only after listing or when the user provides exact IDs. +- Prefer one question per phase: product, then avatar, then style/mode. If defaults are obvious, proceed. +- For ad images, list ad formats and brand kits when brand consistency matters. +- Keep user-facing language simple: product, avatar, hook, setting, brand kit, ad format. Do not expose internal job-set wording. + +## Notes + +- Create products, brand kits, and brand-kit edits only when the user asks for that operation. +- Keep each ad focused on one product, one campaign angle, and one primary output unless the user asks for a set. +- If an error includes `request_id`, include it in the user-facing failure summary. diff --git a/plugins/higgsfield/skills/higgsfield-marketing-studio/agents/openai.yaml b/plugins/higgsfield/skills/higgsfield-marketing-studio/agents/openai.yaml new file mode 100644 index 000000000..efd796eab --- /dev/null +++ b/plugins/higgsfield/skills/higgsfield-marketing-studio/agents/openai.yaml @@ -0,0 +1,4 @@ +interface: + display_name: "Higgsfield Marketing" + short_description: "Create Higgsfield ads and brand assets" + default_prompt: "Use $higgsfield-marketing-studio to make a UGC product ad."