@shop-os/modelkit 0.9.0 → 0.10.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/CHANGELOG.md +15 -0
- package/README.md +2 -1
- package/dist/catalog.cjs +454 -386
- package/dist/catalog.cjs.map +1 -1
- package/dist/catalog.d.cts +6 -3
- package/dist/catalog.d.ts +6 -3
- package/dist/catalog.js +454 -386
- package/dist/catalog.js.map +1 -1
- package/dist/index.cjs +967 -617
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +9 -4
- package/dist/index.d.ts +9 -4
- package/dist/index.js +966 -617
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -9,6 +9,21 @@ header in the release PR.
|
|
|
9
9
|
|
|
10
10
|
## [Unreleased]
|
|
11
11
|
|
|
12
|
+
## [0.10.0] - Unreleased
|
|
13
|
+
|
|
14
|
+
ElevenLabs direct: text to speech and instant voice cloning on our own ElevenLabs account (ENG-3400).
|
|
15
|
+
|
|
16
|
+
### Added
|
|
17
|
+
- Adapter `elevenlabs` for the ElevenLabs REST API (`https://api.elevenlabs.io`, base-url override `endpoints.elevenlabs`). Key `elevenlabs` from `ELEVENLABS_API_KEY`, with the `ENTERPRISE_` / `SLOOSH_` prefixes; a sloosh call without `SLOOSH_ELEVENLABS_API_KEY` fails with `auth`. fal's ElevenLabs rows run on fal's account and cannot see a cloned voice, so custom voices need the direct API.
|
|
18
|
+
- Speech row `elevenlabs-v4-direct` (`model_id` `eleven_v4`): the 18 previewed premade voices under their ElevenLabs voice ids (taken from the preview URLs; default Sarah `EXAVITQu4vr4xnSDxMaL`), the v4 languages, the ElevenLabs MP3 `output_format`s (default `mp3_44100_128`), 10,000 characters, `capabilities.customVoices`. Usage is one `images`-unit call, like the other speech rows.
|
|
19
|
+
- Voice-clone row `elevenlabs-ivc` (Instant Voice Clone, `POST /v1/voices/add`): 1-25 samples, `enhance` sent as `remove_background_noise`, transcripts ignored (IVC takes none), a `designSignature` refused with `unsupported_option` (a Fish design cannot be kept on ElevenLabs). Returns `voiceId` and `state` `trained`, or `created` while ElevenLabs holds the voice for verification. Usage unit `requests`. `deleteVoice` on the same row (`DELETE /v1/voices/{id}`).
|
|
20
|
+
|
|
21
|
+
### Notes
|
|
22
|
+
- Both rows ship with `exposure: []`: callable by id, listed nowhere, unpriced. fal's ElevenLabs rows keep their exposure.
|
|
23
|
+
- `createVoice` retries only a 429: after a 5xx ElevenLabs may already hold the voice. A full voice library (`voice_limit_reached`) is `provider_rejected` with ElevenLabs' message; a 401 `quota_exceeded` is `provider_billing`, not `auth`.
|
|
24
|
+
- `deleteVoice` follows Fish: a first-attempt "not found" (404, or a 400 `voice_not_found` / `voice_does_not_exist`) is `provider_rejected`, since a voice of another account looks unknown too; after a failed attempt of the same call it counts as deleted.
|
|
25
|
+
- A kit before 0.10.0 refuses the `elevenlabs` adapter id, so these rows stay invisible to consumers that have not upgraded.
|
|
26
|
+
|
|
12
27
|
## [0.9.0] - Unreleased
|
|
13
28
|
|
|
14
29
|
Fish Audio: text to speech, voice cloning and voice design (ENG-3400).
|
package/README.md
CHANGED
|
@@ -52,6 +52,7 @@ const transcript = await kit.transcribe({ model: "elevenlabs-scribe-v2", source:
|
|
|
52
52
|
const { voiceId } = await kit.createVoice({ model: "fish-voice-clone", title, samples: [{ audio: { url } }] }, { tier });
|
|
53
53
|
const mine = await kit.generateSpeech({ model: "fish-s2.1-pro", text, customVoice: voiceId }, { tier });
|
|
54
54
|
await kit.deleteVoice({ model: "fish-voice-clone", voiceId }, { tier });
|
|
55
|
+
// ElevenLabs works the same way: clone on `elevenlabs-ivc`, speak on `elevenlabs-v4-direct`.
|
|
55
56
|
|
|
56
57
|
const clip = await kit.prepareMediaPart(
|
|
57
58
|
"gemini-2.5-flash",
|
|
@@ -350,7 +351,7 @@ the app's secrets, not a Cloudflare gateway token.
|
|
|
350
351
|
|
|
351
352
|
## Adapters
|
|
352
353
|
|
|
353
|
-
`ai-sdk-text`, `google-image`, `openai-image`, `google-genai` (Veo, Omni with `delivery: "uri"`, Lyria 3, Files API media parts), `ark` (Seedream, Seedance), `fal`, `replicate` (images, video, Lyria 2, MMAudio), `prodia`, `higgsfield`, `xai-video`, `luma` (Uni images, Ray 3.2 video via the Agents API; `LUMA_API_KEY`, base-url override `endpoints.luma`), `fish` (Fish Audio speech, `createVoice` / `designVoice` / `deleteVoice`; `FISH_AUDIO_API_KEY`, base-url override `endpoints.fish`). See `src/adapters/`.
|
|
354
|
+
`ai-sdk-text`, `google-image`, `openai-image`, `google-genai` (Veo, Omni with `delivery: "uri"`, Lyria 3, Files API media parts), `ark` (Seedream, Seedance), `fal`, `replicate` (images, video, Lyria 2, MMAudio), `prodia`, `higgsfield`, `xai-video`, `luma` (Uni images, Ray 3.2 video via the Agents API; `LUMA_API_KEY`, base-url override `endpoints.luma`), `fish` (Fish Audio speech, `createVoice` / `designVoice` / `deleteVoice`; `FISH_AUDIO_API_KEY`, base-url override `endpoints.fish`), `elevenlabs` (direct ElevenLabs speech, `createVoice` / `deleteVoice`; `ELEVENLABS_API_KEY`, base-url override `endpoints.elevenlabs`). See `src/adapters/`.
|
|
354
355
|
|
|
355
356
|
## Not in the package
|
|
356
357
|
|