Skip to content

Comments

feat(prefab): optional PhotoBuilder (e.g. Gemini) provider and API key#100

Merged
manuelkiessling merged 1 commit intomainfrom
feature/prefab-gemini-photobuilder
Feb 17, 2026
Merged

feat(prefab): optional PhotoBuilder (e.g. Gemini) provider and API key#100
manuelkiessling merged 1 commit intomainfrom
feature/prefab-gemini-photobuilder

Conversation

@manuelkiessling
Copy link
Member

Summary

Allows prefab entries in prefabs.yaml to optionally set dedicated PhotoBuilder provider and API key (e.g. Google Gemini for image generation), so that projects created from that prefab use them instead of the content-editing LLM settings.

Changes

  • prefabs.yaml.example: Document optional photo_builder_llm_model_provider and photo_builder_llm_api_key; add commented example for Gemini.
  • PrefabDto: New optional photoBuilderLlmModelProvider and photoBuilderLlmApiKey (both null when omitted).
  • PrefabLoader: Parse and validate: both keys must be set or both omitted; provider must be openai/google and support PhotoBuilder; skip invalid entries with warning.
  • ProjectMgmtFacade: Pass prefab PhotoBuilder provider and key into ProjectService::create() when set (no longer always null).
  • Tests: PrefabLoaderTest — load with dedicated PhotoBuilder keys; skip when only one key set; skip when invalid provider.
  • Docs: docs/llm-usage-book.md — one sentence that prefabs can optionally set dedicated PhotoBuilder in prefabs.yaml.

Behaviour

  • When both optional keys are omitted: unchanged (PhotoBuilder uses content-editing settings).
  • When both are set (e.g. photo_builder_llm_model_provider: "google", photo_builder_llm_api_key: "..."): the created project gets dedicated PhotoBuilder (Gemini image + prompt models) with that key. Existing keys_visible applies to this key as well.

Quality and tests (PHP + frontend) run successfully.

- prefabs.yaml: optional photo_builder_llm_model_provider and photo_builder_llm_api_key
- PrefabDto: add nullable photoBuilderLlmModelProvider, photoBuilderLlmApiKey
- PrefabLoader: parse and validate (both set or both omitted; provider must support PhotoBuilder)
- ProjectMgmtFacade: pass prefab PhotoBuilder settings into createProjectFromPrefab
- PrefabLoaderTest: dedicated PhotoBuilder keys, skip when only one set, skip invalid provider
- docs: prefabs.yaml.example Gemini example; llm-usage-book prefab PhotoBuilder note
@manuelkiessling manuelkiessling self-assigned this Feb 17, 2026
@manuelkiessling manuelkiessling added the enhancement New feature or request label Feb 17, 2026
@manuelkiessling manuelkiessling merged commit 4478301 into main Feb 17, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant