---
name: hubfluencer-create
description: Generate finished video ads, shorts, image carousels, or tracking-overlay clips with Hubfluencer, and optionally run the surrounding content operation from product research through review, scheduling, and performance. Use whenever a user asks an agent to make, iterate, recover, or deliver social creative with Hubfluencer.
---

# Create with Hubfluencer

Use the connected `hubfluencer` MCP server. Prefer its high-level tools; load
`references/full-guide.md` only when the request needs granular Editor control,
campaign operations, asset-catalog work, recurring series, or an uncommon
recovery path.

The recommended `creator` MCP profile intentionally exposes only high-level
single-asset creation, recovery, and delivery. If an advanced tool from the
reference is absent, tell the user to change the server argument to
`--profile full` and restart the agent; do not invent a REST call as a hidden
substitute.

## Before creating

If Hubfluencer is not connected, tell the user to run:

```bash
npx -y @hubfluencer/mcp@0.18.0 login
npx -y @hubfluencer/mcp@0.18.0 doctor --profile creator
```

Never invent, request in chat, or echo a token. A PAT may instead be supplied to
the MCP process as `HUBFLUENCER_API_TOKEN`.

Credits are prepaid money. Before a paid action:

1. Use `get_credits`.
2. Obtain a free quote or dry run.
3. State the credit cap and approximate dollar cost.
4. Spend only after the user gives explicit approval for that cap.

Draft creation and editing are free. Current charged operations are described by
the tool itself; do not rely on remembered prices when the returned quote differs.
Never unlock an exhausted AI-assist quota with a credit unless the user approves.

## Lifecycle authority

Every Editor and Short product read includes a non-null `generation_summary`.
Treat it as the sole lifecycle authority.

- Poll only while `generation_summary.timing.poll_after_ms` is a positive
  integer, using that cadence. `null` means stop.
- Invoke only a tool advertised by
  `generation_summary.available_actions`, including every run, revision, step,
  or other fence required by that tool.
- A terminal summary may require input, review, retry, or a new start. Terminal
  does not automatically mean downloadable.
- Download only when `download_result` is advertised.
- Product projection fields are display metadata or explicit route fences only;
  never derive polling, retry, cancel, or download availability from `stage`,
  child status, `autopilot_status`, or `latest_render`.
- `wait_for_completion` follows server timing for up to its budget. If it
  returns `timed_out`, call it again with the same slug. If polling has stopped,
  follow the advertised action instead of polling harder.

Editor delivery freshness is separate: an old MP4 can remain while edits make it
stale. When status reports `stale:true`, render again before delivery.

## Default workflow

For a straightforward request, call:

```text
make_video({
  prompt: "...",
  dry_run: true
})
```

The dry run creates a free draft and returns a quote. After approval, call
`make_video` again with the returned slug or approved prompt, the quoted
`max_credits`, and an `.mp4` `save_path` when the user wants a local file.

Use `kind:"short"` for a fast single-clip social ad and `kind:"editor"` for a
multi-scene story. Leave `kind:"auto"` when the request does not decide.
For Shorts, include concise `headline`, `subheadline`, `cta_text`, a fitting
`music_vibe`, and an explicit `visual_language` when the brief supports them.
Do not invent an offer.

When exact duration matters for Editor, set `segments_count`; each generated
Editor scene is approximately eight seconds. Three scenes is a sensible concise
default.

## Product-specific paths

Short:

```text
create_short -> edit/attach assets -> generate_short
  -> wait_for_completion -> download_result
```

`generate_short` is the paid footage/music generation. After it completes,
`update_short` plus `rerender_short` applies text/style/CTA/end-card/logo changes
over the existing footage for free. A paid Short run cannot be stopped once
started: there is no cancel tool or route, and the draft cannot be deleted until
the run reaches a terminal state. A failed run still refunds its 15 credits.

Editor ad:

```text
create_editor_ad (free quote)
  -> start_autopilot({slug,max_credits})
  -> wait_for_completion -> download_result
```

A bare `start_autopilot({slug})` quotes without starting. If the summary
advertises `edit_required_input` or `review_spend_cap`, use
`provide_generation_input`. Use `retry_editor_batch`, `cancel_editor_batch`,
`retry_segment_generation`, or `cancel_autopilot` only when advertised.

Carousel:

```text
create_slider -> generate_slider -> get_slider
```

Sliders deliver image URLs, caption, and hashtags; they do not use
`wait_for_completion` or `download_result`. Free iteration uses
`restyle_slider` and `edit_slider_slide`.

Tracking overlay:

```text
create_tracking_video({video_path,...})
```

This one-shot flow uploads a local clip, renders the tracking overlay, waits,
and optionally saves an MP4. Resume an unfinished returned slug; create a new
project for different classes or color after completion.

## Creative quality rules

- Production prompts are visual direction. Narration scripts are spoken
  verbatim: never put camera notes, labels, or prompt syntax in a script.
- Do not ask a video model to spell essential brand names, UI, prices, offers,
  or CTAs. Put exact copy in overlays, narration, or supplied artwork.
- Use a tight transparent wordmark for a logo. Use square or full-frame artwork
  as a poster/end card. Keep important poster content in the central 9:16 area.
- If supplied poster art already contains its logo and CTA, set
  `poster_includes_lockup:true` and do not add a duplicate end-card logo.
- Review the rendered asset as a viewer before delivery: message clarity,
  legibility, crop, continuity, audio, CTA, and product truthfulness.

## Local files and delivery

Uploads must resolve within `HUBFLUENCER_INPUT_DIR` and downloads within
`HUBFLUENCER_OUTPUT_DIR`; both default to the MCP process working directory.
Downloaded files must be `.mp4`. Presigned links expire, so save deliverables
promptly. Never claim Hubfluencer auto-publishes: its schedule tools create
reminders, and a person still posts to social platforms.

Return the saved file or fresh result link, slug, actual credits charged, and a
short summary of what was made. If generation failed, report the canonical
failure and advertised recovery action without pretending the asset is ready.

## Load advanced guidance only when needed

Read `references/full-guide.md` before using granular scene/narration/voice/music
tools, campaign packs, product and brand profiles, review links, performance
recommendations, recurring series, scheduled posts, or reusable catalog assets.
For raw REST integration, use the public `/developers/api` reference instead of
guessing endpoint or idempotency contracts.
