Skip to content

AI and creative

Generate ad images and copy, research a business, save skills. 5 tools: 1 read, 4 write.

Tool Access What it does
nc_generate_ad_image write Generate a single ad-creative image via Imagen 4 or Nano Banana Pro (Gemini API).
nc_generate_ad_image_variants write Generate 5 aspect-ratio variants of the same prompt (1:1, 4:5, 9:16, 16:9, 1.91:1) — the Meta/Google ad-platform sweet spot.
nc_generate_ad_copy write Generate ad copy with character limits enforced server-side.
nc_research_business_from_url read Light, by-the-book research from a public URL.
nc_create_skill write Save a new reusable skill that the user designed in this conversation.

write Needs mcp:write on an OAuth or MCP-server token.

Generate a single ad-creative image via Imagen 4 or Nano Banana Pro (Gemini API). Auto-routes Hebrew/RTL prompts to Nano Banana Pro (better Hebrew text rendering). Returns a signed URL + image_asset_id. Re-uses cached images for identical (prompt, model, aspect) within 30 days. Requires marketing.edit.

Argument Type Required Description
prompt string yes Describe the image in any language. Hebrew prompts auto-route to Nano Banana Pro for legible text rendering.
aspect_ratio string One of: 1:1, 4:5, 9:16, 16:9, 1.91:1, 4:3, 3:4 · Default: "1:1"
model string One of: auto, imagen-4, nano-banana-pro · Default: "auto"
seed integer Imagen only. Deterministic seed.

write Needs mcp:write on an OAuth or MCP-server token.

Generate 5 aspect-ratio variants of the same prompt (1:1, 4:5, 9:16, 16:9, 1.91:1) — the Meta/Google ad-platform sweet spot. Returns 5 signed URLs + asset_ids. Costs up to 5× nc_generate_ad_image. Caching applies per (prompt, model, aspect). Requires marketing.edit.

Argument Type Required Description
prompt string yes
model string One of: auto, imagen-4, nano-banana-pro · Default: "auto"

write Needs mcp:write on an OAuth or MCP-server token.

Generate ad copy with character limits enforced server-side. Returns Meta primary text (≤125), headline (≤40), description (≤27), Google RSA 5 headlines (≤30 each), 4 descriptions (≤90 each). Hebrew, English, or Russian based on the brief language. Requires marketing.edit.

Argument Type Required Description
brief string yes Plain-language brief: product, audience, key benefit, tone.
language string One of: he, en, ru, auto · Default: "auto"
cta_type string Optional. e.g. SHOP_NOW, SIGN_UP, LEARN_MORE.

read Works with mcp:read.

Light, by-the-book research from a public URL. Accepts a generic https website OR an Instagram profile URL (https://instagram.com/{handle}). Returns a structured business profile (business_type, location_guess, target_audience_guess, primary_offer_guess, brand_voice, top_3_products). For Instagram: uses Facebook’s official instagram_oembed endpoint ONLY — no headless browsing, no cookie use, no scraping past first response. For websites: server-side fetch of the first 8KB of body text with an identifying User-Agent. Use BEFORE asking the agency to retype the client’s brief; bake the result into the elicitation message.

Argument Type Required Description
url string yes Public https URL: a website OR https://instagram.com/{handle}.

write Needs mcp:write on an OAuth or MCP-server token.

Save a new reusable skill that the user designed in this conversation. Use this when the Skill Creator has gathered: name (short), description (one line), system_prompt (the instructions the skill should carry), and optionally tool_allowlist (array of MCP tool names) and default_model (OpenRouter model id). Persists to ai_skills scoped to the calling org. Returns the new skill id + slug.

Argument Type Required Description
name string yes Short human-readable name (e.g. “Weekly Marketing Report”).
description string One-line description shown in the picker.
system_prompt string yes The instructions the skill carries — prepended to every conversation it is attached to.
icon string Optional lucide icon name (sparkles, file-text, presentation, file, mail, calendar). Defaults to sparkles.
tool_allowlist string[] Optional list of nc_* tool names the skill restricts itself to.
default_model string Optional OpenRouter model id the skill prefers (e.g. anthropic/claude-sonnet-4).