@apteva/integrations 0.3.35 → 0.3.37

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@apteva/integrations",
3
- "version": "0.3.35",
3
+ "version": "0.3.37",
4
4
  "description": "Local integrations, connections, and webhooks for Apteva. Self-contained app templates, OAuth engine, and trigger provider.",
5
5
  "author": "Apteva <hello@apteva.com>",
6
6
  "license": "Elastic-2.0",
@@ -394,7 +394,7 @@
394
394
  },
395
395
  {
396
396
  "name": "generate_speech",
397
- "description": "Generate speech/voiceover from text using ElevenLabs. Select a voice from the library by name or ID. Use list-voices to find available voices first.",
397
+ "description": "Generate speech/voiceover from text using ElevenLabs. Select a voice from list-voices (sync-voices first if empty).\n\nResponse includes: audio.url, audio.durationMs (milliseconds divide by 1000 for seconds), audio.sizeBytes, audio.format, voice info, and cost.",
398
398
  "method": "POST",
399
399
  "path": "/ai/generate/speech",
400
400
  "input_schema": {
@@ -446,7 +446,7 @@
446
446
  },
447
447
  {
448
448
  "name": "list_voices",
449
- "description": "List available voices from the organization's voice library. Filter by gender, language, accent, or category. Use sync-voices first to populate the library from ElevenLabs.",
449
+ "description": "List available voices from the voice library. If empty, run sync-voices first to populate with ElevenLabs premade voices. Returns voice ID, name, category, language, and preview URL.",
450
450
  "method": "GET",
451
451
  "path": "/ai/voices",
452
452
  "input_schema": {
@@ -780,7 +780,7 @@
780
780
  },
781
781
  {
782
782
  "name": "generate_script",
783
- "description": "Generate audio from a script using text-to-speech. Uses the script's assigned voice or an override. Returns a job check status with get-job-status.",
783
+ "description": "Generate audio from a script using text-to-speech. Uses the script's assigned voice or an override.\n\nResponse includes: audio.url, audio.durationMs (millisecondsdivide by 1000 for seconds), audio.sizeBytes, audio.format, voice info, and cost.",
784
784
  "method": "POST",
785
785
  "path": "/ai/scripts/{id}/generate",
786
786
  "input_schema": {
@@ -813,6 +813,73 @@
813
813
  "id"
814
814
  ]
815
815
  }
816
+ },
817
+ {
818
+ "name": "sync_voices",
819
+ "description": "Sync premade voices from ElevenLabs into the local voice library. Run this first before listing voices — it populates the library with all available ElevenLabs voices. Only needs to be done once (or periodically to pick up new voices).",
820
+ "method": "POST",
821
+ "path": "/ai/voices/sync",
822
+ "input_schema": {
823
+ "type": "object",
824
+ "properties": {
825
+ "category": {
826
+ "type": "string",
827
+ "enum": [
828
+ "premade",
829
+ "cloned"
830
+ ],
831
+ "description": "Filter by voice category (optional, syncs all by default)"
832
+ }
833
+ }
834
+ }
835
+ },
836
+ {
837
+ "name": "clone_voice",
838
+ "description": "Clone a voice from audio samples using ElevenLabs. Provide a name, description, and base64-encoded audio files. The cloned voice is added to the library and can be used in scripts and speech generation.",
839
+ "method": "POST",
840
+ "path": "/ai/voices/clone",
841
+ "input_schema": {
842
+ "type": "object",
843
+ "properties": {
844
+ "name": {
845
+ "type": "string",
846
+ "description": "Name for the cloned voice"
847
+ },
848
+ "description": {
849
+ "type": "string",
850
+ "description": "Description of the voice"
851
+ },
852
+ "audioFiles": {
853
+ "type": "array",
854
+ "description": "Audio samples for cloning (base64-encoded)",
855
+ "items": {
856
+ "type": "object",
857
+ "properties": {
858
+ "data": {
859
+ "type": "string",
860
+ "description": "Base64-encoded audio data"
861
+ },
862
+ "filename": {
863
+ "type": "string",
864
+ "description": "Filename (e.g., sample.mp3)"
865
+ },
866
+ "contentType": {
867
+ "type": "string",
868
+ "description": "MIME type (e.g., audio/mpeg)"
869
+ }
870
+ },
871
+ "required": [
872
+ "data",
873
+ "filename"
874
+ ]
875
+ }
876
+ }
877
+ },
878
+ "required": [
879
+ "name",
880
+ "audioFiles"
881
+ ]
882
+ }
816
883
  }
817
884
  ]
818
885
  }