- Skill ID
- pika-labs/pika-plugins/founder-product-video
- Publisher
- pika-labs
- Repository
- pika-plugins
- Installs
- 0
- Files
- 2
- Synced
- Sep 23, 2026
Open any RiverX project, open the Skills panel in the chat, and search for this identifier. The files are fetched from the source repository at install time.
pika-labs/pika-plugins/founder-product-videoInstalls these files- SKILL.md
- references/ops-notes.md
What this skill tells the agent
founder-product-video
You generate a 65-second founder-style product video from a product URL plus user-provided imagery: 60 seconds of talking-founder body video plus a 5-second branded end card. The user's images (product photos / website screenshots / app screenshots) flow into the SeeDance acts as visual references, and digital product screens / brand wordmarks are composited after generation so readable UI is deterministic instead of model-rendered.
No cutaways. No website CSS extraction. AI generation, deterministic render, captions, concat, and music mix go through Pika MCP tools by default. Lower-third overlays are opt-in and use MCP compose by default, with local ffmpeg only as an emergency fallback.
Cost transparency gate
Before any paid MCP call, call identity_balance({verbose: true}) once. Surface the current balance, recent burn rate, and remaining runway, then gate the run with this exact message:
Estimated cost: about 4,000 credits (~$40) for a typical four-act Seedance founder video plus supporting assets. This exceeds $5, so Replyproceedto continue orcancelto stop.
Do not call any paid MCP tool until the user replies proceed. If the user replies cancel, stop without generating. For non-interactive --quick or --config callers, require cost_ack=proceed in the config; if it is absent, stop with the estimate instead of spending credits.
[0] Intake — run first, before any pipeline step
If invoked with empty args, print this menu verbatim and stop — wait for the user to paste inputs:
What founder video do you want to make? Required: - Product URL —https://...(anything with a real homepage) - Founder — name + role, e.g. "Eli Kim, CEO" - Founder photo — local path, https URL, ORgenerate(I'll create a portrait) Optional (sensible defaults if omitted): brand kit path · custom on-phone screenshots · music · aspect (16:9 / 9:16 / 1:1) · location image · voice style · product type Example:/founder-product-video https://example.com --founder "Eli Kim, CEO" --photo ~/Pictures/eli.jpg
If args carry partial input in interactive mode, skip the menu and gather the missing required fields by asking one at a time — ask, wait, ask the next. Don't bundle questions into one block. If the user supplies a field unprompted (e.g. they pasted a URL in the trigger message), skip that question and confirm the value back to them once at the end. Don't start the pipeline until all required fields are answered. If the non-interactive fast lane applies, use step [0.5] instead.
[0.5] Non-interactive fast lane
Use this path when the caller passes --quick or --config <path>, or when the caller states they are running from CI, a subagent, a batch job, or any other non-interactive harness.
This section has precedence over the interactive ask/wait instructions below. When it applies, use this fast lane and do not fall through to the multi-turn intake unless url or founder name/role is truly missing.
--config <path>points to a JSON file with pre-baked values for the canonical input contract:url,brand_kit_pathorbuild_brand,founder_name,founder_role,founder_photo,assets,music_url,aspect_ratio,location_image_url,voice_style,product_type, andlower_third.--quickmeans use defaults for optional extras, auto-build the brand kit withbuild-a-brand --quickifbrand-kitis omitted, and usefounder_photo = "generate"when no photo is supplied.- For
--quickor--config, do not stop for confirmation at the brand-kit branch, founder-photo generation prompt, optional-extras prompt, script choices, or end-card/caption defaults. Record assumptions inline and continue. - If
urlor founder name/role cannot be found in args or config, stop once with a single compact missing-fields list instead of starting a multi-turn Q&A loop.
1. Product URL (required) — https://.... Used to (a) derive the brief in step [1] and (b) feed the brand-kit branch below.
2. Brand kit (required) — interactive mode: ask "Do you already have a brand kit folder, or should I build one first?"
- If a path -> use it (
state.brand_kit_path = <path>). Accept eitherbrand.jsonor an exportedbuild-a-brandkit containingbrand.md,tokens/tokens.json, and logo assets. - If "build" -> invoke the
build-a-brandskill on the URL/brief and wait for the exported brand kit. This is a full identity workflow and may pause for user choices; surface those prompts in interactive mode. - Fast lane: if config provides
brand_kit_path, use it. If config setsbuild_brandor--quickomitsbrand-kit, invokebuild-a-brand --quickon the URL/brief and wait for the exported brand kit; do not surface build-a-brand prompts or stop for identity choices. After either branch, setstate.brand_kit_path. Only stop with a single compact missing-fields list if there is no path and the brand kit cannot be built.
3. Founder identity (required) — interactive mode: ask all three together:
founder_name— e.g. "Avery"founder_role— e.g. "CEO, ExampleCo"founder_photo— local path / https URL / OR the literal stringgenerateto auto-create a portrait. Ifgenerate, prompt the user for a 1-line vibe ("warm, casual smart attire" / "Pixar-style 3D animation" / etc.) — this becomes the seed prompt forgenerate_imagein step [4].- Fast lane: use founder values from args/config. If
founder_photois omitted, setfounder_photo = "generate"and use a neutral founder-portrait vibe derived from the product tone; do not stop for a separate photo-vibe prompt.
Default to no lower-third so the happy path stays lean. If the user explicitly asks for a lower-third, record state.lower_third = true; in interactive mode confirm that edit_video_compose will add the transparent overlay after rendering.
4. Optional extras — interactive mode: offer these once as a single message, then proceed without waiting if no answer comes back in the same turn. Fast lane: use the defaults below without asking.
- Custom imagery — list of
assets(product photos / app screenshots) shown on the founder's phone. Default if omitted: use screenshots frombrand.json.screenshotswhen present, otherwise look for obvious screenshots or product images inside the brand kit, otherwise capture the product URL withcapture_website(mode:"screenshot")before step [2]. Do not proceed to script or SeeDance without real product UI / product imagery unlessproduct_typeis explicitlyserviceand the user accepts an environment-only video. In the fast lane, if no supplied/brand-kit/captured asset exists, stop once with a compact missing-assets error instead of silently shipping a generic talking-head video. - Music — local path / https URL / OR
generate(instrumental, ~60s). Default:generatevia Kling background mode. - Lower-third — optional. Default: off. If enabled, render the transparent
.movthrough MCP and overlay it onto the body withedit_video_compose. - Aspect ratio —
16:9(default),9:16,1:1. - Location — defaults to a flat seamless backdrop in
state.brand.colors.accent(clean studio-shoot look, character against a single brand color, whatever the brand's accent is). Override with a path / URL / text description if the user wants office, outdoor, etc. - Voice style — VO direction string for SeeDance, e.g. "warm authentic founder energy, conversational". Default: derived from
brief.tone. - Product type —
digital | physical_apparel | physical_object | consumable | service. Default: auto-derived in step [2] from asset analyses.
More from pika-labs
Use this skill in a project
Open any RiverX project, search the Skills panel for pika-labs/pika-plugins/founder-product-video, and install it in one click.
