---
title: "Create image generation job"
method: POST
path: "/generate/images"
---

# Create image generation job

`POST /generate/images`

## Request

- Base URL: `https://api.bamf.ai/v1`
- URL: `https://api.bamf.ai/v1/generate/images`
- Auth: HTTP bearer

Generates quote cards, creator portrait images, infographics, and package-bound LinkedIn profile assets. reference_bindings preserves official identity, product, and brand truth separately from inspiration used only for style or layout. profile_banner is generated at 2400x800 then center-cropped/resized to 1584x396; profile_featured is generated at 1536x800 then center-cropped/resized to 1200x628. Profile jobs never attach to posts and return profile_package_asset.generated_asset with a durableRef when the job succeeds.

## Request body

- GenerateImageRequest
  - `creator_id` string, uuid, required
  - `prompt` string, required
  - `visual_type` 'image_quote' | 'infographic' | 'personal' | 'profile_banner' | 'profile_featured'
  - `profile_package_id` string, uuid: Required for profile_banner and profile_featured; must be an active package owned by creator_id.
  - `profile_asset_kind` 'banner' | 'featured_1' | 'featured_2': profile_banner accepts banner; profile_featured accepts featured_1 or featured_2.
  - `size` string: Caller-selected size for non-profile images. Profile image source sizes are enforced server-side.
  - `quality` 'low' | 'medium' | 'high' | 'auto'
  - `n` integer: Profile image jobs always enforce n=1.
  - `referenceImageUrls` string[]
  - `likenessReferenceImageUrls` string[]
  - `styleReferenceImageUrls` string[]
  - `reference_bindings` ResolvedMultimodalReferenceV1[]: Resolved official and inspiration references. Official person identity routes to likeness; other official references preserve exact product or brand truth; inspiration can guide style, layout, pose, or lighting only. The validated snapshot is persisted with the generation job.
    - `binding` MultimodalReferenceBindingV1, required
      - `schemaVersion` 'bamf.multimodal-reference-binding/v1', required
      - `bindingId` string, required
      - `workspaceId` string, required
      - `subjectId` string, required
      - `subjectType` 'person' | 'product' | 'logo' | 'typography' | 'palette' | 'icon' | 'brand_rules' | 'creator_voice' | 'brand_voice', required
      - `assetId` string, required
      - `assetVersion` string, required
      - `authority` 'official' | 'inspiration', required
      - `purposes` string[], required
      - `required` boolean, required
      - `consent` object, required
        - `status` 'granted' | 'not_required' | 'unknown' | 'revoked' | 'expired', required
        - `receiptRef` string
        - `scopes` string[], required
        - `grantedAt` string, date-time
        - `expiresAt` string, date-time
        - `revokedAt` string, date-time
      - `provenance` object, required
        - `sourceKind` 'upload' | 'capture' | 'provider_import' | 'generated' | 'migration', required
        - `sourceRef` string, required
        - `contentHash` string
        - `observedAt` string, date-time, required
        - `actorRef` string
      - `createdAt` string, date-time, required
    - `asset_url` string, uri, required: HTTP(S) URL for the immutable asset version named by the binding.
  - `post_id` string, uuid: Optional for non-profile images. Forbidden for profile image jobs.
  - `alt_text` string
  - `metadata` unknown

## Response `202`

Image generation job queued

- ApiJobResponse
  - `data` ApiJob
    - `id` string
    - `job_type` 'post.generate' | 'post.edit' | 'image.generate' | 'carousel.generate' | 'carousel.pdf' | 'brand_kit.generate' | 'research.run' | 'knowledge.process' | 'analytics.sync'
    - `status` 'queued' | 'running' | 'succeeded' | 'completed' | 'failed' | 'cancelled' | 'canceled'
    - `creator_id` string
    - `input` unknown
    - `output` unknown
    - `error` unknown
    - `created_at` string, date-time, nullable
    - `updated_at` string, date-time, nullable

## Other responses

- `400`: Invalid reference binding, profile package binding, asset slot, or post attachment
- `404`: Active profile package not found for this creator

---

[API](https://skmtc.dev/bamf/apis/bamf-developer-platform-api.md) · [All operations](https://skmtc.dev/bamf/apis/bamf-developer-platform-api/llms.txt) · [OpenAPI document](https://skmtc.dev/bamf/apis/bamf-developer-platform-api/revisions/a390dd3294bd?raw)
