Skip to Content
Genfeed Core (OSS)Provider Registry

Provider Registry

Genfeed Core stores reviewed model records behind one generation-facing surface. Text models are curated through OpenRouter, media models are discovered from verified Replicate owners, and Genfeed-managed models remain an explicitly assigned provider.

Registry Layers

LayerFileRole
Model recordspackages/services/ai/models.service.tsReturns reviewed model records already known to the app
Replicate watcherapps/server/workers/src/crons/model-watcher/cron.model-watcher.service.tsCreates inactive review drafts for models from verified Replicate owners
OpenRouter catalogpackages/agent/src/constants/agent-models.constant.tsDefines the curated text-model choices exposed to the agent
BYOK accessapps/server/api/src/services/byok/*Resolves organization provider keys before hosted/server fallback at execution time
Generation toolspackages/tools/src/registry/source/index.tsExposes stable agent-facing tools such as generate_image and generate_video

How Discovery Works

The weekly watcher reads Replicate’s catalog, restricts results to verified owners, de-duplicates them by model key, and creates inactive records for operator review. It never activates a discovered model automatically.

OpenRouter choices are curated in code rather than mirroring the full upstream catalog. This keeps the user-facing text-model set deliberate and prevents unbounded provider dumps from filling the model table.

fal.ai remains a supported execution integration where a media path explicitly selects it, but Genfeed does not ingest the fal.ai catalog into the model table.

Provider Configuration

Provider discovery and provider execution are related but separate:

ConcernConfigurationUsed by
OpenRouter text executionOPENROUTER_API_KEYCurated agent and text-generation paths
Replicate discovery/runtimeREPLICATE_KEYReplicate watcher and generation integrations
fal.ai runtime executionFAL_API_KEYExplicit fal.ai generation integrations
Organization BYOK executionOrganization BYOK settingsRuntime provider resolution in ByokProviderFactoryService
Managed Cloud executionGENFEED_API_KEYExplicit Cloud-backed managed inference paths

Core does not require every provider key. At least one generation-capable provider must be configured for real generation, but docs and registry tests can run without live provider credentials.

Stable V1 Generation Surface

For v1, callers should treat these as the stable generation-facing surfaces:

  • Core Loop Step 3 docs: Generation Service
  • Agent tool metadata: packages/tools/src/registry/source.ts
  • Agent tool registry/UI mapping: packages/tools/src/registry/tool-registry.ts
  • Internal media APIs: /v1/images, /v1/videos, /v1/musics, /v1/voices/generate
  • Skill execution path: apps/server/api/src/services/skill-executor/*
  • Replicate discovery path: apps/server/workers/src/crons/model-watcher/cron.model-watcher.service.ts

Lower-level provider APIs and experimental model sync jobs can change as long as this stable surface keeps accepting the documented tool inputs and returns normalized generated media records.

Verification

Provider registry behavior is covered by:

  • apps/server/workers/src/crons/model-watcher/cron.model-watcher.service.spec.ts
  • apps/server/workers/src/services/model-discovery.service.spec.ts
  • apps/server/api/src/services/byok/byok-provider-map.util.spec.ts

The repository CI runs these suites in their owning workspaces.

Last updated on