Primitive/image2 min read

Introducing /image: Generate logos, brand assets, and marketing imagery on demand

Generate logos, brand assets, and marketing imagery from any AI Employee. Uses the image models documented for Naive API v2 (e.g. FLUX, Stable Diffusion, Recraft) plus free stock photo search — composed with /brand for consistent prompts.

/image /image /image /image /image /image /image /image /image /image
/image /image /image /image /image /image /image /image /image /image
/image /image /image /image /image /image /image /image /image /image
/image /image /image /image /image /image /image /image /image /image
/image /image /image /image /image /image /image /image /image /image
/image /image /image /image /image /image /image /image /image /image
/image /image /image /image /image /image /image /image /image /image
/image /image /image /image /image /image /image /image /image /image
/image /image /image /image /image /image /image /image /image /image
/image /image /image /image /image /image /image /image /image /image
/image /image /image /image /image /image /image /image /image /image
/image /image /image /image /image /image /image /image /image /image
/image /image /image /image /image /image /image /image /image /image
/image /image /image /image /image /image /image /image /image /image
Primitive/image
TL;DR
  • /image AI image generation (async jobs) and free stock photo search, per the published images guide
  • Model layer FLUX, Stable Diffusion, Recraft, and others returned by GET /v1/images/models; default CLI examples use fal-ai/flux/schnell
  • Brand-consistent prompts pair with `/brand` and encode palette/style in the prompt (see images + brand workflows)
  • Stock search naive images stock / GET /v1/images/stock for license-clean photography without generation spend
  • Composes with /social, /video, /email URLs from jobs or stock flow into other primitives
  • Billing dynamic credits per model; preview with /v1/images/pricing as documented

Today we're launching /image — the primitive that gives an AI Employee on-demand visuals. Logos, social cards, product mockups, marketing imagery — composed with /brand by passing palette and style into the prompt, and routed through the documented model catalog (FLUX, Recraft, Stable Diffusion, etc. — see Image Generation).

The problem: image generation without brand consistency is noise

Most agent-run businesses generate many images per week. Without discipline, palettes drift and every asset looks slightly different. The status quo is either creator UIs or raw model APIs where you own brand enforcement, job polling, and cost estimation.

How /image works

  1. Establish brand context — keep /brand fields handy as text you inject into prompts (the public images doc centers on prompt + input; wire brandId only if your integration already supports it).
  2. GeneratePOST /v1/images/generate with model and input: { prompt, image_size, num_images, ... } per the guide.
  3. Use — pass resulting URLs to /social, /video, or /email.

Two ways to generate: CLI or API

1. CLI

naive images generate \
  "social card announcing /image launch, our brand palette" \
  --model fal-ai/flux/schnell \
  --wait

List models with naive images models.

2. API

const response = await fetch("https://api.usenaive.ai/v1/images/generate", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${process.env.NAIVE_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    model: "fal-ai/flux/schnell",
    input: {
      prompt: "minimalist logo for a faceless YouTube channel called Lumen Letters",
      image_size: "square_hd",
      num_images: 1,
    },
  }),
});

const job = await response.json();
// Poll GET /v1/images/:jobId or GET /v1/jobs/:id per the images guide

Brand-consistent output

Reference brand colors and tone in the prompt (and keep using the same model id) so generations stay aligned until a dedicated brandId passthrough is part of your stack:

const response = await fetch("https://api.usenaive.ai/v1/images/generate", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${process.env.NAIVE_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    model: "fal-ai/flux/schnell",
    input: {
      prompt:
        "OG card for our weekly newsletter issue 7, flat design using #0F172A #3B82F6 #F59E0B",
      image_size: "landscape_16_9",
    },
  }),
});

Stock photos in the same primitive

When you need a real photograph, use stock search (naive images stock / GET /v1/images/stock) — documented as free credits-wise in the images guide.

naive images stock "modern office workspace" --count 10 --orientation landscape

Errors and moderation

Use the Error Handling table in the images guide (insufficient_credits, provider_error, invalid_model) — it is the authoritative behavior for recoverable failures.

What you can build with /image

Generate a logo at Company creation — Compose /image with /brand and /formation once the Company exists.

Produce per-post social imagery — Pair /image with /social.

Test creative variants — Batch prompts and models; measure downstream engagement in your own analytics.

Get started

Frequently Asked Questions
What is /image?+
/image covers AI image generation jobs and stock photo search as described at https://usenaive.ai/docs/getting-started/images — submit a job, poll status, or search stock in one primitive family.
How does /image work?+
POST /v1/images/generate with a model id and an input object (prompt, sizes, etc.), receive a job id, then poll GET /v1/images/:jobId or the unified jobs API until complete. For stock, call GET /v1/images/stock with query parameters documented in the guide.
Which models does Naïve support?+
The published guide lists common model ids such as fal-ai/flux/schnell, fal-ai/flux-pro/v1.1, fal-ai/recraft-v3, and fal-ai/stable-diffusion-v35-large; the canonical list is GET /v1/images/models.
Can I generate logos that are commercially safe?+
You own prompt design, model choice, and downstream legal review. The public docs describe provider errors and invalid_model recovery — they do not replace counsel for trademark clearance.
How much does /image cost?+
Generation uses dynamic credits per model (see the images guide and GET /v1/images/pricing). Stock search is documented as free.
What's the difference between /image and calling Fal or OpenAI directly?+
Direct vendor APIs give you raw inference. /image is Naïve's documented job flow, credit integration, stock search, and identity-scoped usage — so agents share one billing and status model.
How do I get started with /image?+
Run naive images generate '...' --model fal-ai/flux/schnell --wait or follow the curl examples in https://usenaive.ai/docs/getting-started/images . Quickstart: usenaive.ai/docs/getting-started/quickstart .
M
MyxEngineering

Engineering at Naïve. Owns the comms primitives.

@myx_naive