> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ninjachat.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Workflows

> Copy a brief for UGC ads, launch kits, narrated videos and longer agent-led productions.

Choose a workflow and copy its prompt. Your agent quotes each paid stage for approval.

<div className="ndoc-workflow-grid">
  <a href="#ugc-style-product-ad"><img src="https://cdn.photogenius.ai/new-ai-images/site/v1/landing/mcp/791b9425/ugc-reel-poster.webp" alt="Creator-style product ad" width="400" height="500" loading="lazy" /><span>Product ads<span aria-hidden="true">↗</span></span></a>
  <a href="#launch-campaign"><img src="https://cdn.photogenius.ai/new-ai-images/site/v1/landing/mcp/ff91269f/kiyo-citrus-studio.webp" alt="Citrus product campaign" width="400" height="500" loading="lazy" /><span>Launch campaigns<span aria-hidden="true">↗</span></span></a>
  <a href="#narrated-explainer"><img src="https://cdn.photogenius.ai/new-ai-images/site/v1/landing/mcp/44db34d5/rain-film-poster.webp" alt="Cinematic rain scene" width="400" height="500" loading="lazy" /><span>Narrated stories<span aria-hidden="true">↗</span></span></a>
</div>

## UGC-style product ad

Bring a product photo, audience and offer.

```text theme={null}
Use NinjaChat to plan a vertical creator-style ad for my product.
Ask for the product photo, audience, offer and budget. Draft three
hooks, then quote one still for each approved direction. Let me
choose before making clips and a voiceover. Keep my product
reference consistent. Return the clips, narration and caption copy.
Quote each paid stage and wait for approval. Do not publish.
```

Save the approved product and character references with `save_creation_as`, then reuse them with `use`. Review packaging and likeness before creating the next stage. Voiceover arrives as a separate track for editing.

## Launch campaign

```text theme={null}
Use NinjaChat to build a launch kit from my product photo and brand
brief: a hero, a square post, a vertical story and one short video.
Propose three art directions first. Ask for a budget, quote each
stage and wait for approval. Adapt the winning reference across
placements. Return named files and a list of what each is for.
```

## Narrated explainer

```text theme={null}
Use NinjaChat to make an explainer about how urban gardens cool
cities. Draft the script and storyboard first. Ask for my budget,
quote the scenes and narration, and wait for approval. Generate
approved stills, animate the selected scenes, and create the exact
approved voiceover. Return clips, audio and an edit plan. Do not publish.
```

Draft scripts in your agent; use [voiceovers](/mcp/voiceovers) to speak the approved words. Video length depends on the selected model, so plan longer stories as multiple clips.

## A week of content

```text theme={null}
Use NinjaChat to plan seven posts from my brand brief. Group them
by theme, reuse approved product references, and make one sample
before the batch. Ask for a total budget and quote every paid stage
for approval. Track finished outputs and costs so we can resume
without regenerating completed work. Return a content calendar,
named assets and download links. Do not schedule or publish posts.
```

## Website with generated media

```text theme={null}
Use NinjaChat to create visuals for this website. Inspect the design,
propose an art direction and ask for a budget. Quote assets and wait
for approval, then generate the hero and supporting images. Save
and verify each file before wiring it into the page. If motion helps,
quote one hero clip and prepare it for scroll-driven playback.
Show me the finished local preview before publishing anything.
```

`prepare_scrub_video` returns optimized video assets for scroll-driven playback. An agent with code access can implement the page; `publish_page` can publish a complete HTML document to your `ninja.site` address after approval.

## Consistent game or story assets

```text theme={null}
Use NinjaChat to develop a visual kit for a cozy observatory game:
one character, three environments and a title image. Ask for the
style, target sizes and budget. Quote a small style exploration
for approval first. Save the winning references, then quote the
remaining assets. Keep a manifest of references, generation IDs
and filenames so we can continue later.
```

## Compare before committing

```text theme={null}
Use NinjaChat to compare three image models for a glass perfume
bottle on wet stone. Quote the comparison under $1 and wait for
approval. Show labeled results and their costs, then let me choose.
```

`compare_models` compares text-to-image models. For an exact product reference, use separate quoted image generations with the same reference instead.

## Keep longer jobs reliable

* Use `search_models` and `estimate_cost` before paid work; match the model, count, duration or exact speech script to the quote.
* Keep video job IDs and poll `get_generation_status` until finished. Resume the existing job after a timeout.
* Reuse an `idempotency_key` only for the same request. Speech requires one.
* Save approved image references by name. Recover past media with `search_creations` and `get_creation`.
* Keep a manifest of outputs, costs and remaining work. Scheduling, media assembly and repository edits require capabilities in your agent environment.

Explore finished examples and editable briefs in the [workflow gallery](https://www.ninjachat.ai/mcp#workflows).
