@jini-ai/integrations 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -0
- package/README.md +51 -0
- package/dist/composio/bounded-data.d.ts +36 -0
- package/dist/composio/bounded-data.d.ts.map +1 -0
- package/dist/composio/bounded-data.js +181 -0
- package/dist/composio/bounded-data.js.map +1 -0
- package/dist/composio/catalog.d.ts +147 -0
- package/dist/composio/catalog.d.ts.map +1 -0
- package/dist/composio/catalog.js +126 -0
- package/dist/composio/catalog.js.map +1 -0
- package/dist/composio/composio-config.d.ts +42 -0
- package/dist/composio/composio-config.d.ts.map +1 -0
- package/dist/composio/composio-config.js +145 -0
- package/dist/composio/composio-config.js.map +1 -0
- package/dist/composio/composio-descriptions.d.ts +16 -0
- package/dist/composio/composio-descriptions.d.ts.map +1 -0
- package/dist/composio/composio-descriptions.js +766 -0
- package/dist/composio/composio-descriptions.js.map +1 -0
- package/dist/composio/composio.d.ts +364 -0
- package/dist/composio/composio.d.ts.map +1 -0
- package/dist/composio/composio.js +1902 -0
- package/dist/composio/composio.js.map +1 -0
- package/dist/composio/errors.d.ts +15 -0
- package/dist/composio/errors.d.ts.map +1 -0
- package/dist/composio/errors.js +16 -0
- package/dist/composio/errors.js.map +1 -0
- package/dist/composio/file-lock.d.ts +13 -0
- package/dist/composio/file-lock.d.ts.map +1 -0
- package/dist/composio/file-lock.js +92 -0
- package/dist/composio/file-lock.js.map +1 -0
- package/dist/composio/index.d.ts +18 -0
- package/dist/composio/index.d.ts.map +1 -0
- package/dist/composio/index.js +7 -0
- package/dist/composio/index.js.map +1 -0
- package/dist/composio/json-schema.d.ts +93 -0
- package/dist/composio/json-schema.d.ts.map +1 -0
- package/dist/composio/json-schema.js +498 -0
- package/dist/composio/json-schema.js.map +1 -0
- package/dist/composio/output-protection.d.ts +32 -0
- package/dist/composio/output-protection.d.ts.map +1 -0
- package/dist/composio/output-protection.js +105 -0
- package/dist/composio/output-protection.js.map +1 -0
- package/dist/composio/service.d.ts +181 -0
- package/dist/composio/service.d.ts.map +1 -0
- package/dist/composio/service.js +758 -0
- package/dist/composio/service.js.map +1 -0
- package/dist/media-providers/capability-registry.d.ts +28 -0
- package/dist/media-providers/capability-registry.d.ts.map +1 -0
- package/dist/media-providers/capability-registry.js +27 -0
- package/dist/media-providers/capability-registry.js.map +1 -0
- package/dist/media-providers/catalog.d.ts +20 -0
- package/dist/media-providers/catalog.d.ts.map +1 -0
- package/dist/media-providers/catalog.js +20 -0
- package/dist/media-providers/catalog.js.map +1 -0
- package/dist/media-providers/dispatch/context.d.ts +21 -0
- package/dist/media-providers/dispatch/context.d.ts.map +1 -0
- package/dist/media-providers/dispatch/context.js +36 -0
- package/dist/media-providers/dispatch/context.js.map +1 -0
- package/dist/media-providers/dispatch/credentials.d.ts +4 -0
- package/dist/media-providers/dispatch/credentials.d.ts.map +1 -0
- package/dist/media-providers/dispatch/credentials.js +25 -0
- package/dist/media-providers/dispatch/credentials.js.map +1 -0
- package/dist/media-providers/dispatch/engine.d.ts +30 -0
- package/dist/media-providers/dispatch/engine.d.ts.map +1 -0
- package/dist/media-providers/dispatch/engine.js +208 -0
- package/dist/media-providers/dispatch/engine.js.map +1 -0
- package/dist/media-providers/dispatch/index.d.ts +25 -0
- package/dist/media-providers/dispatch/index.d.ts.map +1 -0
- package/dist/media-providers/dispatch/index.js +24 -0
- package/dist/media-providers/dispatch/index.js.map +1 -0
- package/dist/media-providers/dispatch/openai-compatible.d.ts +44 -0
- package/dist/media-providers/dispatch/openai-compatible.d.ts.map +1 -0
- package/dist/media-providers/dispatch/openai-compatible.js +214 -0
- package/dist/media-providers/dispatch/openai-compatible.js.map +1 -0
- package/dist/media-providers/dispatch/providers/aihubmix-shared.d.ts +72 -0
- package/dist/media-providers/dispatch/providers/aihubmix-shared.d.ts.map +1 -0
- package/dist/media-providers/dispatch/providers/aihubmix-shared.js +131 -0
- package/dist/media-providers/dispatch/providers/aihubmix-shared.js.map +1 -0
- package/dist/media-providers/dispatch/providers/aihubmix.d.ts +4 -0
- package/dist/media-providers/dispatch/providers/aihubmix.d.ts.map +1 -0
- package/dist/media-providers/dispatch/providers/aihubmix.js +205 -0
- package/dist/media-providers/dispatch/providers/aihubmix.js.map +1 -0
- package/dist/media-providers/dispatch/providers/custom-image.d.ts +6 -0
- package/dist/media-providers/dispatch/providers/custom-image.d.ts.map +1 -0
- package/dist/media-providers/dispatch/providers/custom-image.js +94 -0
- package/dist/media-providers/dispatch/providers/custom-image.js.map +1 -0
- package/dist/media-providers/dispatch/providers/elevenlabs.d.ts +4 -0
- package/dist/media-providers/dispatch/providers/elevenlabs.d.ts.map +1 -0
- package/dist/media-providers/dispatch/providers/elevenlabs.js +163 -0
- package/dist/media-providers/dispatch/providers/elevenlabs.js.map +1 -0
- package/dist/media-providers/dispatch/providers/fishaudio.d.ts +3 -0
- package/dist/media-providers/dispatch/providers/fishaudio.d.ts.map +1 -0
- package/dist/media-providers/dispatch/providers/fishaudio.js +83 -0
- package/dist/media-providers/dispatch/providers/fishaudio.js.map +1 -0
- package/dist/media-providers/dispatch/providers/grok.d.ts +15 -0
- package/dist/media-providers/dispatch/providers/grok.d.ts.map +1 -0
- package/dist/media-providers/dispatch/providers/grok.js +150 -0
- package/dist/media-providers/dispatch/providers/grok.js.map +1 -0
- package/dist/media-providers/dispatch/providers/imagerouter.d.ts +6 -0
- package/dist/media-providers/dispatch/providers/imagerouter.d.ts.map +1 -0
- package/dist/media-providers/dispatch/providers/imagerouter.js +131 -0
- package/dist/media-providers/dispatch/providers/imagerouter.js.map +1 -0
- package/dist/media-providers/dispatch/providers/minimax.d.ts +3 -0
- package/dist/media-providers/dispatch/providers/minimax.d.ts.map +1 -0
- package/dist/media-providers/dispatch/providers/minimax.js +96 -0
- package/dist/media-providers/dispatch/providers/minimax.js.map +1 -0
- package/dist/media-providers/dispatch/providers/nanobanana.d.ts +3 -0
- package/dist/media-providers/dispatch/providers/nanobanana.d.ts.map +1 -0
- package/dist/media-providers/dispatch/providers/nanobanana.js +142 -0
- package/dist/media-providers/dispatch/providers/nanobanana.js.map +1 -0
- package/dist/media-providers/dispatch/providers/openai.d.ts +4 -0
- package/dist/media-providers/dispatch/providers/openai.d.ts.map +1 -0
- package/dist/media-providers/dispatch/providers/openai.js +231 -0
- package/dist/media-providers/dispatch/providers/openai.js.map +1 -0
- package/dist/media-providers/dispatch/providers/openrouter.d.ts +13 -0
- package/dist/media-providers/dispatch/providers/openrouter.d.ts.map +1 -0
- package/dist/media-providers/dispatch/providers/openrouter.js +152 -0
- package/dist/media-providers/dispatch/providers/openrouter.js.map +1 -0
- package/dist/media-providers/dispatch/providers/senseaudio.d.ts +4 -0
- package/dist/media-providers/dispatch/providers/senseaudio.d.ts.map +1 -0
- package/dist/media-providers/dispatch/providers/senseaudio.js +190 -0
- package/dist/media-providers/dispatch/providers/senseaudio.js.map +1 -0
- package/dist/media-providers/dispatch/providers/volcengine.d.ts +3 -0
- package/dist/media-providers/dispatch/providers/volcengine.d.ts.map +1 -0
- package/dist/media-providers/dispatch/providers/volcengine.js +95 -0
- package/dist/media-providers/dispatch/providers/volcengine.js.map +1 -0
- package/dist/media-providers/dispatch/response-parsers.d.ts +44 -0
- package/dist/media-providers/dispatch/response-parsers.d.ts.map +1 -0
- package/dist/media-providers/dispatch/response-parsers.js +103 -0
- package/dist/media-providers/dispatch/response-parsers.js.map +1 -0
- package/dist/media-providers/dispatch/ssrf-guard.d.ts +51 -0
- package/dist/media-providers/dispatch/ssrf-guard.d.ts.map +1 -0
- package/dist/media-providers/dispatch/ssrf-guard.js +215 -0
- package/dist/media-providers/dispatch/ssrf-guard.js.map +1 -0
- package/dist/media-providers/dispatch/stub.d.ts +5 -0
- package/dist/media-providers/dispatch/stub.d.ts.map +1 -0
- package/dist/media-providers/dispatch/stub.js +98 -0
- package/dist/media-providers/dispatch/stub.js.map +1 -0
- package/dist/media-providers/dispatch/types.d.ts +133 -0
- package/dist/media-providers/dispatch/types.d.ts.map +1 -0
- package/dist/media-providers/dispatch/types.js +2 -0
- package/dist/media-providers/dispatch/types.js.map +1 -0
- package/dist/media-providers/dispatch/vendor-adapter.d.ts +54 -0
- package/dist/media-providers/dispatch/vendor-adapter.d.ts.map +1 -0
- package/dist/media-providers/dispatch/vendor-adapter.js +68 -0
- package/dist/media-providers/dispatch/vendor-adapter.js.map +1 -0
- package/dist/media-providers/dispatch/vendor-registry.d.ts +36 -0
- package/dist/media-providers/dispatch/vendor-registry.d.ts.map +1 -0
- package/dist/media-providers/dispatch/vendor-registry.js +46 -0
- package/dist/media-providers/dispatch/vendor-registry.js.map +1 -0
- package/dist/media-providers/index.d.ts +22 -0
- package/dist/media-providers/index.d.ts.map +1 -0
- package/dist/media-providers/index.js +22 -0
- package/dist/media-providers/index.js.map +1 -0
- package/dist/media-providers/policy.d.ts +49 -0
- package/dist/media-providers/policy.d.ts.map +1 -0
- package/dist/media-providers/policy.js +39 -0
- package/dist/media-providers/policy.js.map +1 -0
- package/dist/media-providers/providers.d.ts +33 -0
- package/dist/media-providers/providers.d.ts.map +1 -0
- package/dist/media-providers/providers.js +200 -0
- package/dist/media-providers/providers.js.map +1 -0
- package/dist/media-providers/seed.d.ts +14 -0
- package/dist/media-providers/seed.d.ts.map +1 -0
- package/dist/media-providers/seed.js +109 -0
- package/dist/media-providers/seed.js.map +1 -0
- package/dist/media-providers/sqlite-task-store.d.ts +29 -0
- package/dist/media-providers/sqlite-task-store.d.ts.map +1 -0
- package/dist/media-providers/sqlite-task-store.js +234 -0
- package/dist/media-providers/sqlite-task-store.js.map +1 -0
- package/dist/media-providers/staging.d.ts +29 -0
- package/dist/media-providers/staging.d.ts.map +1 -0
- package/dist/media-providers/staging.js +141 -0
- package/dist/media-providers/staging.js.map +1 -0
- package/dist/media-providers/task-store.d.ts +94 -0
- package/dist/media-providers/task-store.d.ts.map +1 -0
- package/dist/media-providers/task-store.js +160 -0
- package/dist/media-providers/task-store.js.map +1 -0
- package/dist/media-providers/tokens.d.ts +7 -0
- package/dist/media-providers/tokens.d.ts.map +1 -0
- package/dist/media-providers/tokens.js +13 -0
- package/dist/media-providers/tokens.js.map +1 -0
- package/dist/media-providers/types.d.ts +123 -0
- package/dist/media-providers/types.d.ts.map +1 -0
- package/dist/media-providers/types.js +12 -0
- package/dist/media-providers/types.js.map +1 -0
- package/dist/media-providers/video-request.d.ts +62 -0
- package/dist/media-providers/video-request.d.ts.map +1 -0
- package/dist/media-providers/video-request.js +219 -0
- package/dist/media-providers/video-request.js.map +1 -0
- package/package.json +93 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"policy.js","sourceRoot":"","sources":["../../src/media-providers/policy.ts"],"names":[],"mappings":"AAsCA,sEAAsE;AACtE,2EAA2E;AAC3E,yEAAyE;AACzE,yEAAyE;AACzE,0DAA0D;AAC1D,MAAM,CAAC,MAAM,8BAA8B,GAAyB,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;AAWzF;;;;;GAKG;AACH,MAAM,UAAU,0BAA0B,CAAC,SAA+B,8BAA8B;IACtG,OAAO;QACL,QAAQ,CAAC,MAAyB;YAChC,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAC/B,OAAO,EAAE,IAAI,EAAE,0BAA0B,EAAE,OAAO,EAAE,2CAA2C,EAAE,CAAC;YACpG,CAAC;YACD,IAAI,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;gBACpH,OAAO,EAAE,IAAI,EAAE,sBAAsB,EAAE,OAAO,EAAE,kBAAkB,MAAM,CAAC,OAAO,+BAA+B,EAAE,CAAC;YACpH,CAAC;YACD,uEAAuE;YACvE,oEAAoE;YACpE,sEAAsE;YACtE,4DAA4D;YAC5D,MAAM,eAAe,GAAG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC;YAC7C,IAAI,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5D,IAAI,CAAC,eAAe,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;oBACxE,OAAO;wBACL,IAAI,EAAE,oBAAoB;wBAC1B,OAAO,EAAE,eAAe,eAAe,CAAC,CAAC,CAAC,IAAI,eAAe,GAAG,CAAC,CAAC,CAAC,kBAAkB,8BAA8B;qBACpH,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The multi-vendor media-provider/model catalogue — reference data, not
|
|
3
|
+
* product identity. Ported near-verbatim from OD's
|
|
4
|
+
* `apps/daemon/src/media/models.ts`; every provider id/label/hint here names
|
|
5
|
+
* a real third-party vendor (OpenAI, Fal.ai, ElevenLabs, ...), not an OD
|
|
6
|
+
* concept, so per the AGENTS.md boundary rule (no product-identity strings)
|
|
7
|
+
* it ports as data. See `source-map.md` for exactly what was dropped.
|
|
8
|
+
*/
|
|
9
|
+
import type { AudioKind, MediaModel, MediaProvider, MediaSurface } from './types.js';
|
|
10
|
+
export declare const MEDIA_PROVIDERS: readonly MediaProvider[];
|
|
11
|
+
export declare const IMAGE_MODELS: readonly MediaModel[];
|
|
12
|
+
export declare const VIDEO_MODELS: readonly MediaModel[];
|
|
13
|
+
export declare const AUDIO_MODELS_BY_KIND: Readonly<Record<AudioKind, readonly MediaModel[]>>;
|
|
14
|
+
export declare const MEDIA_ASPECTS: readonly string[];
|
|
15
|
+
export declare const VIDEO_LENGTHS_SEC: readonly number[];
|
|
16
|
+
export declare const AUDIO_DURATIONS_SEC: readonly number[];
|
|
17
|
+
/** Finds a model by id across every surface (image, video, and all three audio kinds). */
|
|
18
|
+
export declare function findMediaModel(id: string): MediaModel | null;
|
|
19
|
+
/** Finds a provider by id in `MEDIA_PROVIDERS`. */
|
|
20
|
+
export declare function findProvider(id: string): MediaProvider | null;
|
|
21
|
+
/** Returns the model list for a surface; `audioKind` selects which audio sub-list (defaults to `'music'`). */
|
|
22
|
+
export declare function modelsForSurface(surface: MediaSurface, audioKind?: AudioKind): readonly MediaModel[];
|
|
23
|
+
/**
|
|
24
|
+
* Standard (non-product-scoped) credential env var names each provider's own
|
|
25
|
+
* SDK/docs recognize, in priority order. De-branded from OD's
|
|
26
|
+
* `apps/daemon/src/media/config.ts` `PROVIDER_ENV_CANDIDATES`: that map led
|
|
27
|
+
* every provider with an `OD_*`-prefixed project-scoped override var, which
|
|
28
|
+
* is a host concern (a project-local secrets layer), not vendor reference
|
|
29
|
+
* data — dropped here. A host that wants its own override var prepends it to
|
|
30
|
+
* this list itself. Reference data only; this package never reads `process.env`.
|
|
31
|
+
*/
|
|
32
|
+
export declare const PROVIDER_CREDENTIAL_ENV_VARS: Readonly<Record<string, readonly string[]>>;
|
|
33
|
+
//# sourceMappingURL=providers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../src/media-providers/providers.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAErF,eAAO,MAAM,eAAe,EAAE,SAAS,aAAa,EAqC1C,CAAC;AAEX,eAAO,MAAM,YAAY,EAAE,SAAS,UAAU,EA6CpC,CAAC;AAEX,eAAO,MAAM,YAAY,EAAE,SAAS,UAAU,EA+BpC,CAAC;AAEX,eAAO,MAAM,oBAAoB,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,UAAU,EAAE,CAAC,CAqB1E,CAAC;AAEX,eAAO,MAAM,aAAa,EAAE,SAAS,MAAM,EAA0C,CAAC;AACtF,eAAO,MAAM,iBAAiB,EAAE,SAAS,MAAM,EAA0B,CAAC;AAC1E,eAAO,MAAM,mBAAmB,EAAE,SAAS,MAAM,EAA6B,CAAC;AAE/E,0FAA0F;AAC1F,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAS5D;AAED,mDAAmD;AACnD,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAE7D;AAED,8GAA8G;AAC9G,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,YAAY,EAAE,SAAS,CAAC,EAAE,SAAS,GAAG,SAAS,UAAU,EAAE,CASpG;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,4BAA4B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAoB3E,CAAC"}
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
export const MEDIA_PROVIDERS = [
|
|
2
|
+
{ id: 'openai', label: 'OpenAI', hint: 'gpt-image-2 / dall-e-3', integrated: true, defaultBaseUrl: 'https://api.openai.com/v1' },
|
|
3
|
+
{ id: 'volcengine', label: 'Volcengine Ark (Doubao)', hint: 'Seedance 2.0 / Seedream', integrated: true, defaultBaseUrl: 'https://ark.cn-beijing.volces.com/api/v3' },
|
|
4
|
+
{ id: 'grok', label: 'xAI Grok Imagine', hint: 'grok-imagine — image + video with native audio', integrated: true, defaultBaseUrl: 'https://api.x.ai/v1' },
|
|
5
|
+
{ id: 'hyperframes', label: 'HyperFrames', hint: 'Local HTML -> MP4 renderer', integrated: true, credentialsRequired: false, settingsVisible: false },
|
|
6
|
+
{ id: 'nanobanana', label: 'Nano Banana', hint: 'Google official by default; custom gateway configurable', integrated: true, defaultBaseUrl: 'https://generativelanguage.googleapis.com', supportsCustomModel: true },
|
|
7
|
+
{ id: 'imagerouter', label: 'ImageRouter', hint: 'OpenAI-compatible image + video routing', integrated: true, defaultBaseUrl: 'https://api.imagerouter.io/v1/openai', docsUrl: 'https://docs.imagerouter.io/api-reference/image-generation/', supportsCustomModel: true, customModelPlaceholder: 'openai/gpt-image-2 or xAI/grok-imagine-video' },
|
|
8
|
+
{ id: 'openrouter', label: 'OpenRouter', hint: 'Unified gateway for image + video models', integrated: true, credentialsRequired: true, settingsVisible: true, defaultBaseUrl: 'https://openrouter.ai/api/v1', docsUrl: 'https://openrouter.ai/settings/keys' },
|
|
9
|
+
{ id: 'custom-image', label: 'Custom Media API', hint: 'OpenAI-compatible images/generations + images/edits (local or cloud)', integrated: true, docsUrl: 'https://platform.openai.com/docs/api-reference/images', supportsCustomModel: true, customModelPlaceholder: 'my-image-model' },
|
|
10
|
+
{ id: 'comfyui', label: 'ComfyUI', hint: 'Local JSON workflow server (planned adapter)', integrated: false, defaultBaseUrl: 'http://127.0.0.1:8188', docsUrl: 'https://docs.comfy.org/development/core-concepts/workflow' },
|
|
11
|
+
{ id: 'bfl', label: 'Black Forest Labs', hint: 'FLUX 1.1 Pro / FLUX Pro / Dev', integrated: false, defaultBaseUrl: 'https://api.bfl.ai' },
|
|
12
|
+
{ id: 'fal', label: 'Fal.ai', hint: 'FLUX / Sora / Veo / Wan / Ideogram / Recraft and any fal-ai/* model', integrated: true, defaultBaseUrl: 'https://fal.run', supportsCustomModel: true },
|
|
13
|
+
{ id: 'leonardo', label: 'Leonardo.ai', hint: 'Phoenix / Kino XL / FLUX', integrated: true, credentialsRequired: true, settingsVisible: true, defaultBaseUrl: 'https://cloud.leonardo.ai/api/rest/v1' },
|
|
14
|
+
{ id: 'replicate', label: 'Replicate', hint: 'FLUX / SDXL / Ideogram', integrated: false, defaultBaseUrl: 'https://api.replicate.com' },
|
|
15
|
+
{ id: 'google', label: 'Google AI / Vertex', hint: 'Imagen 4 / Veo 3 / Lyria', integrated: false },
|
|
16
|
+
{ id: 'kling', label: 'Kuaishou Kling', hint: 'Kling 1.6 / 2.0 video', integrated: false },
|
|
17
|
+
{ id: 'midjourney', label: 'Midjourney (proxy)', hint: 'midjourney-v7', integrated: false },
|
|
18
|
+
{ id: 'minimax', label: 'MiniMax', hint: 'TTS / video-01', integrated: true, defaultBaseUrl: 'https://api.minimaxi.chat/v1' },
|
|
19
|
+
{ id: 'suno', label: 'Suno', hint: 'Music generation', integrated: false },
|
|
20
|
+
{ id: 'udio', label: 'Udio', hint: 'Music generation', integrated: false },
|
|
21
|
+
{ id: 'elevenlabs', label: 'ElevenLabs', hint: 'Voice / SFX', integrated: true, defaultBaseUrl: 'https://api.elevenlabs.io', docsUrl: 'https://elevenlabs.io/app/settings/api-keys' },
|
|
22
|
+
{ id: 'fishaudio', label: 'FishAudio', hint: 'Speech / voice clone', integrated: true, defaultBaseUrl: 'https://api.fish.audio' },
|
|
23
|
+
{ id: 'senseaudio', label: 'SenseAudio', hint: '', integrated: true, defaultBaseUrl: 'https://api.senseaudio.cn', docsUrl: 'https://docs.senseaudio.cn' },
|
|
24
|
+
{
|
|
25
|
+
id: 'aihubmix',
|
|
26
|
+
label: 'AIHubMix',
|
|
27
|
+
hint: 'OpenAI-compatible aggregator · image + speech',
|
|
28
|
+
integrated: true,
|
|
29
|
+
credentialsRequired: true,
|
|
30
|
+
settingsVisible: true,
|
|
31
|
+
defaultBaseUrl: 'https://aihubmix.com/v1',
|
|
32
|
+
docsUrl: 'https://docs.aihubmix.com',
|
|
33
|
+
supportsCustomModel: true,
|
|
34
|
+
customModelPlaceholder: 'gpt-image-2 or dall-e-3',
|
|
35
|
+
},
|
|
36
|
+
{ id: 'tavily', label: 'Tavily Search', hint: 'Agent-callable web research', integrated: true, defaultBaseUrl: 'https://api.tavily.com' },
|
|
37
|
+
{ id: 'stub', label: 'Stub (placeholder)', hint: 'Deterministic local placeholder bytes', integrated: true },
|
|
38
|
+
];
|
|
39
|
+
export const IMAGE_MODELS = [
|
|
40
|
+
{ id: 'gpt-image-2', label: 'gpt-image-2', hint: 'OpenAI · 4K, native multimodal', provider: 'openai', caps: ['t2i', 'i2i', 'inpaint'], default: true },
|
|
41
|
+
{ id: 'gpt-image-1.5', label: 'gpt-image-1.5', hint: 'OpenAI · 4× faster than gpt-image-1', provider: 'openai', caps: ['t2i', 'i2i', 'inpaint'] },
|
|
42
|
+
{ id: 'gpt-image-1', label: 'gpt-image-1', hint: 'OpenAI · ChatGPT native', provider: 'openai', caps: ['t2i', 'i2i', 'inpaint'] },
|
|
43
|
+
{ id: 'gpt-image-1-mini', label: 'gpt-image-1-mini', hint: 'OpenAI · low-cost variant', provider: 'openai', caps: ['t2i', 'i2i'] },
|
|
44
|
+
{ id: 'dall-e-3', label: 'dall-e-3', hint: 'OpenAI · classic', provider: 'openai', caps: ['t2i'] },
|
|
45
|
+
{ id: 'dall-e-2', label: 'dall-e-2', hint: 'OpenAI · legacy', provider: 'openai', caps: ['t2i'] },
|
|
46
|
+
{ id: 'doubao-seedream-3-0-t2i-250415', label: 'seedream-3.0', hint: 'ByteDance · Doubao image', provider: 'volcengine', caps: ['t2i'] },
|
|
47
|
+
{ id: 'doubao-seededit-3-0-i2i-250628', label: 'seededit-3.0', hint: 'ByteDance · image edit', provider: 'volcengine', caps: ['i2i'] },
|
|
48
|
+
{ id: 'senseaudio-image-2.0-260319', label: 'senseaudio-image-2.0', hint: 'SenseAudio · multi-aspect, latest', provider: 'senseaudio', caps: ['t2i', 'i2i'] },
|
|
49
|
+
{ id: 'senseaudio-image-1.0-260319', label: 'senseaudio-image-1.0', hint: 'SenseAudio · standard', provider: 'senseaudio', caps: ['t2i', 'i2i'] },
|
|
50
|
+
{ id: 'doubao-seedream-5-0-260128', label: 'seedream-5.0', hint: 'SenseAudio · ByteDance Seedream 5.0 hi-res', provider: 'senseaudio', caps: ['t2i', 'i2i'] },
|
|
51
|
+
{ id: 'aihubmix-gpt-image-1', label: 'gpt-image-1 (AIHubMix)', hint: 'AIHubMix · OpenAI gpt-image-1', provider: 'aihubmix', caps: ['t2i', 'i2i'] },
|
|
52
|
+
{ id: 'aihubmix-dall-e-3', label: 'dall-e-3 (AIHubMix)', hint: 'AIHubMix · OpenAI DALL·E 3', provider: 'aihubmix', caps: ['t2i'] },
|
|
53
|
+
{ id: 'grok-imagine-image', label: 'grok-imagine-image', hint: 'xAI · 2K text-to-image', provider: 'grok', caps: ['t2i'] },
|
|
54
|
+
{ id: 'gemini-3.1-flash-image-preview', label: 'nano-banana-2', hint: 'Nano Banana · text-to-image', provider: 'nanobanana', caps: ['t2i'] },
|
|
55
|
+
{ id: 'openai/gpt-image-2', label: 'openai/gpt-image-2', hint: 'ImageRouter · routed GPT Image', provider: 'imagerouter', caps: ['t2i'] },
|
|
56
|
+
{ id: 'openai/gpt-image-1.5', label: 'openai/gpt-image-1.5', hint: 'ImageRouter · routed GPT Image', provider: 'imagerouter', caps: ['t2i'] },
|
|
57
|
+
{ id: 'black-forest-labs/FLUX-1.1-pro', label: 'FLUX-1.1-pro', hint: 'ImageRouter · Black Forest Labs', provider: 'imagerouter', caps: ['t2i'] },
|
|
58
|
+
{ id: 'openrouter/google/gemini-2.5-flash-image', label: 'gemini-flash-image (OR)', hint: 'OpenRouter · Gemini', provider: 'openrouter', caps: ['t2i'] },
|
|
59
|
+
{ id: 'openrouter/black-forest-labs/flux-1.1-pro', label: 'flux-1.1-pro (OR)', hint: 'OpenRouter · BFL', provider: 'openrouter', caps: ['t2i'] },
|
|
60
|
+
{ id: 'openrouter/recraft/recraft-v3', label: 'recraft-v3 (OR)', hint: 'OpenRouter · Recraft', provider: 'openrouter', caps: ['t2i'] },
|
|
61
|
+
{ id: 'custom-image', label: 'custom-image', hint: 'Custom · OpenAI-compatible endpoint', provider: 'custom-image', caps: ['t2i', 'i2i'] },
|
|
62
|
+
{ id: 'flux-1.1-pro', label: 'flux-1.1-pro', hint: 'BFL · flagship', provider: 'bfl', caps: ['t2i', 'i2i'] },
|
|
63
|
+
{ id: 'flux-pro', label: 'flux-pro', hint: 'BFL', provider: 'bfl', caps: ['t2i'] },
|
|
64
|
+
{ id: 'flux-dev', label: 'flux-dev', hint: 'BFL · open weights', provider: 'bfl', caps: ['t2i'] },
|
|
65
|
+
{ id: 'flux-schnell', label: 'flux-schnell', hint: 'BFL · fast', provider: 'bfl', caps: ['t2i'] },
|
|
66
|
+
{ id: 'flux-kontext-pro', label: 'flux-kontext-pro', hint: 'BFL · in-context edits', provider: 'bfl', caps: ['t2i', 'i2i'] },
|
|
67
|
+
{ id: 'imagen-4', label: 'imagen-4', hint: 'Google · latest', provider: 'google', caps: ['t2i'] },
|
|
68
|
+
{ id: 'imagen-3', label: 'imagen-3', hint: 'Google', provider: 'google', caps: ['t2i'] },
|
|
69
|
+
{ id: 'gemini-3-pro-image-preview', label: 'gemini-3-pro-image', hint: 'Google · Nano Banana Pro', provider: 'google', caps: ['t2i', 'i2i'] },
|
|
70
|
+
{ id: 'ideogram-v2', label: 'ideogram-v2', hint: 'Replicate · typography', provider: 'replicate', caps: ['t2i'] },
|
|
71
|
+
{ id: 'sdxl', label: 'stable-diffusion-xl', hint: 'Replicate · SDXL', provider: 'replicate', caps: ['t2i'] },
|
|
72
|
+
{ id: 'flux-pro-ultra', label: 'flux-pro-ultra', hint: 'Fal · FLUX 1.1 Pro Ultra · highest quality (~60–180s)', provider: 'fal', caps: ['t2i'] },
|
|
73
|
+
{ id: 'flux-dev-fal', label: 'flux-dev (fal)', hint: 'Fal · FLUX Dev · balanced quality/speed (~15–40s)', provider: 'fal', caps: ['t2i'] },
|
|
74
|
+
{ id: 'flux-schnell-fal', label: 'flux-schnell (fal)', hint: 'Fal · FLUX Schnell · fastest (~3–8s)', provider: 'fal', caps: ['t2i'] },
|
|
75
|
+
{ id: 'ideogram-v3-fal', label: 'ideogram-v3', hint: 'Fal · Ideogram v3 · typography + design (~15–30s)', provider: 'fal', caps: ['t2i'] },
|
|
76
|
+
{ id: 'recraft-v3-fal', label: 'recraft-v3', hint: 'Fal · Recraft v3 · vector + illustration (~15–30s)', provider: 'fal', caps: ['t2i'] },
|
|
77
|
+
{ id: 'sd-3.5', label: 'stable-diffusion-3.5', hint: 'Fal · SD 3.5 (~20–40s)', provider: 'fal', caps: ['t2i'] },
|
|
78
|
+
{ id: 'leonardo-phoenix', label: 'Phoenix', hint: 'Leonardo · versatile', provider: 'leonardo', caps: ['t2i'] },
|
|
79
|
+
{ id: 'leonardo-kino-xl', label: 'Kino XL', hint: 'Leonardo · cinematic', provider: 'leonardo', caps: ['t2i'] },
|
|
80
|
+
{ id: 'leonardo-flux-dev', label: 'FLUX Dev', hint: 'Leonardo · FLUX', provider: 'leonardo', caps: ['t2i'] },
|
|
81
|
+
{ id: 'leonardo-flux-schnell', label: 'FLUX Schnell', hint: 'Leonardo · fast', provider: 'leonardo', caps: ['t2i'] },
|
|
82
|
+
{ id: 'leonardo-anime-pastel', label: 'Anime Pastel Dream', hint: 'Leonardo · anime', provider: 'leonardo', caps: ['t2i'] },
|
|
83
|
+
{ id: 'midjourney-v7', label: 'midjourney-v7', hint: 'Midjourney · via proxy', provider: 'midjourney', caps: ['t2i'] },
|
|
84
|
+
];
|
|
85
|
+
export const VIDEO_MODELS = [
|
|
86
|
+
{ id: 'doubao-seedance-2-0-260128', label: 'seedance-2.0', hint: 'ByteDance · t2v + i2v + audio', provider: 'volcengine', caps: ['t2v', 'i2v', 'audio'], default: true },
|
|
87
|
+
{ id: 'doubao-seedance-2-0-fast-260128', label: 'seedance-2.0-fast', hint: 'ByteDance · faster, cheaper', provider: 'volcengine', caps: ['t2v', 'i2v', 'audio'] },
|
|
88
|
+
{ id: 'doubao-seedance-1-0-pro-250528', label: 'seedance-1.0-pro', hint: 'ByteDance · 1.0', provider: 'volcengine', caps: ['t2v', 'i2v'] },
|
|
89
|
+
{ id: 'doubao-seedance-1-0-lite-i2v-250428', label: 'seedance-1.0-lite-i2v', hint: 'ByteDance · image-to-video', provider: 'volcengine', caps: ['i2v'] },
|
|
90
|
+
{ id: 'doubao-seedance-1-0-lite-t2v-250428', label: 'seedance-1.0-lite-t2v', hint: 'ByteDance · text-to-video', provider: 'volcengine', caps: ['t2v'] },
|
|
91
|
+
{ id: 'grok-imagine-video', label: 'grok-imagine-video', hint: 'xAI · 720p t2v + i2v + native audio', provider: 'grok', caps: ['t2v', 'i2v', 'audio'] },
|
|
92
|
+
{ id: 'openrouter/bytedance/seedance-2.0:1080p', label: 'seedance-2.0 1080p (OR)', hint: 'OpenRouter · ByteDance · 1080p', provider: 'openrouter', caps: ['t2v', 'i2v'], default: true },
|
|
93
|
+
{ id: 'openrouter/bytedance/seedance-2.0', label: 'seedance-2.0 720p (OR)', hint: 'OpenRouter · ByteDance · 720p', provider: 'openrouter', caps: ['t2v', 'i2v'] },
|
|
94
|
+
{ id: 'openrouter/bytedance/seedance-2.0:480p', label: 'seedance-2.0 480p (OR)', hint: 'OpenRouter · ByteDance · 480p', provider: 'openrouter', caps: ['t2v', 'i2v'] },
|
|
95
|
+
{ id: 'openrouter/google/veo-3.1', label: 'veo-3.1 (OR)', hint: 'OpenRouter · Google', provider: 'openrouter', caps: ['t2v', 'i2v', 'audio'] },
|
|
96
|
+
{ id: 'openrouter/alibaba/wan-2.7', label: 'wan-2.7 (OR)', hint: 'OpenRouter · Alibaba', provider: 'openrouter', caps: ['t2v', 'i2v'] },
|
|
97
|
+
{ id: 'openrouter/kwaivgi/kling-v3.0-pro', label: 'kling-v3.0-pro (OR)', hint: 'OpenRouter · Kuaishou', provider: 'openrouter', caps: ['t2v', 'i2v'] },
|
|
98
|
+
{ id: 'xAI/grok-imagine-video', label: 'xAI/grok-imagine-video', hint: 'ImageRouter · routed video', provider: 'imagerouter', caps: ['t2v', 'audio'] },
|
|
99
|
+
{ id: 'bytedance/seedance-1.5-pro', label: 'seedance-1.5-pro', hint: 'ImageRouter · Bytedance', provider: 'imagerouter', caps: ['t2v'] },
|
|
100
|
+
{ id: 'google/veo-3.1-lite', label: 'veo-3.1-lite', hint: 'ImageRouter · Google', provider: 'imagerouter', caps: ['t2v'] },
|
|
101
|
+
{ id: 'kling-2.0', label: 'kling-2.0', hint: 'Kuaishou · latest', provider: 'kling', caps: ['t2v', 'i2v'] },
|
|
102
|
+
{ id: 'kling-1.6', label: 'kling-1.6', hint: 'Kuaishou', provider: 'kling', caps: ['t2v', 'i2v'] },
|
|
103
|
+
{ id: 'kling-1.5', label: 'kling-1.5', hint: 'Kuaishou', provider: 'kling', caps: ['t2v', 'i2v'] },
|
|
104
|
+
{ id: 'veo-3', label: 'veo-3', hint: 'Google · sound-on', provider: 'google', caps: ['t2v', 'audio'] },
|
|
105
|
+
{ id: 'veo-2', label: 'veo-2', hint: 'Google', provider: 'google', caps: ['t2v'] },
|
|
106
|
+
{ id: 'veo-3-fal', label: 'veo-3 (fal)', hint: 'Fal · Google Veo 3 · sound-on', provider: 'fal', caps: ['t2v', 'audio'] },
|
|
107
|
+
{ id: 'veo-2-fal', label: 'veo-2 (fal)', hint: 'Fal · Google Veo 2', provider: 'fal', caps: ['t2v'] },
|
|
108
|
+
{ id: 'wan-2.1-t2v', label: 'wan-2.1-t2v', hint: 'Fal · Wan 2.1 text-to-video', provider: 'fal', caps: ['t2v'] },
|
|
109
|
+
{ id: 'wan-2.1-i2v', label: 'wan-2.1-i2v', hint: 'Fal · Wan 2.1 image-to-video', provider: 'fal', caps: ['i2v'] },
|
|
110
|
+
{ id: 'seedance-1-pro-fal', label: 'seedance-1-pro (fal)', hint: 'Fal · Seedance 1 Pro', provider: 'fal', caps: ['t2v', 'i2v'] },
|
|
111
|
+
{ id: 'kling-2.1-t2v-fal', label: 'kling-2.1 (fal)', hint: 'Fal · Kling 2.1 Pro text-to-video', provider: 'fal', caps: ['t2v'] },
|
|
112
|
+
{ id: 'sora-2', label: 'sora-2', hint: 'Fal · OpenAI Sora 2', provider: 'fal', caps: ['t2v'] },
|
|
113
|
+
{ id: 'sora-2-pro', label: 'sora-2-pro', hint: 'Fal · OpenAI Sora 2 Pro', provider: 'fal', caps: ['t2v'] },
|
|
114
|
+
{ id: 'minimax-video-01', label: 'video-01', hint: 'MiniMax · Hailuo', provider: 'minimax', caps: ['t2v', 'i2v'] },
|
|
115
|
+
{ id: 'hyperframes-html', label: 'hyperframes-html', hint: 'HyperFrames · local HTML renderer', provider: 'hyperframes', caps: ['t2v'] },
|
|
116
|
+
];
|
|
117
|
+
export const AUDIO_MODELS_BY_KIND = {
|
|
118
|
+
music: [
|
|
119
|
+
{ id: 'suno-v5', label: 'suno-v5', hint: 'Suno · default', provider: 'suno', caps: ['music'], default: true },
|
|
120
|
+
{ id: 'suno-v4-5', label: 'suno-v4.5', hint: 'Suno', provider: 'suno', caps: ['music'] },
|
|
121
|
+
{ id: 'udio-v2', label: 'udio-v2', hint: 'Udio', provider: 'udio', caps: ['music'] },
|
|
122
|
+
{ id: 'lyria-2', label: 'lyria-2', hint: 'Google', provider: 'google', caps: ['music'] },
|
|
123
|
+
],
|
|
124
|
+
speech: [
|
|
125
|
+
{ id: 'minimax-tts', label: 'minimax-tts', hint: 'MiniMax', provider: 'minimax', caps: ['tts'], default: true },
|
|
126
|
+
{ id: 'fish-speech-2', label: 'fish-speech-2', hint: 'FishAudio', provider: 'fishaudio', caps: ['tts', 'voice-clone'] },
|
|
127
|
+
{ id: 'elevenlabs-v3', label: 'elevenlabs-v3', hint: 'ElevenLabs', provider: 'elevenlabs', caps: ['tts', 'voice-clone'] },
|
|
128
|
+
{ id: 'senseaudio-tts', label: 'senseaudio-tts', hint: 'SenseAudio', provider: 'senseaudio', caps: ['tts', 'voice-clone'] },
|
|
129
|
+
{ id: 'doubao-tts', label: 'doubao-tts', hint: 'Volcengine', provider: 'volcengine', caps: ['tts'] },
|
|
130
|
+
{ id: 'gpt-4o-mini-tts', label: 'gpt-4o-mini-tts', hint: 'OpenAI', provider: 'openai', caps: ['tts'] },
|
|
131
|
+
{ id: 'aihubmix-tts-1', label: 'tts-1 (AIHubMix)', hint: 'AIHubMix · OpenAI tts-1', provider: 'aihubmix', caps: ['tts'] },
|
|
132
|
+
{ id: 'grok-tts', label: 'grok-tts', hint: 'xAI · multilingual · uses Grok subscription', provider: 'grok', caps: ['tts'] },
|
|
133
|
+
],
|
|
134
|
+
sfx: [
|
|
135
|
+
{ id: 'elevenlabs-sfx', label: 'elevenlabs-sfx', hint: 'ElevenLabs SFX', provider: 'elevenlabs', caps: ['sfx'], default: true },
|
|
136
|
+
{ id: 'audiocraft', label: 'audiocraft', hint: 'Meta · open', provider: 'replicate', caps: ['sfx', 'music'] },
|
|
137
|
+
],
|
|
138
|
+
};
|
|
139
|
+
export const MEDIA_ASPECTS = ['1:1', '16:9', '9:16', '4:3', '3:4'];
|
|
140
|
+
export const VIDEO_LENGTHS_SEC = [3, 5, 8, 10, 15, 30];
|
|
141
|
+
export const AUDIO_DURATIONS_SEC = [5, 10, 15, 30, 60, 120];
|
|
142
|
+
/** Finds a model by id across every surface (image, video, and all three audio kinds). */
|
|
143
|
+
export function findMediaModel(id) {
|
|
144
|
+
const all = [
|
|
145
|
+
...IMAGE_MODELS,
|
|
146
|
+
...VIDEO_MODELS,
|
|
147
|
+
...AUDIO_MODELS_BY_KIND.music,
|
|
148
|
+
...AUDIO_MODELS_BY_KIND.speech,
|
|
149
|
+
...AUDIO_MODELS_BY_KIND.sfx,
|
|
150
|
+
];
|
|
151
|
+
return all.find((m) => m.id === id) ?? null;
|
|
152
|
+
}
|
|
153
|
+
/** Finds a provider by id in `MEDIA_PROVIDERS`. */
|
|
154
|
+
export function findProvider(id) {
|
|
155
|
+
return MEDIA_PROVIDERS.find((p) => p.id === id) ?? null;
|
|
156
|
+
}
|
|
157
|
+
/** Returns the model list for a surface; `audioKind` selects which audio sub-list (defaults to `'music'`). */
|
|
158
|
+
export function modelsForSurface(surface, audioKind) {
|
|
159
|
+
if (surface === 'image')
|
|
160
|
+
return IMAGE_MODELS;
|
|
161
|
+
if (surface === 'video')
|
|
162
|
+
return VIDEO_MODELS;
|
|
163
|
+
// AUDIO_MODELS_BY_KIND is a Record<AudioKind, ...>, so indexing with a
|
|
164
|
+
// valid AudioKind is exhaustive — no fallback branch needed (unlike the
|
|
165
|
+
// origin's untyped JS, where `|| AUDIO_MODELS_BY_KIND.music` guarded
|
|
166
|
+
// against an unvalidated string key).
|
|
167
|
+
const kind = audioKind ?? 'music';
|
|
168
|
+
return AUDIO_MODELS_BY_KIND[kind];
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Standard (non-product-scoped) credential env var names each provider's own
|
|
172
|
+
* SDK/docs recognize, in priority order. De-branded from OD's
|
|
173
|
+
* `apps/daemon/src/media/config.ts` `PROVIDER_ENV_CANDIDATES`: that map led
|
|
174
|
+
* every provider with an `OD_*`-prefixed project-scoped override var, which
|
|
175
|
+
* is a host concern (a project-local secrets layer), not vendor reference
|
|
176
|
+
* data — dropped here. A host that wants its own override var prepends it to
|
|
177
|
+
* this list itself. Reference data only; this package never reads `process.env`.
|
|
178
|
+
*/
|
|
179
|
+
export const PROVIDER_CREDENTIAL_ENV_VARS = {
|
|
180
|
+
openai: ['OPENAI_API_KEY'],
|
|
181
|
+
volcengine: ['ARK_API_KEY', 'VOLCENGINE_API_KEY'],
|
|
182
|
+
grok: ['XAI_API_KEY'],
|
|
183
|
+
nanobanana: ['GOOGLE_API_KEY', 'GEMINI_API_KEY'],
|
|
184
|
+
imagerouter: ['IMAGEROUTER_API_KEY'],
|
|
185
|
+
openrouter: ['OPENROUTER_API_KEY'],
|
|
186
|
+
'custom-image': ['CUSTOM_IMAGE_API_KEY'],
|
|
187
|
+
bfl: ['BFL_API_KEY'],
|
|
188
|
+
fal: ['FAL_KEY'],
|
|
189
|
+
replicate: ['REPLICATE_API_TOKEN'],
|
|
190
|
+
google: ['GOOGLE_API_KEY', 'GEMINI_API_KEY'],
|
|
191
|
+
kling: ['KLING_API_KEY'],
|
|
192
|
+
minimax: ['MINIMAX_API_KEY'],
|
|
193
|
+
elevenlabs: ['ELEVENLABS_API_KEY'],
|
|
194
|
+
fishaudio: ['FISH_AUDIO_API_KEY'],
|
|
195
|
+
senseaudio: ['SENSEAUDIO_API_KEY'],
|
|
196
|
+
aihubmix: ['AIHUBMIX_API_KEY'],
|
|
197
|
+
tavily: ['TAVILY_API_KEY'],
|
|
198
|
+
leonardo: ['LEONARDO_API_KEY'],
|
|
199
|
+
};
|
|
200
|
+
//# sourceMappingURL=providers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../../src/media-providers/providers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reference capability seed data, ported verbatim from OD's
|
|
3
|
+
* `apps/daemon/src/media-adapters/seed.ts` (itself sourced from AIHubMix's
|
|
4
|
+
* `lib/models.ts` + DB, per that file's own header comment). Every field
|
|
5
|
+
* here is real vendor model behavior verified against a live upstream call
|
|
6
|
+
* (see the inline notes) — reference data, not product identity.
|
|
7
|
+
*
|
|
8
|
+
* Consumers should go through `createCapabilityRegistry(MEDIA_CAPABILITY_SEED)`
|
|
9
|
+
* rather than importing this directly, so a future live-fetched catalogue is
|
|
10
|
+
* a local swap (see `capability-registry.ts`).
|
|
11
|
+
*/
|
|
12
|
+
import type { ModelCapability } from './types.js';
|
|
13
|
+
export declare const MEDIA_CAPABILITY_SEED: readonly ModelCapability[];
|
|
14
|
+
//# sourceMappingURL=seed.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"seed.d.ts","sourceRoot":"","sources":["../../src/media-providers/seed.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,eAAO,MAAM,qBAAqB,EAAE,SAAS,eAAe,EA+G3D,CAAC"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
export const MEDIA_CAPABILITY_SEED = [
|
|
2
|
+
// ── ByteDance Seedance (Volcengine Ark) — multimodal content[] array ─────
|
|
3
|
+
{
|
|
4
|
+
id: 'doubao-seedance-2-0-260128',
|
|
5
|
+
apiModel: 'doubao-seedance-2-0-260128',
|
|
6
|
+
mediaType: 'video',
|
|
7
|
+
family: 'seedance',
|
|
8
|
+
caps: ['t2v', 'i2v'],
|
|
9
|
+
supportedFrameImages: ['first_frame', 'reference_image'],
|
|
10
|
+
supportedAspectRatios: ['16:9', '9:16', '1:1', '4:3', '3:4'],
|
|
11
|
+
generateAudio: true,
|
|
12
|
+
seed: true,
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
id: 'doubao-seedance-2-0-fast-260128',
|
|
16
|
+
apiModel: 'doubao-seedance-2-0-fast-260128',
|
|
17
|
+
mediaType: 'video',
|
|
18
|
+
family: 'seedance',
|
|
19
|
+
caps: ['t2v', 'i2v'],
|
|
20
|
+
supportedFrameImages: ['first_frame', 'reference_image'],
|
|
21
|
+
supportedAspectRatios: ['16:9', '9:16', '1:1', '4:3', '3:4'],
|
|
22
|
+
},
|
|
23
|
+
// ── Alibaba Wan (DashScope/wanx wire: input.media + parameters) ──────────
|
|
24
|
+
{
|
|
25
|
+
id: 'wan2.5-t2v-preview',
|
|
26
|
+
apiModel: 'wan2.5-t2v-preview',
|
|
27
|
+
mediaType: 'video',
|
|
28
|
+
family: 'wan',
|
|
29
|
+
caps: ['t2v'],
|
|
30
|
+
supportedDurations: [5, 10],
|
|
31
|
+
supportedResolutions: ['480P', '720P', '1080P'],
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
id: 'wan2.5-i2v-preview',
|
|
35
|
+
apiModel: 'wan2.5-i2v-preview',
|
|
36
|
+
mediaType: 'video',
|
|
37
|
+
family: 'wan',
|
|
38
|
+
caps: ['i2v'],
|
|
39
|
+
supportedFrameImages: ['first_frame'],
|
|
40
|
+
supportedDurations: [5, 10],
|
|
41
|
+
supportedResolutions: ['480P', '720P', '1080P'],
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
id: 'wan2.6-i2v',
|
|
45
|
+
apiModel: 'wan2.6-i2v',
|
|
46
|
+
mediaType: 'video',
|
|
47
|
+
family: 'wan',
|
|
48
|
+
caps: ['i2v'],
|
|
49
|
+
supportedFrameImages: ['first_frame'],
|
|
50
|
+
supportedResolutions: ['480P', '720P', '1080P'],
|
|
51
|
+
},
|
|
52
|
+
// ── OpenAI Sora — flat shape with input_reference ────────────────────────
|
|
53
|
+
{
|
|
54
|
+
id: 'sora-2',
|
|
55
|
+
apiModel: 'sora-2',
|
|
56
|
+
mediaType: 'video',
|
|
57
|
+
family: 'generic',
|
|
58
|
+
caps: ['t2v', 'i2v'],
|
|
59
|
+
supportedFrameImages: ['first_frame'],
|
|
60
|
+
supportedSizes: ['720x1280', '1280x720'],
|
|
61
|
+
supportedDurations: [4, 8, 12],
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
id: 'sora-2-pro',
|
|
65
|
+
apiModel: 'sora-2-pro',
|
|
66
|
+
mediaType: 'video',
|
|
67
|
+
family: 'generic',
|
|
68
|
+
caps: ['t2v', 'i2v'],
|
|
69
|
+
supportedFrameImages: ['first_frame'],
|
|
70
|
+
supportedSizes: ['720x1280', '1280x720', '1792x1024', '1024x1792'],
|
|
71
|
+
supportedDurations: [4, 8, 12],
|
|
72
|
+
},
|
|
73
|
+
// ── Google Veo — own `veo` family (Gemini predictLongRunning shim) ───────
|
|
74
|
+
// Text-to-video only on the verified gateway: a reference image in any
|
|
75
|
+
// accepted form 400s with "inlineData/referenceImages isn't supported by
|
|
76
|
+
// this model", so no i2v cap/frame images here. `seconds` must be a NUMBER;
|
|
77
|
+
// only `size` is honoured (no aspect_ratio). Veo accepts 4/6/8 seconds only.
|
|
78
|
+
{
|
|
79
|
+
id: 'veo-3.1-generate-preview',
|
|
80
|
+
apiModel: 'veo-3.1-generate-preview',
|
|
81
|
+
mediaType: 'video',
|
|
82
|
+
family: 'veo',
|
|
83
|
+
caps: ['t2v'],
|
|
84
|
+
supportedDurations: [4, 6, 8],
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
id: 'veo-3.1-lite-generate-preview',
|
|
88
|
+
apiModel: 'veo-3.1-lite-generate-preview',
|
|
89
|
+
mediaType: 'video',
|
|
90
|
+
family: 'veo',
|
|
91
|
+
caps: ['t2v'],
|
|
92
|
+
supportedDurations: [4, 6, 8],
|
|
93
|
+
},
|
|
94
|
+
// ── HappyHorse (Alibaba, DashScope/wanx-backed) ──────────────────────────
|
|
95
|
+
// Verified against a working call: uses the DashScope wanx wire —
|
|
96
|
+
// { input:{ prompt, media:[{type:first_frame,url}] }, parameters:{...} } —
|
|
97
|
+
// not the flat input_reference shape, so it routes through the `wan` family.
|
|
98
|
+
{
|
|
99
|
+
id: 'happyhorse-1.0-i2v',
|
|
100
|
+
apiModel: 'happyhorse-1.0-i2v',
|
|
101
|
+
mediaType: 'video',
|
|
102
|
+
family: 'wan',
|
|
103
|
+
caps: ['i2v'],
|
|
104
|
+
supportedFrameImages: ['first_frame'],
|
|
105
|
+
supportedDurations: [5],
|
|
106
|
+
supportedResolutions: ['480P', '720P', '1080P'],
|
|
107
|
+
},
|
|
108
|
+
];
|
|
109
|
+
//# sourceMappingURL=seed.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"seed.js","sourceRoot":"","sources":["../../src/media-providers/seed.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { MediaTaskStore } from './task-store.js';
|
|
2
|
+
/** A `MediaTaskStore` backed by a `better-sqlite3` database, plus a `close()` to release the file handle. */
|
|
3
|
+
export interface SqliteMediaTaskStore extends MediaTaskStore {
|
|
4
|
+
close(): Promise<void>;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Opens (creating if absent) a `better-sqlite3` database at `dbPath` and
|
|
8
|
+
* returns a `MediaTaskStore` backed by it. Pass `':memory:'` for a
|
|
9
|
+
* non-durable in-process database (useful in tests that want SQL semantics
|
|
10
|
+
* without a file). Schema creation is idempotent (`CREATE TABLE IF NOT
|
|
11
|
+
* EXISTS`), so re-opening the same file resumes from whatever was durably
|
|
12
|
+
* committed — this is what makes an in-flight job's state survive a
|
|
13
|
+
* process restart: a fresh `createSqliteMediaTaskStore(dbPath)` call after
|
|
14
|
+
* the process comes back up sees every task exactly as it was left, and
|
|
15
|
+
* `reconcileOnBoot` can then mark anything still `queued`/`running` as
|
|
16
|
+
* `interrupted`.
|
|
17
|
+
*
|
|
18
|
+
* `better-sqlite3` (a native compiled addon) is dynamically imported here
|
|
19
|
+
* rather than statically at module scope (mirroring `@jini-ai/daemon`'s
|
|
20
|
+
* `loadRealSpawnPty`/`node-pty` pattern) — this package's root barrel
|
|
21
|
+
* re-exports this module unconditionally, so a static top-level import would
|
|
22
|
+
* force every consumer of `@jini-ai/integrations/media-providers`, even one wanting only
|
|
23
|
+
* `renderStub`, to load the native binary at module-evaluation time. Now
|
|
24
|
+
* only an actual `createSqliteMediaTaskStore` call pays that cost, and it
|
|
25
|
+
* fails cleanly (a rejected promise) rather than crashing unrelated imports
|
|
26
|
+
* if the platform/environment lacks a usable prebuild.
|
|
27
|
+
*/
|
|
28
|
+
export declare function createSqliteMediaTaskStore(dbPath: string): Promise<SqliteMediaTaskStore>;
|
|
29
|
+
//# sourceMappingURL=sqlite-task-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sqlite-task-store.d.ts","sourceRoot":"","sources":["../../src/media-providers/sqlite-task-store.ts"],"names":[],"mappings":"AA0CA,OAAO,KAAK,EASV,cAAc,EACf,MAAM,iBAAiB,CAAC;AAwEzB,6GAA6G;AAC7G,MAAM,WAAW,oBAAqB,SAAQ,cAAc;IAC1D,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,0BAA0B,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAgM9F"}
|