@soederpop/luca 0.2.1 → 0.2.3
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/.github/workflows/release.yaml +2 -0
- package/CNAME +1 -0
- package/assistants/codingAssistant/ABOUT.md +3 -1
- package/assistants/codingAssistant/CORE.md +2 -4
- package/assistants/codingAssistant/hooks.ts +9 -10
- package/assistants/codingAssistant/tools.ts +9 -0
- package/assistants/inkbot/ABOUT.md +13 -2
- package/assistants/inkbot/CORE.md +278 -39
- package/assistants/inkbot/hooks.ts +0 -8
- package/assistants/inkbot/tools.ts +24 -18
- package/assistants/researcher/ABOUT.md +5 -0
- package/assistants/researcher/CORE.md +46 -0
- package/assistants/researcher/hooks.ts +16 -0
- package/assistants/researcher/tools.ts +237 -0
- package/commands/inkbot.ts +526 -194
- package/docs/CNAME +1 -0
- package/docs/examples/assistant-hooks-reference.ts +171 -0
- package/index.html +1430 -0
- package/package.json +1 -1
- package/public/slides-ai-native.html +902 -0
- package/public/slides-intro.html +974 -0
- package/src/agi/features/assistant.ts +432 -62
- package/src/agi/features/conversation.ts +170 -10
- package/src/bootstrap/generated.ts +1 -1
- package/src/cli/build-info.ts +2 -2
- package/src/helper.ts +12 -3
- package/src/introspection/generated.agi.ts +1663 -644
- package/src/introspection/generated.node.ts +1637 -870
- package/src/introspection/generated.web.ts +1 -1
- package/src/python/generated.ts +1 -1
- package/src/scaffolds/generated.ts +1 -1
- package/test/assistant-hooks.test.ts +306 -0
- package/test/assistant.test.ts +1 -1
- package/test/fork-and-research.test.ts +450 -0
- package/SPEC.md +0 -304
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { setBuildTimeData, setContainerBuildTimeData } from './index.js';
|
|
2
2
|
|
|
3
3
|
// Auto-generated introspection registry data
|
|
4
|
-
// Generated at: 2026-04-
|
|
4
|
+
// Generated at: 2026-04-09T05:21:42.343Z
|
|
5
5
|
|
|
6
6
|
setBuildTimeData('features.googleDocs', {
|
|
7
7
|
"id": "features.googleDocs",
|
|
@@ -12132,6 +12132,390 @@ setBuildTimeData('clients.openai', {
|
|
|
12132
12132
|
]
|
|
12133
12133
|
});
|
|
12134
12134
|
|
|
12135
|
+
setBuildTimeData('clients.voicebox', {
|
|
12136
|
+
"id": "clients.voicebox",
|
|
12137
|
+
"description": "VoiceBox client — local TTS synthesis via VoiceBox.sh REST API (Qwen3-TTS). Provides methods for managing voice profiles and generating speech audio locally. Uses the streaming endpoint for synchronous synthesis (returns WAV buffer).",
|
|
12138
|
+
"shortcut": "clients.voicebox",
|
|
12139
|
+
"className": "VoiceBoxClient",
|
|
12140
|
+
"methods": {
|
|
12141
|
+
"connect": {
|
|
12142
|
+
"description": "Validate the VoiceBox server is reachable by hitting the health endpoint.",
|
|
12143
|
+
"parameters": {},
|
|
12144
|
+
"required": [],
|
|
12145
|
+
"returns": "Promise<this>"
|
|
12146
|
+
},
|
|
12147
|
+
"listProfiles": {
|
|
12148
|
+
"description": "List all voice profiles.",
|
|
12149
|
+
"parameters": {},
|
|
12150
|
+
"required": [],
|
|
12151
|
+
"returns": "Promise<any[]>",
|
|
12152
|
+
"examples": [
|
|
12153
|
+
{
|
|
12154
|
+
"language": "ts",
|
|
12155
|
+
"code": "const profiles = await vb.listProfiles()\nconsole.log(profiles.map(p => `${p.name} (${p.sample_count} samples)`))"
|
|
12156
|
+
}
|
|
12157
|
+
]
|
|
12158
|
+
},
|
|
12159
|
+
"getProfile": {
|
|
12160
|
+
"description": "Get a single voice profile by ID.",
|
|
12161
|
+
"parameters": {
|
|
12162
|
+
"profileId": {
|
|
12163
|
+
"type": "string",
|
|
12164
|
+
"description": "Parameter profileId"
|
|
12165
|
+
}
|
|
12166
|
+
},
|
|
12167
|
+
"required": [
|
|
12168
|
+
"profileId"
|
|
12169
|
+
],
|
|
12170
|
+
"returns": "Promise<any>"
|
|
12171
|
+
},
|
|
12172
|
+
"createProfile": {
|
|
12173
|
+
"description": "Create a new voice profile.",
|
|
12174
|
+
"parameters": {
|
|
12175
|
+
"name": {
|
|
12176
|
+
"type": "string",
|
|
12177
|
+
"description": "Parameter name"
|
|
12178
|
+
},
|
|
12179
|
+
"options": {
|
|
12180
|
+
"type": "{ description?: string; language?: string }",
|
|
12181
|
+
"description": "Parameter options"
|
|
12182
|
+
}
|
|
12183
|
+
},
|
|
12184
|
+
"required": [
|
|
12185
|
+
"name"
|
|
12186
|
+
],
|
|
12187
|
+
"returns": "Promise<any>"
|
|
12188
|
+
},
|
|
12189
|
+
"listEffects": {
|
|
12190
|
+
"description": "List available audio effects and their parameter definitions.",
|
|
12191
|
+
"parameters": {},
|
|
12192
|
+
"required": [],
|
|
12193
|
+
"returns": "Promise<any>"
|
|
12194
|
+
},
|
|
12195
|
+
"synthesize": {
|
|
12196
|
+
"description": "Synthesize speech from text using the streaming endpoint. Returns audio as a WAV Buffer (synchronous — blocks until audio is ready).",
|
|
12197
|
+
"parameters": {
|
|
12198
|
+
"text": {
|
|
12199
|
+
"type": "string",
|
|
12200
|
+
"description": "The text to convert to speech"
|
|
12201
|
+
},
|
|
12202
|
+
"options": {
|
|
12203
|
+
"type": "SynthesizeOptions",
|
|
12204
|
+
"description": "Profile, engine, model, and other synthesis options",
|
|
12205
|
+
"properties": {
|
|
12206
|
+
"profileId": {
|
|
12207
|
+
"type": "string",
|
|
12208
|
+
"description": ""
|
|
12209
|
+
},
|
|
12210
|
+
"engine": {
|
|
12211
|
+
"type": "string",
|
|
12212
|
+
"description": ""
|
|
12213
|
+
},
|
|
12214
|
+
"modelSize": {
|
|
12215
|
+
"type": "string",
|
|
12216
|
+
"description": ""
|
|
12217
|
+
},
|
|
12218
|
+
"language": {
|
|
12219
|
+
"type": "string",
|
|
12220
|
+
"description": ""
|
|
12221
|
+
},
|
|
12222
|
+
"instruct": {
|
|
12223
|
+
"type": "string",
|
|
12224
|
+
"description": ""
|
|
12225
|
+
},
|
|
12226
|
+
"seed": {
|
|
12227
|
+
"type": "number",
|
|
12228
|
+
"description": ""
|
|
12229
|
+
},
|
|
12230
|
+
"maxChunkChars": {
|
|
12231
|
+
"type": "number",
|
|
12232
|
+
"description": ""
|
|
12233
|
+
},
|
|
12234
|
+
"crossfadeMs": {
|
|
12235
|
+
"type": "number",
|
|
12236
|
+
"description": ""
|
|
12237
|
+
},
|
|
12238
|
+
"normalize": {
|
|
12239
|
+
"type": "boolean",
|
|
12240
|
+
"description": ""
|
|
12241
|
+
},
|
|
12242
|
+
"effectsChain": {
|
|
12243
|
+
"type": "EffectConfig[]",
|
|
12244
|
+
"description": ""
|
|
12245
|
+
},
|
|
12246
|
+
"disableCache": {
|
|
12247
|
+
"type": "boolean",
|
|
12248
|
+
"description": ""
|
|
12249
|
+
}
|
|
12250
|
+
}
|
|
12251
|
+
}
|
|
12252
|
+
},
|
|
12253
|
+
"required": [
|
|
12254
|
+
"text"
|
|
12255
|
+
],
|
|
12256
|
+
"returns": "Promise<Buffer>",
|
|
12257
|
+
"examples": [
|
|
12258
|
+
{
|
|
12259
|
+
"language": "ts",
|
|
12260
|
+
"code": "const audio = await vb.synthesize('Hello world', { profileId: 'abc-123' })\n// audio is a Buffer of WAV data"
|
|
12261
|
+
}
|
|
12262
|
+
]
|
|
12263
|
+
},
|
|
12264
|
+
"generate": {
|
|
12265
|
+
"description": "Generate speech asynchronously (returns metadata, not audio). Use getAudio() to fetch the audio after generation completes.",
|
|
12266
|
+
"parameters": {
|
|
12267
|
+
"text": {
|
|
12268
|
+
"type": "string",
|
|
12269
|
+
"description": "Parameter text"
|
|
12270
|
+
},
|
|
12271
|
+
"options": {
|
|
12272
|
+
"type": "SynthesizeOptions",
|
|
12273
|
+
"description": "Parameter options",
|
|
12274
|
+
"properties": {
|
|
12275
|
+
"profileId": {
|
|
12276
|
+
"type": "string",
|
|
12277
|
+
"description": ""
|
|
12278
|
+
},
|
|
12279
|
+
"engine": {
|
|
12280
|
+
"type": "string",
|
|
12281
|
+
"description": ""
|
|
12282
|
+
},
|
|
12283
|
+
"modelSize": {
|
|
12284
|
+
"type": "string",
|
|
12285
|
+
"description": ""
|
|
12286
|
+
},
|
|
12287
|
+
"language": {
|
|
12288
|
+
"type": "string",
|
|
12289
|
+
"description": ""
|
|
12290
|
+
},
|
|
12291
|
+
"instruct": {
|
|
12292
|
+
"type": "string",
|
|
12293
|
+
"description": ""
|
|
12294
|
+
},
|
|
12295
|
+
"seed": {
|
|
12296
|
+
"type": "number",
|
|
12297
|
+
"description": ""
|
|
12298
|
+
},
|
|
12299
|
+
"maxChunkChars": {
|
|
12300
|
+
"type": "number",
|
|
12301
|
+
"description": ""
|
|
12302
|
+
},
|
|
12303
|
+
"crossfadeMs": {
|
|
12304
|
+
"type": "number",
|
|
12305
|
+
"description": ""
|
|
12306
|
+
},
|
|
12307
|
+
"normalize": {
|
|
12308
|
+
"type": "boolean",
|
|
12309
|
+
"description": ""
|
|
12310
|
+
},
|
|
12311
|
+
"effectsChain": {
|
|
12312
|
+
"type": "EffectConfig[]",
|
|
12313
|
+
"description": ""
|
|
12314
|
+
},
|
|
12315
|
+
"disableCache": {
|
|
12316
|
+
"type": "boolean",
|
|
12317
|
+
"description": ""
|
|
12318
|
+
}
|
|
12319
|
+
}
|
|
12320
|
+
}
|
|
12321
|
+
},
|
|
12322
|
+
"required": [
|
|
12323
|
+
"text"
|
|
12324
|
+
],
|
|
12325
|
+
"returns": "Promise<any>"
|
|
12326
|
+
},
|
|
12327
|
+
"getAudio": {
|
|
12328
|
+
"description": "Fetch generated audio by generation ID. Returns WAV Buffer.",
|
|
12329
|
+
"parameters": {
|
|
12330
|
+
"generationId": {
|
|
12331
|
+
"type": "string",
|
|
12332
|
+
"description": "Parameter generationId"
|
|
12333
|
+
}
|
|
12334
|
+
},
|
|
12335
|
+
"required": [
|
|
12336
|
+
"generationId"
|
|
12337
|
+
],
|
|
12338
|
+
"returns": "Promise<Buffer>"
|
|
12339
|
+
},
|
|
12340
|
+
"say": {
|
|
12341
|
+
"description": "Synthesize and write audio to a file.",
|
|
12342
|
+
"parameters": {
|
|
12343
|
+
"text": {
|
|
12344
|
+
"type": "string",
|
|
12345
|
+
"description": "Parameter text"
|
|
12346
|
+
},
|
|
12347
|
+
"outputPath": {
|
|
12348
|
+
"type": "string",
|
|
12349
|
+
"description": "Parameter outputPath"
|
|
12350
|
+
},
|
|
12351
|
+
"options": {
|
|
12352
|
+
"type": "SynthesizeOptions",
|
|
12353
|
+
"description": "Parameter options",
|
|
12354
|
+
"properties": {
|
|
12355
|
+
"profileId": {
|
|
12356
|
+
"type": "string",
|
|
12357
|
+
"description": ""
|
|
12358
|
+
},
|
|
12359
|
+
"engine": {
|
|
12360
|
+
"type": "string",
|
|
12361
|
+
"description": ""
|
|
12362
|
+
},
|
|
12363
|
+
"modelSize": {
|
|
12364
|
+
"type": "string",
|
|
12365
|
+
"description": ""
|
|
12366
|
+
},
|
|
12367
|
+
"language": {
|
|
12368
|
+
"type": "string",
|
|
12369
|
+
"description": ""
|
|
12370
|
+
},
|
|
12371
|
+
"instruct": {
|
|
12372
|
+
"type": "string",
|
|
12373
|
+
"description": ""
|
|
12374
|
+
},
|
|
12375
|
+
"seed": {
|
|
12376
|
+
"type": "number",
|
|
12377
|
+
"description": ""
|
|
12378
|
+
},
|
|
12379
|
+
"maxChunkChars": {
|
|
12380
|
+
"type": "number",
|
|
12381
|
+
"description": ""
|
|
12382
|
+
},
|
|
12383
|
+
"crossfadeMs": {
|
|
12384
|
+
"type": "number",
|
|
12385
|
+
"description": ""
|
|
12386
|
+
},
|
|
12387
|
+
"normalize": {
|
|
12388
|
+
"type": "boolean",
|
|
12389
|
+
"description": ""
|
|
12390
|
+
},
|
|
12391
|
+
"effectsChain": {
|
|
12392
|
+
"type": "EffectConfig[]",
|
|
12393
|
+
"description": ""
|
|
12394
|
+
},
|
|
12395
|
+
"disableCache": {
|
|
12396
|
+
"type": "boolean",
|
|
12397
|
+
"description": ""
|
|
12398
|
+
}
|
|
12399
|
+
}
|
|
12400
|
+
}
|
|
12401
|
+
},
|
|
12402
|
+
"required": [
|
|
12403
|
+
"text",
|
|
12404
|
+
"outputPath"
|
|
12405
|
+
],
|
|
12406
|
+
"returns": "Promise<string>"
|
|
12407
|
+
}
|
|
12408
|
+
},
|
|
12409
|
+
"getters": {},
|
|
12410
|
+
"events": {
|
|
12411
|
+
"failure": {
|
|
12412
|
+
"name": "failure",
|
|
12413
|
+
"description": "Event emitted by VoiceBoxClient",
|
|
12414
|
+
"arguments": {}
|
|
12415
|
+
},
|
|
12416
|
+
"profiles": {
|
|
12417
|
+
"name": "profiles",
|
|
12418
|
+
"description": "Event emitted by VoiceBoxClient",
|
|
12419
|
+
"arguments": {}
|
|
12420
|
+
},
|
|
12421
|
+
"speech": {
|
|
12422
|
+
"name": "speech",
|
|
12423
|
+
"description": "Event emitted by VoiceBoxClient",
|
|
12424
|
+
"arguments": {}
|
|
12425
|
+
}
|
|
12426
|
+
},
|
|
12427
|
+
"state": {},
|
|
12428
|
+
"options": {},
|
|
12429
|
+
"envVars": [],
|
|
12430
|
+
"examples": [
|
|
12431
|
+
{
|
|
12432
|
+
"language": "ts",
|
|
12433
|
+
"code": "const vb = container.client('voicebox')\nawait vb.connect()\nconst profiles = await vb.listProfiles()\nconst audio = await vb.synthesize('Hello world', { profileId: profiles[0].id })\n// audio is a Buffer of WAV data"
|
|
12434
|
+
}
|
|
12435
|
+
],
|
|
12436
|
+
"types": {
|
|
12437
|
+
"SynthesizeOptions": {
|
|
12438
|
+
"description": "",
|
|
12439
|
+
"properties": {
|
|
12440
|
+
"profileId": {
|
|
12441
|
+
"type": "string",
|
|
12442
|
+
"description": "",
|
|
12443
|
+
"optional": true
|
|
12444
|
+
},
|
|
12445
|
+
"engine": {
|
|
12446
|
+
"type": "string",
|
|
12447
|
+
"description": "",
|
|
12448
|
+
"optional": true
|
|
12449
|
+
},
|
|
12450
|
+
"modelSize": {
|
|
12451
|
+
"type": "string",
|
|
12452
|
+
"description": "",
|
|
12453
|
+
"optional": true
|
|
12454
|
+
},
|
|
12455
|
+
"language": {
|
|
12456
|
+
"type": "string",
|
|
12457
|
+
"description": "",
|
|
12458
|
+
"optional": true
|
|
12459
|
+
},
|
|
12460
|
+
"instruct": {
|
|
12461
|
+
"type": "string",
|
|
12462
|
+
"description": "",
|
|
12463
|
+
"optional": true
|
|
12464
|
+
},
|
|
12465
|
+
"seed": {
|
|
12466
|
+
"type": "number",
|
|
12467
|
+
"description": "",
|
|
12468
|
+
"optional": true
|
|
12469
|
+
},
|
|
12470
|
+
"maxChunkChars": {
|
|
12471
|
+
"type": "number",
|
|
12472
|
+
"description": "",
|
|
12473
|
+
"optional": true
|
|
12474
|
+
},
|
|
12475
|
+
"crossfadeMs": {
|
|
12476
|
+
"type": "number",
|
|
12477
|
+
"description": "",
|
|
12478
|
+
"optional": true
|
|
12479
|
+
},
|
|
12480
|
+
"normalize": {
|
|
12481
|
+
"type": "boolean",
|
|
12482
|
+
"description": "",
|
|
12483
|
+
"optional": true
|
|
12484
|
+
},
|
|
12485
|
+
"effectsChain": {
|
|
12486
|
+
"type": "EffectConfig[]",
|
|
12487
|
+
"description": "",
|
|
12488
|
+
"optional": true
|
|
12489
|
+
},
|
|
12490
|
+
"disableCache": {
|
|
12491
|
+
"type": "boolean",
|
|
12492
|
+
"description": "",
|
|
12493
|
+
"optional": true
|
|
12494
|
+
}
|
|
12495
|
+
}
|
|
12496
|
+
},
|
|
12497
|
+
"EffectConfig": {
|
|
12498
|
+
"description": "",
|
|
12499
|
+
"properties": {
|
|
12500
|
+
"type": {
|
|
12501
|
+
"type": "string",
|
|
12502
|
+
"description": ""
|
|
12503
|
+
},
|
|
12504
|
+
"enabled": {
|
|
12505
|
+
"type": "boolean",
|
|
12506
|
+
"description": "",
|
|
12507
|
+
"optional": true
|
|
12508
|
+
},
|
|
12509
|
+
"params": {
|
|
12510
|
+
"type": "Record<string, any>",
|
|
12511
|
+
"description": "",
|
|
12512
|
+
"optional": true
|
|
12513
|
+
}
|
|
12514
|
+
}
|
|
12515
|
+
}
|
|
12516
|
+
}
|
|
12517
|
+
});
|
|
12518
|
+
|
|
12135
12519
|
setBuildTimeData('clients.supabase', {
|
|
12136
12520
|
"id": "clients.supabase",
|
|
12137
12521
|
"description": "Supabase client for the Luca container system. Wraps the official `@supabase/supabase-js` SDK and exposes it through Luca's typed state, events, and introspection system. The SDK is isomorphic so this single implementation works in both Node and browser containers. Use `client.sdk` for full SDK access, or use the convenience wrappers for common operations (auth, database queries, storage, edge functions, realtime).",
|
|
@@ -12325,7 +12709,271 @@ setBuildTimeData('clients.supabase', {
|
|
|
12325
12709
|
"language": "ts",
|
|
12326
12710
|
"code": "const supabase = container.client('supabase', {\n supabaseUrl: 'https://xyz.supabase.co',\n supabaseKey: 'your-anon-key',\n})\n\n// Query data\nconst { data } = await supabase.from('users').select('*')\n\n// Auth\nawait supabase.signInWithPassword('user@example.com', 'password')\n\n// Realtime\nsupabase.subscribe('changes', 'users', (payload) => {\n console.log('Change:', payload)\n})"
|
|
12327
12711
|
}
|
|
12328
|
-
]
|
|
12712
|
+
]
|
|
12713
|
+
});
|
|
12714
|
+
|
|
12715
|
+
setBuildTimeData('clients.elevenlabs', {
|
|
12716
|
+
"id": "clients.elevenlabs",
|
|
12717
|
+
"description": "ElevenLabs client — text-to-speech synthesis via the ElevenLabs REST API. Provides methods for listing voices, listing models, and generating speech audio. Audio is returned as a Buffer; use `say()` for a convenience method that writes to disk.",
|
|
12718
|
+
"shortcut": "clients.elevenlabs",
|
|
12719
|
+
"className": "ElevenLabsClient",
|
|
12720
|
+
"methods": {
|
|
12721
|
+
"beforeRequest": {
|
|
12722
|
+
"description": "Inject the xi-api-key header before each request.",
|
|
12723
|
+
"parameters": {},
|
|
12724
|
+
"required": [],
|
|
12725
|
+
"returns": "void"
|
|
12726
|
+
},
|
|
12727
|
+
"connect": {
|
|
12728
|
+
"description": "Validate the API key by listing available models.",
|
|
12729
|
+
"parameters": {},
|
|
12730
|
+
"required": [],
|
|
12731
|
+
"returns": "Promise<this>",
|
|
12732
|
+
"examples": [
|
|
12733
|
+
{
|
|
12734
|
+
"language": "ts",
|
|
12735
|
+
"code": "await el.connect()"
|
|
12736
|
+
}
|
|
12737
|
+
]
|
|
12738
|
+
},
|
|
12739
|
+
"listVoices": {
|
|
12740
|
+
"description": "List available voices with optional search and filtering.",
|
|
12741
|
+
"parameters": {
|
|
12742
|
+
"options": {
|
|
12743
|
+
"type": "{\n search?: string\n category?: string\n voice_type?: string\n page_size?: number\n next_page_token?: string\n }",
|
|
12744
|
+
"description": "Query parameters for filtering voices"
|
|
12745
|
+
}
|
|
12746
|
+
},
|
|
12747
|
+
"required": [],
|
|
12748
|
+
"returns": "Promise<any>",
|
|
12749
|
+
"examples": [
|
|
12750
|
+
{
|
|
12751
|
+
"language": "ts",
|
|
12752
|
+
"code": "const voices = await el.listVoices()\nconst premade = await el.listVoices({ category: 'premade' })"
|
|
12753
|
+
}
|
|
12754
|
+
]
|
|
12755
|
+
},
|
|
12756
|
+
"getVoice": {
|
|
12757
|
+
"description": "Get details for a single voice.",
|
|
12758
|
+
"parameters": {
|
|
12759
|
+
"voiceId": {
|
|
12760
|
+
"type": "string",
|
|
12761
|
+
"description": "The voice ID to look up"
|
|
12762
|
+
}
|
|
12763
|
+
},
|
|
12764
|
+
"required": [
|
|
12765
|
+
"voiceId"
|
|
12766
|
+
],
|
|
12767
|
+
"returns": "Promise<any>",
|
|
12768
|
+
"examples": [
|
|
12769
|
+
{
|
|
12770
|
+
"language": "ts",
|
|
12771
|
+
"code": "const voice = await el.getVoice('21m00Tcm4TlvDq8ikWAM')\nconsole.log(voice.name, voice.settings)"
|
|
12772
|
+
}
|
|
12773
|
+
]
|
|
12774
|
+
},
|
|
12775
|
+
"listModels": {
|
|
12776
|
+
"description": "List available TTS models.",
|
|
12777
|
+
"parameters": {},
|
|
12778
|
+
"required": [],
|
|
12779
|
+
"returns": "Promise<any[]>",
|
|
12780
|
+
"examples": [
|
|
12781
|
+
{
|
|
12782
|
+
"language": "ts",
|
|
12783
|
+
"code": "const models = await el.listModels()\nconsole.log(models.map(m => m.model_id))"
|
|
12784
|
+
}
|
|
12785
|
+
]
|
|
12786
|
+
},
|
|
12787
|
+
"synthesize": {
|
|
12788
|
+
"description": "Synthesize speech from text, returning audio as a Buffer.",
|
|
12789
|
+
"parameters": {
|
|
12790
|
+
"text": {
|
|
12791
|
+
"type": "string",
|
|
12792
|
+
"description": "The text to convert to speech"
|
|
12793
|
+
},
|
|
12794
|
+
"options": {
|
|
12795
|
+
"type": "SynthesizeOptions",
|
|
12796
|
+
"description": "Voice, model, format, and voice settings overrides",
|
|
12797
|
+
"properties": {
|
|
12798
|
+
"voiceId": {
|
|
12799
|
+
"type": "string",
|
|
12800
|
+
"description": ""
|
|
12801
|
+
},
|
|
12802
|
+
"modelId": {
|
|
12803
|
+
"type": "string",
|
|
12804
|
+
"description": ""
|
|
12805
|
+
},
|
|
12806
|
+
"outputFormat": {
|
|
12807
|
+
"type": "string",
|
|
12808
|
+
"description": ""
|
|
12809
|
+
},
|
|
12810
|
+
"voiceSettings": {
|
|
12811
|
+
"type": "ElevenLabsVoiceSettings",
|
|
12812
|
+
"description": ""
|
|
12813
|
+
},
|
|
12814
|
+
"disableCache": {
|
|
12815
|
+
"type": "boolean",
|
|
12816
|
+
"description": ""
|
|
12817
|
+
}
|
|
12818
|
+
}
|
|
12819
|
+
}
|
|
12820
|
+
},
|
|
12821
|
+
"required": [
|
|
12822
|
+
"text"
|
|
12823
|
+
],
|
|
12824
|
+
"returns": "Promise<Buffer>",
|
|
12825
|
+
"examples": [
|
|
12826
|
+
{
|
|
12827
|
+
"language": "ts",
|
|
12828
|
+
"code": "const audio = await el.synthesize('Hello world')\n// audio is a Buffer of mp3 data\n\nconst custom = await el.synthesize('Hello', {\n voiceId: '21m00Tcm4TlvDq8ikWAM',\n voiceSettings: { stability: 0.5, similarityBoost: 0.8 }\n})"
|
|
12829
|
+
}
|
|
12830
|
+
]
|
|
12831
|
+
},
|
|
12832
|
+
"say": {
|
|
12833
|
+
"description": "Synthesize speech and write the audio to a file.",
|
|
12834
|
+
"parameters": {
|
|
12835
|
+
"text": {
|
|
12836
|
+
"type": "string",
|
|
12837
|
+
"description": "The text to convert to speech"
|
|
12838
|
+
},
|
|
12839
|
+
"outputPath": {
|
|
12840
|
+
"type": "string",
|
|
12841
|
+
"description": "File path to write the audio to"
|
|
12842
|
+
},
|
|
12843
|
+
"options": {
|
|
12844
|
+
"type": "SynthesizeOptions",
|
|
12845
|
+
"description": "Voice, model, format, and voice settings overrides",
|
|
12846
|
+
"properties": {
|
|
12847
|
+
"voiceId": {
|
|
12848
|
+
"type": "string",
|
|
12849
|
+
"description": ""
|
|
12850
|
+
},
|
|
12851
|
+
"modelId": {
|
|
12852
|
+
"type": "string",
|
|
12853
|
+
"description": ""
|
|
12854
|
+
},
|
|
12855
|
+
"outputFormat": {
|
|
12856
|
+
"type": "string",
|
|
12857
|
+
"description": ""
|
|
12858
|
+
},
|
|
12859
|
+
"voiceSettings": {
|
|
12860
|
+
"type": "ElevenLabsVoiceSettings",
|
|
12861
|
+
"description": ""
|
|
12862
|
+
},
|
|
12863
|
+
"disableCache": {
|
|
12864
|
+
"type": "boolean",
|
|
12865
|
+
"description": ""
|
|
12866
|
+
}
|
|
12867
|
+
}
|
|
12868
|
+
}
|
|
12869
|
+
},
|
|
12870
|
+
"required": [
|
|
12871
|
+
"text",
|
|
12872
|
+
"outputPath"
|
|
12873
|
+
],
|
|
12874
|
+
"returns": "Promise<string>",
|
|
12875
|
+
"examples": [
|
|
12876
|
+
{
|
|
12877
|
+
"language": "ts",
|
|
12878
|
+
"code": "const path = await el.say('Hello world', './hello.mp3')\nconsole.log(`Audio saved to ${path}`)"
|
|
12879
|
+
}
|
|
12880
|
+
]
|
|
12881
|
+
}
|
|
12882
|
+
},
|
|
12883
|
+
"getters": {
|
|
12884
|
+
"apiKey": {
|
|
12885
|
+
"description": "The resolved API key from options or environment.",
|
|
12886
|
+
"returns": "string"
|
|
12887
|
+
}
|
|
12888
|
+
},
|
|
12889
|
+
"events": {
|
|
12890
|
+
"failure": {
|
|
12891
|
+
"name": "failure",
|
|
12892
|
+
"description": "Event emitted by ElevenLabsClient",
|
|
12893
|
+
"arguments": {}
|
|
12894
|
+
},
|
|
12895
|
+
"voices": {
|
|
12896
|
+
"name": "voices",
|
|
12897
|
+
"description": "Event emitted by ElevenLabsClient",
|
|
12898
|
+
"arguments": {}
|
|
12899
|
+
},
|
|
12900
|
+
"speech": {
|
|
12901
|
+
"name": "speech",
|
|
12902
|
+
"description": "Event emitted by ElevenLabsClient",
|
|
12903
|
+
"arguments": {}
|
|
12904
|
+
}
|
|
12905
|
+
},
|
|
12906
|
+
"state": {},
|
|
12907
|
+
"options": {},
|
|
12908
|
+
"envVars": [],
|
|
12909
|
+
"examples": [
|
|
12910
|
+
{
|
|
12911
|
+
"language": "ts",
|
|
12912
|
+
"code": "const el = container.client('elevenlabs')\nawait el.connect()\nconst voices = await el.listVoices()\nconst audio = await el.synthesize('Hello world')\n// audio is a Buffer of mp3 data"
|
|
12913
|
+
}
|
|
12914
|
+
],
|
|
12915
|
+
"types": {
|
|
12916
|
+
"SynthesizeOptions": {
|
|
12917
|
+
"description": "",
|
|
12918
|
+
"properties": {
|
|
12919
|
+
"voiceId": {
|
|
12920
|
+
"type": "string",
|
|
12921
|
+
"description": "",
|
|
12922
|
+
"optional": true
|
|
12923
|
+
},
|
|
12924
|
+
"modelId": {
|
|
12925
|
+
"type": "string",
|
|
12926
|
+
"description": "",
|
|
12927
|
+
"optional": true
|
|
12928
|
+
},
|
|
12929
|
+
"outputFormat": {
|
|
12930
|
+
"type": "string",
|
|
12931
|
+
"description": "",
|
|
12932
|
+
"optional": true
|
|
12933
|
+
},
|
|
12934
|
+
"voiceSettings": {
|
|
12935
|
+
"type": "ElevenLabsVoiceSettings",
|
|
12936
|
+
"description": "",
|
|
12937
|
+
"optional": true
|
|
12938
|
+
},
|
|
12939
|
+
"disableCache": {
|
|
12940
|
+
"type": "boolean",
|
|
12941
|
+
"description": "",
|
|
12942
|
+
"optional": true
|
|
12943
|
+
}
|
|
12944
|
+
}
|
|
12945
|
+
},
|
|
12946
|
+
"ElevenLabsVoiceSettings": {
|
|
12947
|
+
"description": "",
|
|
12948
|
+
"properties": {
|
|
12949
|
+
"stability": {
|
|
12950
|
+
"type": "number",
|
|
12951
|
+
"description": "",
|
|
12952
|
+
"optional": true
|
|
12953
|
+
},
|
|
12954
|
+
"similarityBoost": {
|
|
12955
|
+
"type": "number",
|
|
12956
|
+
"description": "",
|
|
12957
|
+
"optional": true
|
|
12958
|
+
},
|
|
12959
|
+
"style": {
|
|
12960
|
+
"type": "number",
|
|
12961
|
+
"description": "",
|
|
12962
|
+
"optional": true
|
|
12963
|
+
},
|
|
12964
|
+
"speed": {
|
|
12965
|
+
"type": "number",
|
|
12966
|
+
"description": "",
|
|
12967
|
+
"optional": true
|
|
12968
|
+
},
|
|
12969
|
+
"useSpeakerBoost": {
|
|
12970
|
+
"type": "boolean",
|
|
12971
|
+
"description": "",
|
|
12972
|
+
"optional": true
|
|
12973
|
+
}
|
|
12974
|
+
}
|
|
12975
|
+
}
|
|
12976
|
+
}
|
|
12329
12977
|
});
|
|
12330
12978
|
|
|
12331
12979
|
setBuildTimeData('clients.comfyui', {
|
|
@@ -12417,402 +13065,155 @@ setBuildTimeData('clients.comfyui', {
|
|
|
12417
13065
|
"uploadImage": {
|
|
12418
13066
|
"description": "Upload an image to ComfyUI's input directory.",
|
|
12419
13067
|
"parameters": {
|
|
12420
|
-
"file": {
|
|
12421
|
-
"type": "Buffer | Blob",
|
|
12422
|
-
"description": "The image data as Buffer or Blob"
|
|
12423
|
-
},
|
|
12424
|
-
"filename": {
|
|
12425
|
-
"type": "string",
|
|
12426
|
-
"description": "File name for the upload"
|
|
12427
|
-
},
|
|
12428
|
-
"opts": {
|
|
12429
|
-
"type": "{ subfolder?: string; type?: string; overwrite?: boolean }",
|
|
12430
|
-
"description": "Upload options (subfolder, type, overwrite)"
|
|
12431
|
-
}
|
|
12432
|
-
},
|
|
12433
|
-
"required": [
|
|
12434
|
-
"file",
|
|
12435
|
-
"filename"
|
|
12436
|
-
],
|
|
12437
|
-
"returns": "Promise<any>"
|
|
12438
|
-
},
|
|
12439
|
-
"viewImage": {
|
|
12440
|
-
"description": "Download a generated image from ComfyUI as a Buffer.",
|
|
12441
|
-
"parameters": {
|
|
12442
|
-
"filename": {
|
|
12443
|
-
"type": "string",
|
|
12444
|
-
"description": "The image filename"
|
|
12445
|
-
},
|
|
12446
|
-
"subfolder": {
|
|
12447
|
-
"type": "any",
|
|
12448
|
-
"description": "Subfolder within the output directory"
|
|
12449
|
-
},
|
|
12450
|
-
"type": {
|
|
12451
|
-
"type": "any",
|
|
12452
|
-
"description": "Image type ('output', 'input', 'temp')"
|
|
12453
|
-
}
|
|
12454
|
-
},
|
|
12455
|
-
"required": [
|
|
12456
|
-
"filename"
|
|
12457
|
-
],
|
|
12458
|
-
"returns": "Promise<Buffer>"
|
|
12459
|
-
},
|
|
12460
|
-
"connectWs": {
|
|
12461
|
-
"description": "Open a WebSocket connection to ComfyUI for real-time execution tracking. Events emitted: `execution_start`, `executing`, `progress`, `executed`, `execution_cached`, `execution_error`, `execution_complete`.",
|
|
12462
|
-
"parameters": {},
|
|
12463
|
-
"required": [],
|
|
12464
|
-
"returns": "Promise<void>"
|
|
12465
|
-
},
|
|
12466
|
-
"disconnectWs": {
|
|
12467
|
-
"description": "Close the WebSocket connection.",
|
|
12468
|
-
"parameters": {},
|
|
12469
|
-
"required": [],
|
|
12470
|
-
"returns": "void"
|
|
12471
|
-
},
|
|
12472
|
-
"toApiFormat": {
|
|
12473
|
-
"description": "Convert a UI-format workflow to the API format that /prompt expects. Requires a running ComfyUI instance to fetch `object_info` so we can map positional `widgets_values` to their named input fields. If the workflow is already in API format, it's returned as-is.",
|
|
12474
|
-
"parameters": {
|
|
12475
|
-
"workflow": {
|
|
12476
|
-
"type": "Record<string, any>",
|
|
12477
|
-
"description": "Parameter workflow"
|
|
12478
|
-
}
|
|
12479
|
-
},
|
|
12480
|
-
"required": [
|
|
12481
|
-
"workflow"
|
|
12482
|
-
],
|
|
12483
|
-
"returns": "Promise<Record<string, any>>"
|
|
12484
|
-
},
|
|
12485
|
-
"runWorkflow": {
|
|
12486
|
-
"description": "Run a ComfyUI workflow with optional runtime input overrides. Inputs can be provided in two forms: **Direct node mapping** (when no `inputMap` in options): ``` { '3': { seed: 42 }, '6': { text: 'a cat' } } ``` **Named inputs** (when `inputMap` is provided in options): ``` inputs: { positive_prompt: 'a cat', seed: 42 } options.inputMap: { positive_prompt: { nodeId: '6', field: 'text' }, seed: { nodeId: '3', field: 'seed' } } ```",
|
|
12487
|
-
"parameters": {
|
|
12488
|
-
"workflow": {
|
|
12489
|
-
"type": "Record<string, any>",
|
|
12490
|
-
"description": "Parameter workflow"
|
|
12491
|
-
},
|
|
12492
|
-
"inputs": {
|
|
12493
|
-
"type": "Record<string, any>",
|
|
12494
|
-
"description": "Parameter inputs"
|
|
12495
|
-
},
|
|
12496
|
-
"options": {
|
|
12497
|
-
"type": "WorkflowRunOptions",
|
|
12498
|
-
"description": "Parameter options",
|
|
12499
|
-
"properties": {
|
|
12500
|
-
"poll": {
|
|
12501
|
-
"type": "boolean",
|
|
12502
|
-
"description": "Use polling instead of WebSocket for tracking execution"
|
|
12503
|
-
},
|
|
12504
|
-
"pollInterval": {
|
|
12505
|
-
"type": "number",
|
|
12506
|
-
"description": "Polling interval in ms (default 1000)"
|
|
12507
|
-
},
|
|
12508
|
-
"inputMap": {
|
|
12509
|
-
"type": "InputMapping",
|
|
12510
|
-
"description": "Named input mapping: semantic name -> { nodeId, field }"
|
|
12511
|
-
},
|
|
12512
|
-
"outputDir": {
|
|
12513
|
-
"type": "string",
|
|
12514
|
-
"description": "If provided, output images are downloaded to this directory"
|
|
12515
|
-
}
|
|
12516
|
-
}
|
|
12517
|
-
}
|
|
12518
|
-
},
|
|
12519
|
-
"required": [
|
|
12520
|
-
"workflow"
|
|
12521
|
-
],
|
|
12522
|
-
"returns": "Promise<WorkflowResult>"
|
|
12523
|
-
}
|
|
12524
|
-
},
|
|
12525
|
-
"getters": {
|
|
12526
|
-
"clientId": {
|
|
12527
|
-
"description": "The unique client ID used for WebSocket session tracking.",
|
|
12528
|
-
"returns": "string"
|
|
12529
|
-
},
|
|
12530
|
-
"wsURL": {
|
|
12531
|
-
"description": "The WebSocket URL derived from baseURL or overridden via options.",
|
|
12532
|
-
"returns": "string"
|
|
12533
|
-
}
|
|
12534
|
-
},
|
|
12535
|
-
"events": {
|
|
12536
|
-
"execution_start": {
|
|
12537
|
-
"name": "execution_start",
|
|
12538
|
-
"description": "Event emitted by ComfyUIClient",
|
|
12539
|
-
"arguments": {}
|
|
12540
|
-
},
|
|
12541
|
-
"execution_complete": {
|
|
12542
|
-
"name": "execution_complete",
|
|
12543
|
-
"description": "Event emitted by ComfyUIClient",
|
|
12544
|
-
"arguments": {}
|
|
12545
|
-
},
|
|
12546
|
-
"executing": {
|
|
12547
|
-
"name": "executing",
|
|
12548
|
-
"description": "Event emitted by ComfyUIClient",
|
|
12549
|
-
"arguments": {}
|
|
12550
|
-
},
|
|
12551
|
-
"progress": {
|
|
12552
|
-
"name": "progress",
|
|
12553
|
-
"description": "Event emitted by ComfyUIClient",
|
|
12554
|
-
"arguments": {}
|
|
12555
|
-
},
|
|
12556
|
-
"executed": {
|
|
12557
|
-
"name": "executed",
|
|
12558
|
-
"description": "Event emitted by ComfyUIClient",
|
|
12559
|
-
"arguments": {}
|
|
12560
|
-
},
|
|
12561
|
-
"execution_cached": {
|
|
12562
|
-
"name": "execution_cached",
|
|
12563
|
-
"description": "Event emitted by ComfyUIClient",
|
|
12564
|
-
"arguments": {}
|
|
12565
|
-
},
|
|
12566
|
-
"execution_error": {
|
|
12567
|
-
"name": "execution_error",
|
|
12568
|
-
"description": "Event emitted by ComfyUIClient",
|
|
12569
|
-
"arguments": {}
|
|
12570
|
-
}
|
|
12571
|
-
},
|
|
12572
|
-
"state": {},
|
|
12573
|
-
"options": {},
|
|
12574
|
-
"envVars": [],
|
|
12575
|
-
"examples": [
|
|
12576
|
-
{
|
|
12577
|
-
"language": "ts",
|
|
12578
|
-
"code": "const comfy = container.client('comfyui', { baseURL: 'http://localhost:8188' })\nconst result = await comfy.runWorkflow(workflow, {\n '6': { text: 'a beautiful sunset' }\n})\nconsole.log(result.images)"
|
|
12579
|
-
}
|
|
12580
|
-
],
|
|
12581
|
-
"types": {
|
|
12582
|
-
"WorkflowRunOptions": {
|
|
12583
|
-
"description": "",
|
|
12584
|
-
"properties": {
|
|
12585
|
-
"poll": {
|
|
12586
|
-
"type": "boolean",
|
|
12587
|
-
"description": "Use polling instead of WebSocket for tracking execution",
|
|
12588
|
-
"optional": true
|
|
12589
|
-
},
|
|
12590
|
-
"pollInterval": {
|
|
12591
|
-
"type": "number",
|
|
12592
|
-
"description": "Polling interval in ms (default 1000)",
|
|
12593
|
-
"optional": true
|
|
12594
|
-
},
|
|
12595
|
-
"inputMap": {
|
|
12596
|
-
"type": "InputMapping",
|
|
12597
|
-
"description": "Named input mapping: semantic name -> { nodeId, field }",
|
|
12598
|
-
"optional": true
|
|
12599
|
-
},
|
|
12600
|
-
"outputDir": {
|
|
12601
|
-
"type": "string",
|
|
12602
|
-
"description": "If provided, output images are downloaded to this directory",
|
|
12603
|
-
"optional": true
|
|
12604
|
-
}
|
|
12605
|
-
}
|
|
12606
|
-
},
|
|
12607
|
-
"WorkflowResult": {
|
|
12608
|
-
"description": "",
|
|
12609
|
-
"properties": {
|
|
12610
|
-
"promptId": {
|
|
12611
|
-
"type": "string",
|
|
12612
|
-
"description": ""
|
|
12613
|
-
},
|
|
12614
|
-
"outputs": {
|
|
12615
|
-
"type": "Record<string, any>",
|
|
12616
|
-
"description": ""
|
|
12617
|
-
},
|
|
12618
|
-
"images": {
|
|
12619
|
-
"type": "Array<{ filename: string; subfolder: string; type: string; localPath?: string }>",
|
|
12620
|
-
"description": "",
|
|
12621
|
-
"optional": true
|
|
12622
|
-
}
|
|
12623
|
-
}
|
|
12624
|
-
}
|
|
12625
|
-
}
|
|
12626
|
-
});
|
|
12627
|
-
|
|
12628
|
-
setBuildTimeData('clients.elevenlabs', {
|
|
12629
|
-
"id": "clients.elevenlabs",
|
|
12630
|
-
"description": "ElevenLabs client — text-to-speech synthesis via the ElevenLabs REST API. Provides methods for listing voices, listing models, and generating speech audio. Audio is returned as a Buffer; use `say()` for a convenience method that writes to disk.",
|
|
12631
|
-
"shortcut": "clients.elevenlabs",
|
|
12632
|
-
"className": "ElevenLabsClient",
|
|
12633
|
-
"methods": {
|
|
12634
|
-
"beforeRequest": {
|
|
12635
|
-
"description": "Inject the xi-api-key header before each request.",
|
|
12636
|
-
"parameters": {},
|
|
12637
|
-
"required": [],
|
|
12638
|
-
"returns": "void"
|
|
12639
|
-
},
|
|
12640
|
-
"connect": {
|
|
12641
|
-
"description": "Validate the API key by listing available models.",
|
|
12642
|
-
"parameters": {},
|
|
12643
|
-
"required": [],
|
|
12644
|
-
"returns": "Promise<this>",
|
|
12645
|
-
"examples": [
|
|
12646
|
-
{
|
|
12647
|
-
"language": "ts",
|
|
12648
|
-
"code": "await el.connect()"
|
|
12649
|
-
}
|
|
12650
|
-
]
|
|
12651
|
-
},
|
|
12652
|
-
"listVoices": {
|
|
12653
|
-
"description": "List available voices with optional search and filtering.",
|
|
12654
|
-
"parameters": {
|
|
12655
|
-
"options": {
|
|
12656
|
-
"type": "{\n search?: string\n category?: string\n voice_type?: string\n page_size?: number\n next_page_token?: string\n }",
|
|
12657
|
-
"description": "Query parameters for filtering voices"
|
|
13068
|
+
"file": {
|
|
13069
|
+
"type": "Buffer | Blob",
|
|
13070
|
+
"description": "The image data as Buffer or Blob"
|
|
13071
|
+
},
|
|
13072
|
+
"filename": {
|
|
13073
|
+
"type": "string",
|
|
13074
|
+
"description": "File name for the upload"
|
|
13075
|
+
},
|
|
13076
|
+
"opts": {
|
|
13077
|
+
"type": "{ subfolder?: string; type?: string; overwrite?: boolean }",
|
|
13078
|
+
"description": "Upload options (subfolder, type, overwrite)"
|
|
12658
13079
|
}
|
|
12659
13080
|
},
|
|
12660
|
-
"required": [
|
|
12661
|
-
|
|
12662
|
-
|
|
12663
|
-
|
|
12664
|
-
|
|
12665
|
-
"code": "const voices = await el.listVoices()\nconst premade = await el.listVoices({ category: 'premade' })"
|
|
12666
|
-
}
|
|
12667
|
-
]
|
|
13081
|
+
"required": [
|
|
13082
|
+
"file",
|
|
13083
|
+
"filename"
|
|
13084
|
+
],
|
|
13085
|
+
"returns": "Promise<any>"
|
|
12668
13086
|
},
|
|
12669
|
-
"
|
|
12670
|
-
"description": "
|
|
13087
|
+
"viewImage": {
|
|
13088
|
+
"description": "Download a generated image from ComfyUI as a Buffer.",
|
|
12671
13089
|
"parameters": {
|
|
12672
|
-
"
|
|
13090
|
+
"filename": {
|
|
12673
13091
|
"type": "string",
|
|
12674
|
-
"description": "The
|
|
13092
|
+
"description": "The image filename"
|
|
13093
|
+
},
|
|
13094
|
+
"subfolder": {
|
|
13095
|
+
"type": "any",
|
|
13096
|
+
"description": "Subfolder within the output directory"
|
|
13097
|
+
},
|
|
13098
|
+
"type": {
|
|
13099
|
+
"type": "any",
|
|
13100
|
+
"description": "Image type ('output', 'input', 'temp')"
|
|
12675
13101
|
}
|
|
12676
13102
|
},
|
|
12677
13103
|
"required": [
|
|
12678
|
-
"
|
|
13104
|
+
"filename"
|
|
12679
13105
|
],
|
|
12680
|
-
"returns": "Promise<
|
|
12681
|
-
"examples": [
|
|
12682
|
-
{
|
|
12683
|
-
"language": "ts",
|
|
12684
|
-
"code": "const voice = await el.getVoice('21m00Tcm4TlvDq8ikWAM')\nconsole.log(voice.name, voice.settings)"
|
|
12685
|
-
}
|
|
12686
|
-
]
|
|
13106
|
+
"returns": "Promise<Buffer>"
|
|
12687
13107
|
},
|
|
12688
|
-
"
|
|
12689
|
-
"description": "
|
|
13108
|
+
"connectWs": {
|
|
13109
|
+
"description": "Open a WebSocket connection to ComfyUI for real-time execution tracking. Events emitted: `execution_start`, `executing`, `progress`, `executed`, `execution_cached`, `execution_error`, `execution_complete`.",
|
|
12690
13110
|
"parameters": {},
|
|
12691
13111
|
"required": [],
|
|
12692
|
-
"returns": "Promise<
|
|
12693
|
-
"examples": [
|
|
12694
|
-
{
|
|
12695
|
-
"language": "ts",
|
|
12696
|
-
"code": "const models = await el.listModels()\nconsole.log(models.map(m => m.model_id))"
|
|
12697
|
-
}
|
|
12698
|
-
]
|
|
13112
|
+
"returns": "Promise<void>"
|
|
12699
13113
|
},
|
|
12700
|
-
"
|
|
12701
|
-
"description": "
|
|
13114
|
+
"disconnectWs": {
|
|
13115
|
+
"description": "Close the WebSocket connection.",
|
|
13116
|
+
"parameters": {},
|
|
13117
|
+
"required": [],
|
|
13118
|
+
"returns": "void"
|
|
13119
|
+
},
|
|
13120
|
+
"toApiFormat": {
|
|
13121
|
+
"description": "Convert a UI-format workflow to the API format that /prompt expects. Requires a running ComfyUI instance to fetch `object_info` so we can map positional `widgets_values` to their named input fields. If the workflow is already in API format, it's returned as-is.",
|
|
12702
13122
|
"parameters": {
|
|
12703
|
-
"
|
|
12704
|
-
"type": "string",
|
|
12705
|
-
"description": "
|
|
12706
|
-
},
|
|
12707
|
-
"options": {
|
|
12708
|
-
"type": "SynthesizeOptions",
|
|
12709
|
-
"description": "Voice, model, format, and voice settings overrides",
|
|
12710
|
-
"properties": {
|
|
12711
|
-
"voiceId": {
|
|
12712
|
-
"type": "string",
|
|
12713
|
-
"description": ""
|
|
12714
|
-
},
|
|
12715
|
-
"modelId": {
|
|
12716
|
-
"type": "string",
|
|
12717
|
-
"description": ""
|
|
12718
|
-
},
|
|
12719
|
-
"outputFormat": {
|
|
12720
|
-
"type": "string",
|
|
12721
|
-
"description": ""
|
|
12722
|
-
},
|
|
12723
|
-
"voiceSettings": {
|
|
12724
|
-
"type": "ElevenLabsVoiceSettings",
|
|
12725
|
-
"description": ""
|
|
12726
|
-
},
|
|
12727
|
-
"disableCache": {
|
|
12728
|
-
"type": "boolean",
|
|
12729
|
-
"description": ""
|
|
12730
|
-
}
|
|
12731
|
-
}
|
|
13123
|
+
"workflow": {
|
|
13124
|
+
"type": "Record<string, any>",
|
|
13125
|
+
"description": "Parameter workflow"
|
|
12732
13126
|
}
|
|
12733
13127
|
},
|
|
12734
13128
|
"required": [
|
|
12735
|
-
"
|
|
13129
|
+
"workflow"
|
|
12736
13130
|
],
|
|
12737
|
-
"returns": "Promise<
|
|
12738
|
-
"examples": [
|
|
12739
|
-
{
|
|
12740
|
-
"language": "ts",
|
|
12741
|
-
"code": "const audio = await el.synthesize('Hello world')\n// audio is a Buffer of mp3 data\n\nconst custom = await el.synthesize('Hello', {\n voiceId: '21m00Tcm4TlvDq8ikWAM',\n voiceSettings: { stability: 0.5, similarityBoost: 0.8 }\n})"
|
|
12742
|
-
}
|
|
12743
|
-
]
|
|
13131
|
+
"returns": "Promise<Record<string, any>>"
|
|
12744
13132
|
},
|
|
12745
|
-
"
|
|
12746
|
-
"description": "
|
|
13133
|
+
"runWorkflow": {
|
|
13134
|
+
"description": "Run a ComfyUI workflow with optional runtime input overrides. Inputs can be provided in two forms: **Direct node mapping** (when no `inputMap` in options): ``` { '3': { seed: 42 }, '6': { text: 'a cat' } } ``` **Named inputs** (when `inputMap` is provided in options): ``` inputs: { positive_prompt: 'a cat', seed: 42 } options.inputMap: { positive_prompt: { nodeId: '6', field: 'text' }, seed: { nodeId: '3', field: 'seed' } } ```",
|
|
12747
13135
|
"parameters": {
|
|
12748
|
-
"
|
|
12749
|
-
"type": "string",
|
|
12750
|
-
"description": "
|
|
13136
|
+
"workflow": {
|
|
13137
|
+
"type": "Record<string, any>",
|
|
13138
|
+
"description": "Parameter workflow"
|
|
12751
13139
|
},
|
|
12752
|
-
"
|
|
12753
|
-
"type": "string",
|
|
12754
|
-
"description": "
|
|
13140
|
+
"inputs": {
|
|
13141
|
+
"type": "Record<string, any>",
|
|
13142
|
+
"description": "Parameter inputs"
|
|
12755
13143
|
},
|
|
12756
13144
|
"options": {
|
|
12757
|
-
"type": "
|
|
12758
|
-
"description": "
|
|
13145
|
+
"type": "WorkflowRunOptions",
|
|
13146
|
+
"description": "Parameter options",
|
|
12759
13147
|
"properties": {
|
|
12760
|
-
"
|
|
12761
|
-
"type": "
|
|
12762
|
-
"description": ""
|
|
12763
|
-
},
|
|
12764
|
-
"modelId": {
|
|
12765
|
-
"type": "string",
|
|
12766
|
-
"description": ""
|
|
13148
|
+
"poll": {
|
|
13149
|
+
"type": "boolean",
|
|
13150
|
+
"description": "Use polling instead of WebSocket for tracking execution"
|
|
12767
13151
|
},
|
|
12768
|
-
"
|
|
12769
|
-
"type": "
|
|
12770
|
-
"description": ""
|
|
13152
|
+
"pollInterval": {
|
|
13153
|
+
"type": "number",
|
|
13154
|
+
"description": "Polling interval in ms (default 1000)"
|
|
12771
13155
|
},
|
|
12772
|
-
"
|
|
12773
|
-
"type": "
|
|
12774
|
-
"description": ""
|
|
13156
|
+
"inputMap": {
|
|
13157
|
+
"type": "InputMapping",
|
|
13158
|
+
"description": "Named input mapping: semantic name -> { nodeId, field }"
|
|
12775
13159
|
},
|
|
12776
|
-
"
|
|
12777
|
-
"type": "
|
|
12778
|
-
"description": ""
|
|
13160
|
+
"outputDir": {
|
|
13161
|
+
"type": "string",
|
|
13162
|
+
"description": "If provided, output images are downloaded to this directory"
|
|
12779
13163
|
}
|
|
12780
13164
|
}
|
|
12781
13165
|
}
|
|
12782
13166
|
},
|
|
12783
13167
|
"required": [
|
|
12784
|
-
"
|
|
12785
|
-
"outputPath"
|
|
13168
|
+
"workflow"
|
|
12786
13169
|
],
|
|
12787
|
-
"returns": "Promise<
|
|
12788
|
-
"examples": [
|
|
12789
|
-
{
|
|
12790
|
-
"language": "ts",
|
|
12791
|
-
"code": "const path = await el.say('Hello world', './hello.mp3')\nconsole.log(`Audio saved to ${path}`)"
|
|
12792
|
-
}
|
|
12793
|
-
]
|
|
13170
|
+
"returns": "Promise<WorkflowResult>"
|
|
12794
13171
|
}
|
|
12795
13172
|
},
|
|
12796
13173
|
"getters": {
|
|
12797
|
-
"
|
|
12798
|
-
"description": "The
|
|
13174
|
+
"clientId": {
|
|
13175
|
+
"description": "The unique client ID used for WebSocket session tracking.",
|
|
13176
|
+
"returns": "string"
|
|
13177
|
+
},
|
|
13178
|
+
"wsURL": {
|
|
13179
|
+
"description": "The WebSocket URL derived from baseURL or overridden via options.",
|
|
12799
13180
|
"returns": "string"
|
|
12800
13181
|
}
|
|
12801
13182
|
},
|
|
12802
13183
|
"events": {
|
|
12803
|
-
"
|
|
12804
|
-
"name": "
|
|
12805
|
-
"description": "Event emitted by
|
|
13184
|
+
"execution_start": {
|
|
13185
|
+
"name": "execution_start",
|
|
13186
|
+
"description": "Event emitted by ComfyUIClient",
|
|
12806
13187
|
"arguments": {}
|
|
12807
13188
|
},
|
|
12808
|
-
"
|
|
12809
|
-
"name": "
|
|
12810
|
-
"description": "Event emitted by
|
|
13189
|
+
"execution_complete": {
|
|
13190
|
+
"name": "execution_complete",
|
|
13191
|
+
"description": "Event emitted by ComfyUIClient",
|
|
12811
13192
|
"arguments": {}
|
|
12812
13193
|
},
|
|
12813
|
-
"
|
|
12814
|
-
"name": "
|
|
12815
|
-
"description": "Event emitted by
|
|
13194
|
+
"executing": {
|
|
13195
|
+
"name": "executing",
|
|
13196
|
+
"description": "Event emitted by ComfyUIClient",
|
|
13197
|
+
"arguments": {}
|
|
13198
|
+
},
|
|
13199
|
+
"progress": {
|
|
13200
|
+
"name": "progress",
|
|
13201
|
+
"description": "Event emitted by ComfyUIClient",
|
|
13202
|
+
"arguments": {}
|
|
13203
|
+
},
|
|
13204
|
+
"executed": {
|
|
13205
|
+
"name": "executed",
|
|
13206
|
+
"description": "Event emitted by ComfyUIClient",
|
|
13207
|
+
"arguments": {}
|
|
13208
|
+
},
|
|
13209
|
+
"execution_cached": {
|
|
13210
|
+
"name": "execution_cached",
|
|
13211
|
+
"description": "Event emitted by ComfyUIClient",
|
|
13212
|
+
"arguments": {}
|
|
13213
|
+
},
|
|
13214
|
+
"execution_error": {
|
|
13215
|
+
"name": "execution_error",
|
|
13216
|
+
"description": "Event emitted by ComfyUIClient",
|
|
12816
13217
|
"arguments": {}
|
|
12817
13218
|
}
|
|
12818
13219
|
},
|
|
@@ -12822,65 +13223,48 @@ setBuildTimeData('clients.elevenlabs', {
|
|
|
12822
13223
|
"examples": [
|
|
12823
13224
|
{
|
|
12824
13225
|
"language": "ts",
|
|
12825
|
-
"code": "const
|
|
13226
|
+
"code": "const comfy = container.client('comfyui', { baseURL: 'http://localhost:8188' })\nconst result = await comfy.runWorkflow(workflow, {\n '6': { text: 'a beautiful sunset' }\n})\nconsole.log(result.images)"
|
|
12826
13227
|
}
|
|
12827
13228
|
],
|
|
12828
|
-
"types": {
|
|
12829
|
-
"
|
|
12830
|
-
"description": "",
|
|
12831
|
-
"properties": {
|
|
12832
|
-
"voiceId": {
|
|
12833
|
-
"type": "string",
|
|
12834
|
-
"description": "",
|
|
12835
|
-
"optional": true
|
|
12836
|
-
},
|
|
12837
|
-
"modelId": {
|
|
12838
|
-
"type": "string",
|
|
12839
|
-
"description": "",
|
|
12840
|
-
"optional": true
|
|
12841
|
-
},
|
|
12842
|
-
"outputFormat": {
|
|
12843
|
-
"type": "string",
|
|
12844
|
-
"description": "",
|
|
12845
|
-
"optional": true
|
|
12846
|
-
},
|
|
12847
|
-
"voiceSettings": {
|
|
12848
|
-
"type": "ElevenLabsVoiceSettings",
|
|
12849
|
-
"description": "",
|
|
12850
|
-
"optional": true
|
|
12851
|
-
},
|
|
12852
|
-
"disableCache": {
|
|
12853
|
-
"type": "boolean",
|
|
12854
|
-
"description": "",
|
|
12855
|
-
"optional": true
|
|
12856
|
-
}
|
|
12857
|
-
}
|
|
12858
|
-
},
|
|
12859
|
-
"ElevenLabsVoiceSettings": {
|
|
13229
|
+
"types": {
|
|
13230
|
+
"WorkflowRunOptions": {
|
|
12860
13231
|
"description": "",
|
|
12861
13232
|
"properties": {
|
|
12862
|
-
"
|
|
12863
|
-
"type": "
|
|
12864
|
-
"description": "",
|
|
13233
|
+
"poll": {
|
|
13234
|
+
"type": "boolean",
|
|
13235
|
+
"description": "Use polling instead of WebSocket for tracking execution",
|
|
12865
13236
|
"optional": true
|
|
12866
13237
|
},
|
|
12867
|
-
"
|
|
13238
|
+
"pollInterval": {
|
|
12868
13239
|
"type": "number",
|
|
12869
|
-
"description": "",
|
|
13240
|
+
"description": "Polling interval in ms (default 1000)",
|
|
12870
13241
|
"optional": true
|
|
12871
13242
|
},
|
|
12872
|
-
"
|
|
12873
|
-
"type": "
|
|
12874
|
-
"description": "",
|
|
13243
|
+
"inputMap": {
|
|
13244
|
+
"type": "InputMapping",
|
|
13245
|
+
"description": "Named input mapping: semantic name -> { nodeId, field }",
|
|
12875
13246
|
"optional": true
|
|
12876
13247
|
},
|
|
12877
|
-
"
|
|
12878
|
-
"type": "
|
|
12879
|
-
"description": "",
|
|
13248
|
+
"outputDir": {
|
|
13249
|
+
"type": "string",
|
|
13250
|
+
"description": "If provided, output images are downloaded to this directory",
|
|
12880
13251
|
"optional": true
|
|
13252
|
+
}
|
|
13253
|
+
}
|
|
13254
|
+
},
|
|
13255
|
+
"WorkflowResult": {
|
|
13256
|
+
"description": "",
|
|
13257
|
+
"properties": {
|
|
13258
|
+
"promptId": {
|
|
13259
|
+
"type": "string",
|
|
13260
|
+
"description": ""
|
|
12881
13261
|
},
|
|
12882
|
-
"
|
|
12883
|
-
"type": "
|
|
13262
|
+
"outputs": {
|
|
13263
|
+
"type": "Record<string, any>",
|
|
13264
|
+
"description": ""
|
|
13265
|
+
},
|
|
13266
|
+
"images": {
|
|
13267
|
+
"type": "Array<{ filename: string; subfolder: string; type: string; localPath?: string }>",
|
|
12884
13268
|
"description": "",
|
|
12885
13269
|
"optional": true
|
|
12886
13270
|
}
|
|
@@ -25808,137 +26192,439 @@ export const introspectionData = [
|
|
|
25808
26192
|
}
|
|
25809
26193
|
},
|
|
25810
26194
|
"required": [
|
|
25811
|
-
"input"
|
|
26195
|
+
"input"
|
|
26196
|
+
],
|
|
26197
|
+
"returns": "Promise<OpenAI.Embeddings.CreateEmbeddingResponse>",
|
|
26198
|
+
"examples": [
|
|
26199
|
+
{
|
|
26200
|
+
"language": "ts",
|
|
26201
|
+
"code": "const response = await openai.createEmbedding('Hello world')\nconsole.log(response.data[0].embedding.length)"
|
|
26202
|
+
}
|
|
26203
|
+
]
|
|
26204
|
+
},
|
|
26205
|
+
"createImage": {
|
|
26206
|
+
"description": "Generate an image from a text prompt using DALL-E.",
|
|
26207
|
+
"parameters": {
|
|
26208
|
+
"prompt": {
|
|
26209
|
+
"type": "string",
|
|
26210
|
+
"description": "Description of the image to generate"
|
|
26211
|
+
},
|
|
26212
|
+
"options": {
|
|
26213
|
+
"type": "Partial<OpenAI.Images.ImageGenerateParams>",
|
|
26214
|
+
"description": "Additional parameters (size, n, etc.)"
|
|
26215
|
+
}
|
|
26216
|
+
},
|
|
26217
|
+
"required": [
|
|
26218
|
+
"prompt"
|
|
26219
|
+
],
|
|
26220
|
+
"returns": "Promise<OpenAI.Images.ImagesResponse>",
|
|
26221
|
+
"examples": [
|
|
26222
|
+
{
|
|
26223
|
+
"language": "ts",
|
|
26224
|
+
"code": "const response = await openai.createImage('A sunset over mountains')\nconsole.log(response.data[0].url)"
|
|
26225
|
+
}
|
|
26226
|
+
]
|
|
26227
|
+
},
|
|
26228
|
+
"listModels": {
|
|
26229
|
+
"description": "List all available models.",
|
|
26230
|
+
"parameters": {},
|
|
26231
|
+
"required": [],
|
|
26232
|
+
"returns": "Promise<OpenAI.Models.ModelsPage>",
|
|
26233
|
+
"examples": [
|
|
26234
|
+
{
|
|
26235
|
+
"language": "ts",
|
|
26236
|
+
"code": "const models = await openai.listModels()"
|
|
26237
|
+
}
|
|
26238
|
+
]
|
|
26239
|
+
},
|
|
26240
|
+
"ask": {
|
|
26241
|
+
"description": "Ask a single question and get a text response. Convenience wrapper around `createChatCompletion` for simple Q&A.",
|
|
26242
|
+
"parameters": {
|
|
26243
|
+
"question": {
|
|
26244
|
+
"type": "string",
|
|
26245
|
+
"description": "The question to ask"
|
|
26246
|
+
},
|
|
26247
|
+
"options": {
|
|
26248
|
+
"type": "Partial<OpenAI.Chat.Completions.ChatCompletionCreateParams>",
|
|
26249
|
+
"description": "Additional completion parameters"
|
|
26250
|
+
}
|
|
26251
|
+
},
|
|
26252
|
+
"required": [
|
|
26253
|
+
"question"
|
|
26254
|
+
],
|
|
26255
|
+
"returns": "Promise<string>",
|
|
26256
|
+
"examples": [
|
|
26257
|
+
{
|
|
26258
|
+
"language": "ts",
|
|
26259
|
+
"code": "const answer = await openai.ask('What is 2 + 2?')\nconsole.log(answer) // '4'"
|
|
26260
|
+
}
|
|
26261
|
+
]
|
|
26262
|
+
},
|
|
26263
|
+
"chat": {
|
|
26264
|
+
"description": "Send a multi-turn conversation and get a text response. Convenience wrapper around `createChatCompletion` that returns just the text.",
|
|
26265
|
+
"parameters": {
|
|
26266
|
+
"messages": {
|
|
26267
|
+
"type": "OpenAI.Chat.Completions.ChatCompletionMessageParam[]",
|
|
26268
|
+
"description": "Array of chat messages"
|
|
26269
|
+
},
|
|
26270
|
+
"options": {
|
|
26271
|
+
"type": "Partial<OpenAI.Chat.Completions.ChatCompletionCreateParams>",
|
|
26272
|
+
"description": "Additional completion parameters"
|
|
26273
|
+
}
|
|
26274
|
+
},
|
|
26275
|
+
"required": [
|
|
26276
|
+
"messages"
|
|
26277
|
+
],
|
|
26278
|
+
"returns": "Promise<string>",
|
|
26279
|
+
"examples": [
|
|
26280
|
+
{
|
|
26281
|
+
"language": "ts",
|
|
26282
|
+
"code": "const reply = await openai.chat([\n { role: 'system', content: 'You are a pirate.' },\n { role: 'user', content: 'Hello!' }\n])"
|
|
26283
|
+
}
|
|
26284
|
+
]
|
|
26285
|
+
}
|
|
26286
|
+
},
|
|
26287
|
+
"getters": {
|
|
26288
|
+
"defaultModel": {
|
|
26289
|
+
"description": "The default model used for completions, from options or 'gpt-4o'.",
|
|
26290
|
+
"returns": "string"
|
|
26291
|
+
},
|
|
26292
|
+
"raw": {
|
|
26293
|
+
"description": "The underlying OpenAI SDK instance for advanced use cases.",
|
|
26294
|
+
"returns": "OpenAI"
|
|
26295
|
+
}
|
|
26296
|
+
},
|
|
26297
|
+
"events": {
|
|
26298
|
+
"connected": {
|
|
26299
|
+
"name": "connected",
|
|
26300
|
+
"description": "Event emitted by OpenAIClient",
|
|
26301
|
+
"arguments": {}
|
|
26302
|
+
},
|
|
26303
|
+
"failure": {
|
|
26304
|
+
"name": "failure",
|
|
26305
|
+
"description": "Event emitted by OpenAIClient",
|
|
26306
|
+
"arguments": {}
|
|
26307
|
+
},
|
|
26308
|
+
"completion": {
|
|
26309
|
+
"name": "completion",
|
|
26310
|
+
"description": "Event emitted by OpenAIClient",
|
|
26311
|
+
"arguments": {}
|
|
26312
|
+
},
|
|
26313
|
+
"embedding": {
|
|
26314
|
+
"name": "embedding",
|
|
26315
|
+
"description": "Event emitted by OpenAIClient",
|
|
26316
|
+
"arguments": {}
|
|
26317
|
+
},
|
|
26318
|
+
"image": {
|
|
26319
|
+
"name": "image",
|
|
26320
|
+
"description": "Event emitted by OpenAIClient",
|
|
26321
|
+
"arguments": {}
|
|
26322
|
+
},
|
|
26323
|
+
"models": {
|
|
26324
|
+
"name": "models",
|
|
26325
|
+
"description": "Event emitted by OpenAIClient",
|
|
26326
|
+
"arguments": {}
|
|
26327
|
+
}
|
|
26328
|
+
},
|
|
26329
|
+
"state": {},
|
|
26330
|
+
"options": {},
|
|
26331
|
+
"envVars": [],
|
|
26332
|
+
"examples": [
|
|
26333
|
+
{
|
|
26334
|
+
"language": "ts",
|
|
26335
|
+
"code": "const openai = container.client('openai', { defaultModel: 'gpt-4o' })\nconst answer = await openai.ask('What is the meaning of life?')\nconsole.log(answer)"
|
|
26336
|
+
}
|
|
26337
|
+
]
|
|
26338
|
+
},
|
|
26339
|
+
{
|
|
26340
|
+
"id": "clients.voicebox",
|
|
26341
|
+
"description": "VoiceBox client — local TTS synthesis via VoiceBox.sh REST API (Qwen3-TTS). Provides methods for managing voice profiles and generating speech audio locally. Uses the streaming endpoint for synchronous synthesis (returns WAV buffer).",
|
|
26342
|
+
"shortcut": "clients.voicebox",
|
|
26343
|
+
"className": "VoiceBoxClient",
|
|
26344
|
+
"methods": {
|
|
26345
|
+
"connect": {
|
|
26346
|
+
"description": "Validate the VoiceBox server is reachable by hitting the health endpoint.",
|
|
26347
|
+
"parameters": {},
|
|
26348
|
+
"required": [],
|
|
26349
|
+
"returns": "Promise<this>"
|
|
26350
|
+
},
|
|
26351
|
+
"listProfiles": {
|
|
26352
|
+
"description": "List all voice profiles.",
|
|
26353
|
+
"parameters": {},
|
|
26354
|
+
"required": [],
|
|
26355
|
+
"returns": "Promise<any[]>",
|
|
26356
|
+
"examples": [
|
|
26357
|
+
{
|
|
26358
|
+
"language": "ts",
|
|
26359
|
+
"code": "const profiles = await vb.listProfiles()\nconsole.log(profiles.map(p => `${p.name} (${p.sample_count} samples)`))"
|
|
26360
|
+
}
|
|
26361
|
+
]
|
|
26362
|
+
},
|
|
26363
|
+
"getProfile": {
|
|
26364
|
+
"description": "Get a single voice profile by ID.",
|
|
26365
|
+
"parameters": {
|
|
26366
|
+
"profileId": {
|
|
26367
|
+
"type": "string",
|
|
26368
|
+
"description": "Parameter profileId"
|
|
26369
|
+
}
|
|
26370
|
+
},
|
|
26371
|
+
"required": [
|
|
26372
|
+
"profileId"
|
|
26373
|
+
],
|
|
26374
|
+
"returns": "Promise<any>"
|
|
26375
|
+
},
|
|
26376
|
+
"createProfile": {
|
|
26377
|
+
"description": "Create a new voice profile.",
|
|
26378
|
+
"parameters": {
|
|
26379
|
+
"name": {
|
|
26380
|
+
"type": "string",
|
|
26381
|
+
"description": "Parameter name"
|
|
26382
|
+
},
|
|
26383
|
+
"options": {
|
|
26384
|
+
"type": "{ description?: string; language?: string }",
|
|
26385
|
+
"description": "Parameter options"
|
|
26386
|
+
}
|
|
26387
|
+
},
|
|
26388
|
+
"required": [
|
|
26389
|
+
"name"
|
|
26390
|
+
],
|
|
26391
|
+
"returns": "Promise<any>"
|
|
26392
|
+
},
|
|
26393
|
+
"listEffects": {
|
|
26394
|
+
"description": "List available audio effects and their parameter definitions.",
|
|
26395
|
+
"parameters": {},
|
|
26396
|
+
"required": [],
|
|
26397
|
+
"returns": "Promise<any>"
|
|
26398
|
+
},
|
|
26399
|
+
"synthesize": {
|
|
26400
|
+
"description": "Synthesize speech from text using the streaming endpoint. Returns audio as a WAV Buffer (synchronous — blocks until audio is ready).",
|
|
26401
|
+
"parameters": {
|
|
26402
|
+
"text": {
|
|
26403
|
+
"type": "string",
|
|
26404
|
+
"description": "The text to convert to speech"
|
|
26405
|
+
},
|
|
26406
|
+
"options": {
|
|
26407
|
+
"type": "SynthesizeOptions",
|
|
26408
|
+
"description": "Profile, engine, model, and other synthesis options",
|
|
26409
|
+
"properties": {
|
|
26410
|
+
"profileId": {
|
|
26411
|
+
"type": "string",
|
|
26412
|
+
"description": ""
|
|
26413
|
+
},
|
|
26414
|
+
"engine": {
|
|
26415
|
+
"type": "string",
|
|
26416
|
+
"description": ""
|
|
26417
|
+
},
|
|
26418
|
+
"modelSize": {
|
|
26419
|
+
"type": "string",
|
|
26420
|
+
"description": ""
|
|
26421
|
+
},
|
|
26422
|
+
"language": {
|
|
26423
|
+
"type": "string",
|
|
26424
|
+
"description": ""
|
|
26425
|
+
},
|
|
26426
|
+
"instruct": {
|
|
26427
|
+
"type": "string",
|
|
26428
|
+
"description": ""
|
|
26429
|
+
},
|
|
26430
|
+
"seed": {
|
|
26431
|
+
"type": "number",
|
|
26432
|
+
"description": ""
|
|
26433
|
+
},
|
|
26434
|
+
"maxChunkChars": {
|
|
26435
|
+
"type": "number",
|
|
26436
|
+
"description": ""
|
|
26437
|
+
},
|
|
26438
|
+
"crossfadeMs": {
|
|
26439
|
+
"type": "number",
|
|
26440
|
+
"description": ""
|
|
26441
|
+
},
|
|
26442
|
+
"normalize": {
|
|
26443
|
+
"type": "boolean",
|
|
26444
|
+
"description": ""
|
|
26445
|
+
},
|
|
26446
|
+
"effectsChain": {
|
|
26447
|
+
"type": "EffectConfig[]",
|
|
26448
|
+
"description": ""
|
|
26449
|
+
},
|
|
26450
|
+
"disableCache": {
|
|
26451
|
+
"type": "boolean",
|
|
26452
|
+
"description": ""
|
|
26453
|
+
}
|
|
26454
|
+
}
|
|
26455
|
+
}
|
|
26456
|
+
},
|
|
26457
|
+
"required": [
|
|
26458
|
+
"text"
|
|
25812
26459
|
],
|
|
25813
|
-
"returns": "Promise<
|
|
26460
|
+
"returns": "Promise<Buffer>",
|
|
25814
26461
|
"examples": [
|
|
25815
26462
|
{
|
|
25816
26463
|
"language": "ts",
|
|
25817
|
-
"code": "const
|
|
26464
|
+
"code": "const audio = await vb.synthesize('Hello world', { profileId: 'abc-123' })\n// audio is a Buffer of WAV data"
|
|
25818
26465
|
}
|
|
25819
26466
|
]
|
|
25820
26467
|
},
|
|
25821
|
-
"
|
|
25822
|
-
"description": "Generate
|
|
26468
|
+
"generate": {
|
|
26469
|
+
"description": "Generate speech asynchronously (returns metadata, not audio). Use getAudio() to fetch the audio after generation completes.",
|
|
25823
26470
|
"parameters": {
|
|
25824
|
-
"
|
|
26471
|
+
"text": {
|
|
25825
26472
|
"type": "string",
|
|
25826
|
-
"description": "
|
|
26473
|
+
"description": "Parameter text"
|
|
25827
26474
|
},
|
|
25828
26475
|
"options": {
|
|
25829
|
-
"type": "
|
|
25830
|
-
"description": "
|
|
26476
|
+
"type": "SynthesizeOptions",
|
|
26477
|
+
"description": "Parameter options",
|
|
26478
|
+
"properties": {
|
|
26479
|
+
"profileId": {
|
|
26480
|
+
"type": "string",
|
|
26481
|
+
"description": ""
|
|
26482
|
+
},
|
|
26483
|
+
"engine": {
|
|
26484
|
+
"type": "string",
|
|
26485
|
+
"description": ""
|
|
26486
|
+
},
|
|
26487
|
+
"modelSize": {
|
|
26488
|
+
"type": "string",
|
|
26489
|
+
"description": ""
|
|
26490
|
+
},
|
|
26491
|
+
"language": {
|
|
26492
|
+
"type": "string",
|
|
26493
|
+
"description": ""
|
|
26494
|
+
},
|
|
26495
|
+
"instruct": {
|
|
26496
|
+
"type": "string",
|
|
26497
|
+
"description": ""
|
|
26498
|
+
},
|
|
26499
|
+
"seed": {
|
|
26500
|
+
"type": "number",
|
|
26501
|
+
"description": ""
|
|
26502
|
+
},
|
|
26503
|
+
"maxChunkChars": {
|
|
26504
|
+
"type": "number",
|
|
26505
|
+
"description": ""
|
|
26506
|
+
},
|
|
26507
|
+
"crossfadeMs": {
|
|
26508
|
+
"type": "number",
|
|
26509
|
+
"description": ""
|
|
26510
|
+
},
|
|
26511
|
+
"normalize": {
|
|
26512
|
+
"type": "boolean",
|
|
26513
|
+
"description": ""
|
|
26514
|
+
},
|
|
26515
|
+
"effectsChain": {
|
|
26516
|
+
"type": "EffectConfig[]",
|
|
26517
|
+
"description": ""
|
|
26518
|
+
},
|
|
26519
|
+
"disableCache": {
|
|
26520
|
+
"type": "boolean",
|
|
26521
|
+
"description": ""
|
|
26522
|
+
}
|
|
26523
|
+
}
|
|
25831
26524
|
}
|
|
25832
26525
|
},
|
|
25833
26526
|
"required": [
|
|
25834
|
-
"
|
|
26527
|
+
"text"
|
|
25835
26528
|
],
|
|
25836
|
-
"returns": "Promise<
|
|
25837
|
-
"examples": [
|
|
25838
|
-
{
|
|
25839
|
-
"language": "ts",
|
|
25840
|
-
"code": "const response = await openai.createImage('A sunset over mountains')\nconsole.log(response.data[0].url)"
|
|
25841
|
-
}
|
|
25842
|
-
]
|
|
25843
|
-
},
|
|
25844
|
-
"listModels": {
|
|
25845
|
-
"description": "List all available models.",
|
|
25846
|
-
"parameters": {},
|
|
25847
|
-
"required": [],
|
|
25848
|
-
"returns": "Promise<OpenAI.Models.ModelsPage>",
|
|
25849
|
-
"examples": [
|
|
25850
|
-
{
|
|
25851
|
-
"language": "ts",
|
|
25852
|
-
"code": "const models = await openai.listModels()"
|
|
25853
|
-
}
|
|
25854
|
-
]
|
|
26529
|
+
"returns": "Promise<any>"
|
|
25855
26530
|
},
|
|
25856
|
-
"
|
|
25857
|
-
"description": "
|
|
26531
|
+
"getAudio": {
|
|
26532
|
+
"description": "Fetch generated audio by generation ID. Returns WAV Buffer.",
|
|
25858
26533
|
"parameters": {
|
|
25859
|
-
"
|
|
26534
|
+
"generationId": {
|
|
25860
26535
|
"type": "string",
|
|
25861
|
-
"description": "
|
|
25862
|
-
},
|
|
25863
|
-
"options": {
|
|
25864
|
-
"type": "Partial<OpenAI.Chat.Completions.ChatCompletionCreateParams>",
|
|
25865
|
-
"description": "Additional completion parameters"
|
|
26536
|
+
"description": "Parameter generationId"
|
|
25866
26537
|
}
|
|
25867
26538
|
},
|
|
25868
26539
|
"required": [
|
|
25869
|
-
"
|
|
26540
|
+
"generationId"
|
|
25870
26541
|
],
|
|
25871
|
-
"returns": "Promise<
|
|
25872
|
-
"examples": [
|
|
25873
|
-
{
|
|
25874
|
-
"language": "ts",
|
|
25875
|
-
"code": "const answer = await openai.ask('What is 2 + 2?')\nconsole.log(answer) // '4'"
|
|
25876
|
-
}
|
|
25877
|
-
]
|
|
26542
|
+
"returns": "Promise<Buffer>"
|
|
25878
26543
|
},
|
|
25879
|
-
"
|
|
25880
|
-
"description": "
|
|
26544
|
+
"say": {
|
|
26545
|
+
"description": "Synthesize and write audio to a file.",
|
|
25881
26546
|
"parameters": {
|
|
25882
|
-
"
|
|
25883
|
-
"type": "
|
|
25884
|
-
"description": "
|
|
26547
|
+
"text": {
|
|
26548
|
+
"type": "string",
|
|
26549
|
+
"description": "Parameter text"
|
|
26550
|
+
},
|
|
26551
|
+
"outputPath": {
|
|
26552
|
+
"type": "string",
|
|
26553
|
+
"description": "Parameter outputPath"
|
|
25885
26554
|
},
|
|
25886
26555
|
"options": {
|
|
25887
|
-
"type": "
|
|
25888
|
-
"description": "
|
|
26556
|
+
"type": "SynthesizeOptions",
|
|
26557
|
+
"description": "Parameter options",
|
|
26558
|
+
"properties": {
|
|
26559
|
+
"profileId": {
|
|
26560
|
+
"type": "string",
|
|
26561
|
+
"description": ""
|
|
26562
|
+
},
|
|
26563
|
+
"engine": {
|
|
26564
|
+
"type": "string",
|
|
26565
|
+
"description": ""
|
|
26566
|
+
},
|
|
26567
|
+
"modelSize": {
|
|
26568
|
+
"type": "string",
|
|
26569
|
+
"description": ""
|
|
26570
|
+
},
|
|
26571
|
+
"language": {
|
|
26572
|
+
"type": "string",
|
|
26573
|
+
"description": ""
|
|
26574
|
+
},
|
|
26575
|
+
"instruct": {
|
|
26576
|
+
"type": "string",
|
|
26577
|
+
"description": ""
|
|
26578
|
+
},
|
|
26579
|
+
"seed": {
|
|
26580
|
+
"type": "number",
|
|
26581
|
+
"description": ""
|
|
26582
|
+
},
|
|
26583
|
+
"maxChunkChars": {
|
|
26584
|
+
"type": "number",
|
|
26585
|
+
"description": ""
|
|
26586
|
+
},
|
|
26587
|
+
"crossfadeMs": {
|
|
26588
|
+
"type": "number",
|
|
26589
|
+
"description": ""
|
|
26590
|
+
},
|
|
26591
|
+
"normalize": {
|
|
26592
|
+
"type": "boolean",
|
|
26593
|
+
"description": ""
|
|
26594
|
+
},
|
|
26595
|
+
"effectsChain": {
|
|
26596
|
+
"type": "EffectConfig[]",
|
|
26597
|
+
"description": ""
|
|
26598
|
+
},
|
|
26599
|
+
"disableCache": {
|
|
26600
|
+
"type": "boolean",
|
|
26601
|
+
"description": ""
|
|
26602
|
+
}
|
|
26603
|
+
}
|
|
25889
26604
|
}
|
|
25890
26605
|
},
|
|
25891
26606
|
"required": [
|
|
25892
|
-
"
|
|
26607
|
+
"text",
|
|
26608
|
+
"outputPath"
|
|
25893
26609
|
],
|
|
25894
|
-
"returns": "Promise<string>"
|
|
25895
|
-
"examples": [
|
|
25896
|
-
{
|
|
25897
|
-
"language": "ts",
|
|
25898
|
-
"code": "const reply = await openai.chat([\n { role: 'system', content: 'You are a pirate.' },\n { role: 'user', content: 'Hello!' }\n])"
|
|
25899
|
-
}
|
|
25900
|
-
]
|
|
25901
|
-
}
|
|
25902
|
-
},
|
|
25903
|
-
"getters": {
|
|
25904
|
-
"defaultModel": {
|
|
25905
|
-
"description": "The default model used for completions, from options or 'gpt-4o'.",
|
|
25906
|
-
"returns": "string"
|
|
25907
|
-
},
|
|
25908
|
-
"raw": {
|
|
25909
|
-
"description": "The underlying OpenAI SDK instance for advanced use cases.",
|
|
25910
|
-
"returns": "OpenAI"
|
|
26610
|
+
"returns": "Promise<string>"
|
|
25911
26611
|
}
|
|
25912
26612
|
},
|
|
26613
|
+
"getters": {},
|
|
25913
26614
|
"events": {
|
|
25914
|
-
"connected": {
|
|
25915
|
-
"name": "connected",
|
|
25916
|
-
"description": "Event emitted by OpenAIClient",
|
|
25917
|
-
"arguments": {}
|
|
25918
|
-
},
|
|
25919
26615
|
"failure": {
|
|
25920
26616
|
"name": "failure",
|
|
25921
|
-
"description": "Event emitted by
|
|
25922
|
-
"arguments": {}
|
|
25923
|
-
},
|
|
25924
|
-
"completion": {
|
|
25925
|
-
"name": "completion",
|
|
25926
|
-
"description": "Event emitted by OpenAIClient",
|
|
25927
|
-
"arguments": {}
|
|
25928
|
-
},
|
|
25929
|
-
"embedding": {
|
|
25930
|
-
"name": "embedding",
|
|
25931
|
-
"description": "Event emitted by OpenAIClient",
|
|
26617
|
+
"description": "Event emitted by VoiceBoxClient",
|
|
25932
26618
|
"arguments": {}
|
|
25933
26619
|
},
|
|
25934
|
-
"
|
|
25935
|
-
"name": "
|
|
25936
|
-
"description": "Event emitted by
|
|
26620
|
+
"profiles": {
|
|
26621
|
+
"name": "profiles",
|
|
26622
|
+
"description": "Event emitted by VoiceBoxClient",
|
|
25937
26623
|
"arguments": {}
|
|
25938
26624
|
},
|
|
25939
|
-
"
|
|
25940
|
-
"name": "
|
|
25941
|
-
"description": "Event emitted by
|
|
26625
|
+
"speech": {
|
|
26626
|
+
"name": "speech",
|
|
26627
|
+
"description": "Event emitted by VoiceBoxClient",
|
|
25942
26628
|
"arguments": {}
|
|
25943
26629
|
}
|
|
25944
26630
|
},
|
|
@@ -25948,9 +26634,90 @@ export const introspectionData = [
|
|
|
25948
26634
|
"examples": [
|
|
25949
26635
|
{
|
|
25950
26636
|
"language": "ts",
|
|
25951
|
-
"code": "const
|
|
26637
|
+
"code": "const vb = container.client('voicebox')\nawait vb.connect()\nconst profiles = await vb.listProfiles()\nconst audio = await vb.synthesize('Hello world', { profileId: profiles[0].id })\n// audio is a Buffer of WAV data"
|
|
26638
|
+
}
|
|
26639
|
+
],
|
|
26640
|
+
"types": {
|
|
26641
|
+
"SynthesizeOptions": {
|
|
26642
|
+
"description": "",
|
|
26643
|
+
"properties": {
|
|
26644
|
+
"profileId": {
|
|
26645
|
+
"type": "string",
|
|
26646
|
+
"description": "",
|
|
26647
|
+
"optional": true
|
|
26648
|
+
},
|
|
26649
|
+
"engine": {
|
|
26650
|
+
"type": "string",
|
|
26651
|
+
"description": "",
|
|
26652
|
+
"optional": true
|
|
26653
|
+
},
|
|
26654
|
+
"modelSize": {
|
|
26655
|
+
"type": "string",
|
|
26656
|
+
"description": "",
|
|
26657
|
+
"optional": true
|
|
26658
|
+
},
|
|
26659
|
+
"language": {
|
|
26660
|
+
"type": "string",
|
|
26661
|
+
"description": "",
|
|
26662
|
+
"optional": true
|
|
26663
|
+
},
|
|
26664
|
+
"instruct": {
|
|
26665
|
+
"type": "string",
|
|
26666
|
+
"description": "",
|
|
26667
|
+
"optional": true
|
|
26668
|
+
},
|
|
26669
|
+
"seed": {
|
|
26670
|
+
"type": "number",
|
|
26671
|
+
"description": "",
|
|
26672
|
+
"optional": true
|
|
26673
|
+
},
|
|
26674
|
+
"maxChunkChars": {
|
|
26675
|
+
"type": "number",
|
|
26676
|
+
"description": "",
|
|
26677
|
+
"optional": true
|
|
26678
|
+
},
|
|
26679
|
+
"crossfadeMs": {
|
|
26680
|
+
"type": "number",
|
|
26681
|
+
"description": "",
|
|
26682
|
+
"optional": true
|
|
26683
|
+
},
|
|
26684
|
+
"normalize": {
|
|
26685
|
+
"type": "boolean",
|
|
26686
|
+
"description": "",
|
|
26687
|
+
"optional": true
|
|
26688
|
+
},
|
|
26689
|
+
"effectsChain": {
|
|
26690
|
+
"type": "EffectConfig[]",
|
|
26691
|
+
"description": "",
|
|
26692
|
+
"optional": true
|
|
26693
|
+
},
|
|
26694
|
+
"disableCache": {
|
|
26695
|
+
"type": "boolean",
|
|
26696
|
+
"description": "",
|
|
26697
|
+
"optional": true
|
|
26698
|
+
}
|
|
26699
|
+
}
|
|
26700
|
+
},
|
|
26701
|
+
"EffectConfig": {
|
|
26702
|
+
"description": "",
|
|
26703
|
+
"properties": {
|
|
26704
|
+
"type": {
|
|
26705
|
+
"type": "string",
|
|
26706
|
+
"description": ""
|
|
26707
|
+
},
|
|
26708
|
+
"enabled": {
|
|
26709
|
+
"type": "boolean",
|
|
26710
|
+
"description": "",
|
|
26711
|
+
"optional": true
|
|
26712
|
+
},
|
|
26713
|
+
"params": {
|
|
26714
|
+
"type": "Record<string, any>",
|
|
26715
|
+
"description": "",
|
|
26716
|
+
"optional": true
|
|
26717
|
+
}
|
|
26718
|
+
}
|
|
25952
26719
|
}
|
|
25953
|
-
|
|
26720
|
+
}
|
|
25954
26721
|
},
|
|
25955
26722
|
{
|
|
25956
26723
|
"id": "clients.supabase",
|
|
@@ -26145,7 +26912,270 @@ export const introspectionData = [
|
|
|
26145
26912
|
"language": "ts",
|
|
26146
26913
|
"code": "const supabase = container.client('supabase', {\n supabaseUrl: 'https://xyz.supabase.co',\n supabaseKey: 'your-anon-key',\n})\n\n// Query data\nconst { data } = await supabase.from('users').select('*')\n\n// Auth\nawait supabase.signInWithPassword('user@example.com', 'password')\n\n// Realtime\nsupabase.subscribe('changes', 'users', (payload) => {\n console.log('Change:', payload)\n})"
|
|
26147
26914
|
}
|
|
26148
|
-
]
|
|
26915
|
+
]
|
|
26916
|
+
},
|
|
26917
|
+
{
|
|
26918
|
+
"id": "clients.elevenlabs",
|
|
26919
|
+
"description": "ElevenLabs client — text-to-speech synthesis via the ElevenLabs REST API. Provides methods for listing voices, listing models, and generating speech audio. Audio is returned as a Buffer; use `say()` for a convenience method that writes to disk.",
|
|
26920
|
+
"shortcut": "clients.elevenlabs",
|
|
26921
|
+
"className": "ElevenLabsClient",
|
|
26922
|
+
"methods": {
|
|
26923
|
+
"beforeRequest": {
|
|
26924
|
+
"description": "Inject the xi-api-key header before each request.",
|
|
26925
|
+
"parameters": {},
|
|
26926
|
+
"required": [],
|
|
26927
|
+
"returns": "void"
|
|
26928
|
+
},
|
|
26929
|
+
"connect": {
|
|
26930
|
+
"description": "Validate the API key by listing available models.",
|
|
26931
|
+
"parameters": {},
|
|
26932
|
+
"required": [],
|
|
26933
|
+
"returns": "Promise<this>",
|
|
26934
|
+
"examples": [
|
|
26935
|
+
{
|
|
26936
|
+
"language": "ts",
|
|
26937
|
+
"code": "await el.connect()"
|
|
26938
|
+
}
|
|
26939
|
+
]
|
|
26940
|
+
},
|
|
26941
|
+
"listVoices": {
|
|
26942
|
+
"description": "List available voices with optional search and filtering.",
|
|
26943
|
+
"parameters": {
|
|
26944
|
+
"options": {
|
|
26945
|
+
"type": "{\n search?: string\n category?: string\n voice_type?: string\n page_size?: number\n next_page_token?: string\n }",
|
|
26946
|
+
"description": "Query parameters for filtering voices"
|
|
26947
|
+
}
|
|
26948
|
+
},
|
|
26949
|
+
"required": [],
|
|
26950
|
+
"returns": "Promise<any>",
|
|
26951
|
+
"examples": [
|
|
26952
|
+
{
|
|
26953
|
+
"language": "ts",
|
|
26954
|
+
"code": "const voices = await el.listVoices()\nconst premade = await el.listVoices({ category: 'premade' })"
|
|
26955
|
+
}
|
|
26956
|
+
]
|
|
26957
|
+
},
|
|
26958
|
+
"getVoice": {
|
|
26959
|
+
"description": "Get details for a single voice.",
|
|
26960
|
+
"parameters": {
|
|
26961
|
+
"voiceId": {
|
|
26962
|
+
"type": "string",
|
|
26963
|
+
"description": "The voice ID to look up"
|
|
26964
|
+
}
|
|
26965
|
+
},
|
|
26966
|
+
"required": [
|
|
26967
|
+
"voiceId"
|
|
26968
|
+
],
|
|
26969
|
+
"returns": "Promise<any>",
|
|
26970
|
+
"examples": [
|
|
26971
|
+
{
|
|
26972
|
+
"language": "ts",
|
|
26973
|
+
"code": "const voice = await el.getVoice('21m00Tcm4TlvDq8ikWAM')\nconsole.log(voice.name, voice.settings)"
|
|
26974
|
+
}
|
|
26975
|
+
]
|
|
26976
|
+
},
|
|
26977
|
+
"listModels": {
|
|
26978
|
+
"description": "List available TTS models.",
|
|
26979
|
+
"parameters": {},
|
|
26980
|
+
"required": [],
|
|
26981
|
+
"returns": "Promise<any[]>",
|
|
26982
|
+
"examples": [
|
|
26983
|
+
{
|
|
26984
|
+
"language": "ts",
|
|
26985
|
+
"code": "const models = await el.listModels()\nconsole.log(models.map(m => m.model_id))"
|
|
26986
|
+
}
|
|
26987
|
+
]
|
|
26988
|
+
},
|
|
26989
|
+
"synthesize": {
|
|
26990
|
+
"description": "Synthesize speech from text, returning audio as a Buffer.",
|
|
26991
|
+
"parameters": {
|
|
26992
|
+
"text": {
|
|
26993
|
+
"type": "string",
|
|
26994
|
+
"description": "The text to convert to speech"
|
|
26995
|
+
},
|
|
26996
|
+
"options": {
|
|
26997
|
+
"type": "SynthesizeOptions",
|
|
26998
|
+
"description": "Voice, model, format, and voice settings overrides",
|
|
26999
|
+
"properties": {
|
|
27000
|
+
"voiceId": {
|
|
27001
|
+
"type": "string",
|
|
27002
|
+
"description": ""
|
|
27003
|
+
},
|
|
27004
|
+
"modelId": {
|
|
27005
|
+
"type": "string",
|
|
27006
|
+
"description": ""
|
|
27007
|
+
},
|
|
27008
|
+
"outputFormat": {
|
|
27009
|
+
"type": "string",
|
|
27010
|
+
"description": ""
|
|
27011
|
+
},
|
|
27012
|
+
"voiceSettings": {
|
|
27013
|
+
"type": "ElevenLabsVoiceSettings",
|
|
27014
|
+
"description": ""
|
|
27015
|
+
},
|
|
27016
|
+
"disableCache": {
|
|
27017
|
+
"type": "boolean",
|
|
27018
|
+
"description": ""
|
|
27019
|
+
}
|
|
27020
|
+
}
|
|
27021
|
+
}
|
|
27022
|
+
},
|
|
27023
|
+
"required": [
|
|
27024
|
+
"text"
|
|
27025
|
+
],
|
|
27026
|
+
"returns": "Promise<Buffer>",
|
|
27027
|
+
"examples": [
|
|
27028
|
+
{
|
|
27029
|
+
"language": "ts",
|
|
27030
|
+
"code": "const audio = await el.synthesize('Hello world')\n// audio is a Buffer of mp3 data\n\nconst custom = await el.synthesize('Hello', {\n voiceId: '21m00Tcm4TlvDq8ikWAM',\n voiceSettings: { stability: 0.5, similarityBoost: 0.8 }\n})"
|
|
27031
|
+
}
|
|
27032
|
+
]
|
|
27033
|
+
},
|
|
27034
|
+
"say": {
|
|
27035
|
+
"description": "Synthesize speech and write the audio to a file.",
|
|
27036
|
+
"parameters": {
|
|
27037
|
+
"text": {
|
|
27038
|
+
"type": "string",
|
|
27039
|
+
"description": "The text to convert to speech"
|
|
27040
|
+
},
|
|
27041
|
+
"outputPath": {
|
|
27042
|
+
"type": "string",
|
|
27043
|
+
"description": "File path to write the audio to"
|
|
27044
|
+
},
|
|
27045
|
+
"options": {
|
|
27046
|
+
"type": "SynthesizeOptions",
|
|
27047
|
+
"description": "Voice, model, format, and voice settings overrides",
|
|
27048
|
+
"properties": {
|
|
27049
|
+
"voiceId": {
|
|
27050
|
+
"type": "string",
|
|
27051
|
+
"description": ""
|
|
27052
|
+
},
|
|
27053
|
+
"modelId": {
|
|
27054
|
+
"type": "string",
|
|
27055
|
+
"description": ""
|
|
27056
|
+
},
|
|
27057
|
+
"outputFormat": {
|
|
27058
|
+
"type": "string",
|
|
27059
|
+
"description": ""
|
|
27060
|
+
},
|
|
27061
|
+
"voiceSettings": {
|
|
27062
|
+
"type": "ElevenLabsVoiceSettings",
|
|
27063
|
+
"description": ""
|
|
27064
|
+
},
|
|
27065
|
+
"disableCache": {
|
|
27066
|
+
"type": "boolean",
|
|
27067
|
+
"description": ""
|
|
27068
|
+
}
|
|
27069
|
+
}
|
|
27070
|
+
}
|
|
27071
|
+
},
|
|
27072
|
+
"required": [
|
|
27073
|
+
"text",
|
|
27074
|
+
"outputPath"
|
|
27075
|
+
],
|
|
27076
|
+
"returns": "Promise<string>",
|
|
27077
|
+
"examples": [
|
|
27078
|
+
{
|
|
27079
|
+
"language": "ts",
|
|
27080
|
+
"code": "const path = await el.say('Hello world', './hello.mp3')\nconsole.log(`Audio saved to ${path}`)"
|
|
27081
|
+
}
|
|
27082
|
+
]
|
|
27083
|
+
}
|
|
27084
|
+
},
|
|
27085
|
+
"getters": {
|
|
27086
|
+
"apiKey": {
|
|
27087
|
+
"description": "The resolved API key from options or environment.",
|
|
27088
|
+
"returns": "string"
|
|
27089
|
+
}
|
|
27090
|
+
},
|
|
27091
|
+
"events": {
|
|
27092
|
+
"failure": {
|
|
27093
|
+
"name": "failure",
|
|
27094
|
+
"description": "Event emitted by ElevenLabsClient",
|
|
27095
|
+
"arguments": {}
|
|
27096
|
+
},
|
|
27097
|
+
"voices": {
|
|
27098
|
+
"name": "voices",
|
|
27099
|
+
"description": "Event emitted by ElevenLabsClient",
|
|
27100
|
+
"arguments": {}
|
|
27101
|
+
},
|
|
27102
|
+
"speech": {
|
|
27103
|
+
"name": "speech",
|
|
27104
|
+
"description": "Event emitted by ElevenLabsClient",
|
|
27105
|
+
"arguments": {}
|
|
27106
|
+
}
|
|
27107
|
+
},
|
|
27108
|
+
"state": {},
|
|
27109
|
+
"options": {},
|
|
27110
|
+
"envVars": [],
|
|
27111
|
+
"examples": [
|
|
27112
|
+
{
|
|
27113
|
+
"language": "ts",
|
|
27114
|
+
"code": "const el = container.client('elevenlabs')\nawait el.connect()\nconst voices = await el.listVoices()\nconst audio = await el.synthesize('Hello world')\n// audio is a Buffer of mp3 data"
|
|
27115
|
+
}
|
|
27116
|
+
],
|
|
27117
|
+
"types": {
|
|
27118
|
+
"SynthesizeOptions": {
|
|
27119
|
+
"description": "",
|
|
27120
|
+
"properties": {
|
|
27121
|
+
"voiceId": {
|
|
27122
|
+
"type": "string",
|
|
27123
|
+
"description": "",
|
|
27124
|
+
"optional": true
|
|
27125
|
+
},
|
|
27126
|
+
"modelId": {
|
|
27127
|
+
"type": "string",
|
|
27128
|
+
"description": "",
|
|
27129
|
+
"optional": true
|
|
27130
|
+
},
|
|
27131
|
+
"outputFormat": {
|
|
27132
|
+
"type": "string",
|
|
27133
|
+
"description": "",
|
|
27134
|
+
"optional": true
|
|
27135
|
+
},
|
|
27136
|
+
"voiceSettings": {
|
|
27137
|
+
"type": "ElevenLabsVoiceSettings",
|
|
27138
|
+
"description": "",
|
|
27139
|
+
"optional": true
|
|
27140
|
+
},
|
|
27141
|
+
"disableCache": {
|
|
27142
|
+
"type": "boolean",
|
|
27143
|
+
"description": "",
|
|
27144
|
+
"optional": true
|
|
27145
|
+
}
|
|
27146
|
+
}
|
|
27147
|
+
},
|
|
27148
|
+
"ElevenLabsVoiceSettings": {
|
|
27149
|
+
"description": "",
|
|
27150
|
+
"properties": {
|
|
27151
|
+
"stability": {
|
|
27152
|
+
"type": "number",
|
|
27153
|
+
"description": "",
|
|
27154
|
+
"optional": true
|
|
27155
|
+
},
|
|
27156
|
+
"similarityBoost": {
|
|
27157
|
+
"type": "number",
|
|
27158
|
+
"description": "",
|
|
27159
|
+
"optional": true
|
|
27160
|
+
},
|
|
27161
|
+
"style": {
|
|
27162
|
+
"type": "number",
|
|
27163
|
+
"description": "",
|
|
27164
|
+
"optional": true
|
|
27165
|
+
},
|
|
27166
|
+
"speed": {
|
|
27167
|
+
"type": "number",
|
|
27168
|
+
"description": "",
|
|
27169
|
+
"optional": true
|
|
27170
|
+
},
|
|
27171
|
+
"useSpeakerBoost": {
|
|
27172
|
+
"type": "boolean",
|
|
27173
|
+
"description": "",
|
|
27174
|
+
"optional": true
|
|
27175
|
+
}
|
|
27176
|
+
}
|
|
27177
|
+
}
|
|
27178
|
+
}
|
|
26149
27179
|
},
|
|
26150
27180
|
{
|
|
26151
27181
|
"id": "clients.comfyui",
|
|
@@ -26255,382 +27285,136 @@ export const introspectionData = [
|
|
|
26255
27285
|
],
|
|
26256
27286
|
"returns": "Promise<any>"
|
|
26257
27287
|
},
|
|
26258
|
-
"viewImage": {
|
|
26259
|
-
"description": "Download a generated image from ComfyUI as a Buffer.",
|
|
26260
|
-
"parameters": {
|
|
26261
|
-
"filename": {
|
|
26262
|
-
"type": "string",
|
|
26263
|
-
"description": "The image filename"
|
|
26264
|
-
},
|
|
26265
|
-
"subfolder": {
|
|
26266
|
-
"type": "any",
|
|
26267
|
-
"description": "Subfolder within the output directory"
|
|
26268
|
-
},
|
|
26269
|
-
"type": {
|
|
26270
|
-
"type": "any",
|
|
26271
|
-
"description": "Image type ('output', 'input', 'temp')"
|
|
26272
|
-
}
|
|
26273
|
-
},
|
|
26274
|
-
"required": [
|
|
26275
|
-
"filename"
|
|
26276
|
-
],
|
|
26277
|
-
"returns": "Promise<Buffer>"
|
|
26278
|
-
},
|
|
26279
|
-
"connectWs": {
|
|
26280
|
-
"description": "Open a WebSocket connection to ComfyUI for real-time execution tracking. Events emitted: `execution_start`, `executing`, `progress`, `executed`, `execution_cached`, `execution_error`, `execution_complete`.",
|
|
26281
|
-
"parameters": {},
|
|
26282
|
-
"required": [],
|
|
26283
|
-
"returns": "Promise<void>"
|
|
26284
|
-
},
|
|
26285
|
-
"disconnectWs": {
|
|
26286
|
-
"description": "Close the WebSocket connection.",
|
|
26287
|
-
"parameters": {},
|
|
26288
|
-
"required": [],
|
|
26289
|
-
"returns": "void"
|
|
26290
|
-
},
|
|
26291
|
-
"toApiFormat": {
|
|
26292
|
-
"description": "Convert a UI-format workflow to the API format that /prompt expects. Requires a running ComfyUI instance to fetch `object_info` so we can map positional `widgets_values` to their named input fields. If the workflow is already in API format, it's returned as-is.",
|
|
26293
|
-
"parameters": {
|
|
26294
|
-
"workflow": {
|
|
26295
|
-
"type": "Record<string, any>",
|
|
26296
|
-
"description": "Parameter workflow"
|
|
26297
|
-
}
|
|
26298
|
-
},
|
|
26299
|
-
"required": [
|
|
26300
|
-
"workflow"
|
|
26301
|
-
],
|
|
26302
|
-
"returns": "Promise<Record<string, any>>"
|
|
26303
|
-
},
|
|
26304
|
-
"runWorkflow": {
|
|
26305
|
-
"description": "Run a ComfyUI workflow with optional runtime input overrides. Inputs can be provided in two forms: **Direct node mapping** (when no `inputMap` in options): ``` { '3': { seed: 42 }, '6': { text: 'a cat' } } ``` **Named inputs** (when `inputMap` is provided in options): ``` inputs: { positive_prompt: 'a cat', seed: 42 } options.inputMap: { positive_prompt: { nodeId: '6', field: 'text' }, seed: { nodeId: '3', field: 'seed' } } ```",
|
|
26306
|
-
"parameters": {
|
|
26307
|
-
"workflow": {
|
|
26308
|
-
"type": "Record<string, any>",
|
|
26309
|
-
"description": "Parameter workflow"
|
|
26310
|
-
},
|
|
26311
|
-
"inputs": {
|
|
26312
|
-
"type": "Record<string, any>",
|
|
26313
|
-
"description": "Parameter inputs"
|
|
26314
|
-
},
|
|
26315
|
-
"options": {
|
|
26316
|
-
"type": "WorkflowRunOptions",
|
|
26317
|
-
"description": "Parameter options",
|
|
26318
|
-
"properties": {
|
|
26319
|
-
"poll": {
|
|
26320
|
-
"type": "boolean",
|
|
26321
|
-
"description": "Use polling instead of WebSocket for tracking execution"
|
|
26322
|
-
},
|
|
26323
|
-
"pollInterval": {
|
|
26324
|
-
"type": "number",
|
|
26325
|
-
"description": "Polling interval in ms (default 1000)"
|
|
26326
|
-
},
|
|
26327
|
-
"inputMap": {
|
|
26328
|
-
"type": "InputMapping",
|
|
26329
|
-
"description": "Named input mapping: semantic name -> { nodeId, field }"
|
|
26330
|
-
},
|
|
26331
|
-
"outputDir": {
|
|
26332
|
-
"type": "string",
|
|
26333
|
-
"description": "If provided, output images are downloaded to this directory"
|
|
26334
|
-
}
|
|
26335
|
-
}
|
|
26336
|
-
}
|
|
26337
|
-
},
|
|
26338
|
-
"required": [
|
|
26339
|
-
"workflow"
|
|
26340
|
-
],
|
|
26341
|
-
"returns": "Promise<WorkflowResult>"
|
|
26342
|
-
}
|
|
26343
|
-
},
|
|
26344
|
-
"getters": {
|
|
26345
|
-
"clientId": {
|
|
26346
|
-
"description": "The unique client ID used for WebSocket session tracking.",
|
|
26347
|
-
"returns": "string"
|
|
26348
|
-
},
|
|
26349
|
-
"wsURL": {
|
|
26350
|
-
"description": "The WebSocket URL derived from baseURL or overridden via options.",
|
|
26351
|
-
"returns": "string"
|
|
26352
|
-
}
|
|
26353
|
-
},
|
|
26354
|
-
"events": {
|
|
26355
|
-
"execution_start": {
|
|
26356
|
-
"name": "execution_start",
|
|
26357
|
-
"description": "Event emitted by ComfyUIClient",
|
|
26358
|
-
"arguments": {}
|
|
26359
|
-
},
|
|
26360
|
-
"execution_complete": {
|
|
26361
|
-
"name": "execution_complete",
|
|
26362
|
-
"description": "Event emitted by ComfyUIClient",
|
|
26363
|
-
"arguments": {}
|
|
26364
|
-
},
|
|
26365
|
-
"executing": {
|
|
26366
|
-
"name": "executing",
|
|
26367
|
-
"description": "Event emitted by ComfyUIClient",
|
|
26368
|
-
"arguments": {}
|
|
26369
|
-
},
|
|
26370
|
-
"progress": {
|
|
26371
|
-
"name": "progress",
|
|
26372
|
-
"description": "Event emitted by ComfyUIClient",
|
|
26373
|
-
"arguments": {}
|
|
26374
|
-
},
|
|
26375
|
-
"executed": {
|
|
26376
|
-
"name": "executed",
|
|
26377
|
-
"description": "Event emitted by ComfyUIClient",
|
|
26378
|
-
"arguments": {}
|
|
26379
|
-
},
|
|
26380
|
-
"execution_cached": {
|
|
26381
|
-
"name": "execution_cached",
|
|
26382
|
-
"description": "Event emitted by ComfyUIClient",
|
|
26383
|
-
"arguments": {}
|
|
26384
|
-
},
|
|
26385
|
-
"execution_error": {
|
|
26386
|
-
"name": "execution_error",
|
|
26387
|
-
"description": "Event emitted by ComfyUIClient",
|
|
26388
|
-
"arguments": {}
|
|
26389
|
-
}
|
|
26390
|
-
},
|
|
26391
|
-
"state": {},
|
|
26392
|
-
"options": {},
|
|
26393
|
-
"envVars": [],
|
|
26394
|
-
"examples": [
|
|
26395
|
-
{
|
|
26396
|
-
"language": "ts",
|
|
26397
|
-
"code": "const comfy = container.client('comfyui', { baseURL: 'http://localhost:8188' })\nconst result = await comfy.runWorkflow(workflow, {\n '6': { text: 'a beautiful sunset' }\n})\nconsole.log(result.images)"
|
|
26398
|
-
}
|
|
26399
|
-
],
|
|
26400
|
-
"types": {
|
|
26401
|
-
"WorkflowRunOptions": {
|
|
26402
|
-
"description": "",
|
|
26403
|
-
"properties": {
|
|
26404
|
-
"poll": {
|
|
26405
|
-
"type": "boolean",
|
|
26406
|
-
"description": "Use polling instead of WebSocket for tracking execution",
|
|
26407
|
-
"optional": true
|
|
26408
|
-
},
|
|
26409
|
-
"pollInterval": {
|
|
26410
|
-
"type": "number",
|
|
26411
|
-
"description": "Polling interval in ms (default 1000)",
|
|
26412
|
-
"optional": true
|
|
26413
|
-
},
|
|
26414
|
-
"inputMap": {
|
|
26415
|
-
"type": "InputMapping",
|
|
26416
|
-
"description": "Named input mapping: semantic name -> { nodeId, field }",
|
|
26417
|
-
"optional": true
|
|
26418
|
-
},
|
|
26419
|
-
"outputDir": {
|
|
26420
|
-
"type": "string",
|
|
26421
|
-
"description": "If provided, output images are downloaded to this directory",
|
|
26422
|
-
"optional": true
|
|
26423
|
-
}
|
|
26424
|
-
}
|
|
26425
|
-
},
|
|
26426
|
-
"WorkflowResult": {
|
|
26427
|
-
"description": "",
|
|
26428
|
-
"properties": {
|
|
26429
|
-
"promptId": {
|
|
26430
|
-
"type": "string",
|
|
26431
|
-
"description": ""
|
|
26432
|
-
},
|
|
26433
|
-
"outputs": {
|
|
26434
|
-
"type": "Record<string, any>",
|
|
26435
|
-
"description": ""
|
|
26436
|
-
},
|
|
26437
|
-
"images": {
|
|
26438
|
-
"type": "Array<{ filename: string; subfolder: string; type: string; localPath?: string }>",
|
|
26439
|
-
"description": "",
|
|
26440
|
-
"optional": true
|
|
26441
|
-
}
|
|
26442
|
-
}
|
|
26443
|
-
}
|
|
26444
|
-
}
|
|
26445
|
-
},
|
|
26446
|
-
{
|
|
26447
|
-
"id": "clients.elevenlabs",
|
|
26448
|
-
"description": "ElevenLabs client — text-to-speech synthesis via the ElevenLabs REST API. Provides methods for listing voices, listing models, and generating speech audio. Audio is returned as a Buffer; use `say()` for a convenience method that writes to disk.",
|
|
26449
|
-
"shortcut": "clients.elevenlabs",
|
|
26450
|
-
"className": "ElevenLabsClient",
|
|
26451
|
-
"methods": {
|
|
26452
|
-
"beforeRequest": {
|
|
26453
|
-
"description": "Inject the xi-api-key header before each request.",
|
|
26454
|
-
"parameters": {},
|
|
26455
|
-
"required": [],
|
|
26456
|
-
"returns": "void"
|
|
26457
|
-
},
|
|
26458
|
-
"connect": {
|
|
26459
|
-
"description": "Validate the API key by listing available models.",
|
|
26460
|
-
"parameters": {},
|
|
26461
|
-
"required": [],
|
|
26462
|
-
"returns": "Promise<this>",
|
|
26463
|
-
"examples": [
|
|
26464
|
-
{
|
|
26465
|
-
"language": "ts",
|
|
26466
|
-
"code": "await el.connect()"
|
|
26467
|
-
}
|
|
26468
|
-
]
|
|
26469
|
-
},
|
|
26470
|
-
"listVoices": {
|
|
26471
|
-
"description": "List available voices with optional search and filtering.",
|
|
26472
|
-
"parameters": {
|
|
26473
|
-
"options": {
|
|
26474
|
-
"type": "{\n search?: string\n category?: string\n voice_type?: string\n page_size?: number\n next_page_token?: string\n }",
|
|
26475
|
-
"description": "Query parameters for filtering voices"
|
|
26476
|
-
}
|
|
26477
|
-
},
|
|
26478
|
-
"required": [],
|
|
26479
|
-
"returns": "Promise<any>",
|
|
26480
|
-
"examples": [
|
|
26481
|
-
{
|
|
26482
|
-
"language": "ts",
|
|
26483
|
-
"code": "const voices = await el.listVoices()\nconst premade = await el.listVoices({ category: 'premade' })"
|
|
26484
|
-
}
|
|
26485
|
-
]
|
|
26486
|
-
},
|
|
26487
|
-
"getVoice": {
|
|
26488
|
-
"description": "Get details for a single voice.",
|
|
27288
|
+
"viewImage": {
|
|
27289
|
+
"description": "Download a generated image from ComfyUI as a Buffer.",
|
|
26489
27290
|
"parameters": {
|
|
26490
|
-
"
|
|
27291
|
+
"filename": {
|
|
26491
27292
|
"type": "string",
|
|
26492
|
-
"description": "The
|
|
27293
|
+
"description": "The image filename"
|
|
27294
|
+
},
|
|
27295
|
+
"subfolder": {
|
|
27296
|
+
"type": "any",
|
|
27297
|
+
"description": "Subfolder within the output directory"
|
|
27298
|
+
},
|
|
27299
|
+
"type": {
|
|
27300
|
+
"type": "any",
|
|
27301
|
+
"description": "Image type ('output', 'input', 'temp')"
|
|
26493
27302
|
}
|
|
26494
27303
|
},
|
|
26495
27304
|
"required": [
|
|
26496
|
-
"
|
|
27305
|
+
"filename"
|
|
26497
27306
|
],
|
|
26498
|
-
"returns": "Promise<
|
|
26499
|
-
"examples": [
|
|
26500
|
-
{
|
|
26501
|
-
"language": "ts",
|
|
26502
|
-
"code": "const voice = await el.getVoice('21m00Tcm4TlvDq8ikWAM')\nconsole.log(voice.name, voice.settings)"
|
|
26503
|
-
}
|
|
26504
|
-
]
|
|
27307
|
+
"returns": "Promise<Buffer>"
|
|
26505
27308
|
},
|
|
26506
|
-
"
|
|
26507
|
-
"description": "
|
|
27309
|
+
"connectWs": {
|
|
27310
|
+
"description": "Open a WebSocket connection to ComfyUI for real-time execution tracking. Events emitted: `execution_start`, `executing`, `progress`, `executed`, `execution_cached`, `execution_error`, `execution_complete`.",
|
|
26508
27311
|
"parameters": {},
|
|
26509
27312
|
"required": [],
|
|
26510
|
-
"returns": "Promise<
|
|
26511
|
-
"examples": [
|
|
26512
|
-
{
|
|
26513
|
-
"language": "ts",
|
|
26514
|
-
"code": "const models = await el.listModels()\nconsole.log(models.map(m => m.model_id))"
|
|
26515
|
-
}
|
|
26516
|
-
]
|
|
27313
|
+
"returns": "Promise<void>"
|
|
26517
27314
|
},
|
|
26518
|
-
"
|
|
26519
|
-
"description": "
|
|
27315
|
+
"disconnectWs": {
|
|
27316
|
+
"description": "Close the WebSocket connection.",
|
|
27317
|
+
"parameters": {},
|
|
27318
|
+
"required": [],
|
|
27319
|
+
"returns": "void"
|
|
27320
|
+
},
|
|
27321
|
+
"toApiFormat": {
|
|
27322
|
+
"description": "Convert a UI-format workflow to the API format that /prompt expects. Requires a running ComfyUI instance to fetch `object_info` so we can map positional `widgets_values` to their named input fields. If the workflow is already in API format, it's returned as-is.",
|
|
26520
27323
|
"parameters": {
|
|
26521
|
-
"
|
|
26522
|
-
"type": "string",
|
|
26523
|
-
"description": "
|
|
26524
|
-
},
|
|
26525
|
-
"options": {
|
|
26526
|
-
"type": "SynthesizeOptions",
|
|
26527
|
-
"description": "Voice, model, format, and voice settings overrides",
|
|
26528
|
-
"properties": {
|
|
26529
|
-
"voiceId": {
|
|
26530
|
-
"type": "string",
|
|
26531
|
-
"description": ""
|
|
26532
|
-
},
|
|
26533
|
-
"modelId": {
|
|
26534
|
-
"type": "string",
|
|
26535
|
-
"description": ""
|
|
26536
|
-
},
|
|
26537
|
-
"outputFormat": {
|
|
26538
|
-
"type": "string",
|
|
26539
|
-
"description": ""
|
|
26540
|
-
},
|
|
26541
|
-
"voiceSettings": {
|
|
26542
|
-
"type": "ElevenLabsVoiceSettings",
|
|
26543
|
-
"description": ""
|
|
26544
|
-
},
|
|
26545
|
-
"disableCache": {
|
|
26546
|
-
"type": "boolean",
|
|
26547
|
-
"description": ""
|
|
26548
|
-
}
|
|
26549
|
-
}
|
|
27324
|
+
"workflow": {
|
|
27325
|
+
"type": "Record<string, any>",
|
|
27326
|
+
"description": "Parameter workflow"
|
|
26550
27327
|
}
|
|
26551
27328
|
},
|
|
26552
27329
|
"required": [
|
|
26553
|
-
"
|
|
27330
|
+
"workflow"
|
|
26554
27331
|
],
|
|
26555
|
-
"returns": "Promise<
|
|
26556
|
-
"examples": [
|
|
26557
|
-
{
|
|
26558
|
-
"language": "ts",
|
|
26559
|
-
"code": "const audio = await el.synthesize('Hello world')\n// audio is a Buffer of mp3 data\n\nconst custom = await el.synthesize('Hello', {\n voiceId: '21m00Tcm4TlvDq8ikWAM',\n voiceSettings: { stability: 0.5, similarityBoost: 0.8 }\n})"
|
|
26560
|
-
}
|
|
26561
|
-
]
|
|
27332
|
+
"returns": "Promise<Record<string, any>>"
|
|
26562
27333
|
},
|
|
26563
|
-
"
|
|
26564
|
-
"description": "
|
|
27334
|
+
"runWorkflow": {
|
|
27335
|
+
"description": "Run a ComfyUI workflow with optional runtime input overrides. Inputs can be provided in two forms: **Direct node mapping** (when no `inputMap` in options): ``` { '3': { seed: 42 }, '6': { text: 'a cat' } } ``` **Named inputs** (when `inputMap` is provided in options): ``` inputs: { positive_prompt: 'a cat', seed: 42 } options.inputMap: { positive_prompt: { nodeId: '6', field: 'text' }, seed: { nodeId: '3', field: 'seed' } } ```",
|
|
26565
27336
|
"parameters": {
|
|
26566
|
-
"
|
|
26567
|
-
"type": "string",
|
|
26568
|
-
"description": "
|
|
27337
|
+
"workflow": {
|
|
27338
|
+
"type": "Record<string, any>",
|
|
27339
|
+
"description": "Parameter workflow"
|
|
26569
27340
|
},
|
|
26570
|
-
"
|
|
26571
|
-
"type": "string",
|
|
26572
|
-
"description": "
|
|
27341
|
+
"inputs": {
|
|
27342
|
+
"type": "Record<string, any>",
|
|
27343
|
+
"description": "Parameter inputs"
|
|
26573
27344
|
},
|
|
26574
27345
|
"options": {
|
|
26575
|
-
"type": "
|
|
26576
|
-
"description": "
|
|
27346
|
+
"type": "WorkflowRunOptions",
|
|
27347
|
+
"description": "Parameter options",
|
|
26577
27348
|
"properties": {
|
|
26578
|
-
"
|
|
26579
|
-
"type": "
|
|
26580
|
-
"description": ""
|
|
26581
|
-
},
|
|
26582
|
-
"modelId": {
|
|
26583
|
-
"type": "string",
|
|
26584
|
-
"description": ""
|
|
27349
|
+
"poll": {
|
|
27350
|
+
"type": "boolean",
|
|
27351
|
+
"description": "Use polling instead of WebSocket for tracking execution"
|
|
26585
27352
|
},
|
|
26586
|
-
"
|
|
26587
|
-
"type": "
|
|
26588
|
-
"description": ""
|
|
27353
|
+
"pollInterval": {
|
|
27354
|
+
"type": "number",
|
|
27355
|
+
"description": "Polling interval in ms (default 1000)"
|
|
26589
27356
|
},
|
|
26590
|
-
"
|
|
26591
|
-
"type": "
|
|
26592
|
-
"description": ""
|
|
27357
|
+
"inputMap": {
|
|
27358
|
+
"type": "InputMapping",
|
|
27359
|
+
"description": "Named input mapping: semantic name -> { nodeId, field }"
|
|
26593
27360
|
},
|
|
26594
|
-
"
|
|
26595
|
-
"type": "
|
|
26596
|
-
"description": ""
|
|
27361
|
+
"outputDir": {
|
|
27362
|
+
"type": "string",
|
|
27363
|
+
"description": "If provided, output images are downloaded to this directory"
|
|
26597
27364
|
}
|
|
26598
27365
|
}
|
|
26599
27366
|
}
|
|
26600
27367
|
},
|
|
26601
27368
|
"required": [
|
|
26602
|
-
"
|
|
26603
|
-
"outputPath"
|
|
27369
|
+
"workflow"
|
|
26604
27370
|
],
|
|
26605
|
-
"returns": "Promise<
|
|
26606
|
-
"examples": [
|
|
26607
|
-
{
|
|
26608
|
-
"language": "ts",
|
|
26609
|
-
"code": "const path = await el.say('Hello world', './hello.mp3')\nconsole.log(`Audio saved to ${path}`)"
|
|
26610
|
-
}
|
|
26611
|
-
]
|
|
27371
|
+
"returns": "Promise<WorkflowResult>"
|
|
26612
27372
|
}
|
|
26613
27373
|
},
|
|
26614
27374
|
"getters": {
|
|
26615
|
-
"
|
|
26616
|
-
"description": "The
|
|
27375
|
+
"clientId": {
|
|
27376
|
+
"description": "The unique client ID used for WebSocket session tracking.",
|
|
27377
|
+
"returns": "string"
|
|
27378
|
+
},
|
|
27379
|
+
"wsURL": {
|
|
27380
|
+
"description": "The WebSocket URL derived from baseURL or overridden via options.",
|
|
26617
27381
|
"returns": "string"
|
|
26618
27382
|
}
|
|
26619
27383
|
},
|
|
26620
27384
|
"events": {
|
|
26621
|
-
"
|
|
26622
|
-
"name": "
|
|
26623
|
-
"description": "Event emitted by
|
|
27385
|
+
"execution_start": {
|
|
27386
|
+
"name": "execution_start",
|
|
27387
|
+
"description": "Event emitted by ComfyUIClient",
|
|
26624
27388
|
"arguments": {}
|
|
26625
27389
|
},
|
|
26626
|
-
"
|
|
26627
|
-
"name": "
|
|
26628
|
-
"description": "Event emitted by
|
|
27390
|
+
"execution_complete": {
|
|
27391
|
+
"name": "execution_complete",
|
|
27392
|
+
"description": "Event emitted by ComfyUIClient",
|
|
26629
27393
|
"arguments": {}
|
|
26630
27394
|
},
|
|
26631
|
-
"
|
|
26632
|
-
"name": "
|
|
26633
|
-
"description": "Event emitted by
|
|
27395
|
+
"executing": {
|
|
27396
|
+
"name": "executing",
|
|
27397
|
+
"description": "Event emitted by ComfyUIClient",
|
|
27398
|
+
"arguments": {}
|
|
27399
|
+
},
|
|
27400
|
+
"progress": {
|
|
27401
|
+
"name": "progress",
|
|
27402
|
+
"description": "Event emitted by ComfyUIClient",
|
|
27403
|
+
"arguments": {}
|
|
27404
|
+
},
|
|
27405
|
+
"executed": {
|
|
27406
|
+
"name": "executed",
|
|
27407
|
+
"description": "Event emitted by ComfyUIClient",
|
|
27408
|
+
"arguments": {}
|
|
27409
|
+
},
|
|
27410
|
+
"execution_cached": {
|
|
27411
|
+
"name": "execution_cached",
|
|
27412
|
+
"description": "Event emitted by ComfyUIClient",
|
|
27413
|
+
"arguments": {}
|
|
27414
|
+
},
|
|
27415
|
+
"execution_error": {
|
|
27416
|
+
"name": "execution_error",
|
|
27417
|
+
"description": "Event emitted by ComfyUIClient",
|
|
26634
27418
|
"arguments": {}
|
|
26635
27419
|
}
|
|
26636
27420
|
},
|
|
@@ -26640,65 +27424,48 @@ export const introspectionData = [
|
|
|
26640
27424
|
"examples": [
|
|
26641
27425
|
{
|
|
26642
27426
|
"language": "ts",
|
|
26643
|
-
"code": "const
|
|
27427
|
+
"code": "const comfy = container.client('comfyui', { baseURL: 'http://localhost:8188' })\nconst result = await comfy.runWorkflow(workflow, {\n '6': { text: 'a beautiful sunset' }\n})\nconsole.log(result.images)"
|
|
26644
27428
|
}
|
|
26645
27429
|
],
|
|
26646
27430
|
"types": {
|
|
26647
|
-
"
|
|
27431
|
+
"WorkflowRunOptions": {
|
|
26648
27432
|
"description": "",
|
|
26649
27433
|
"properties": {
|
|
26650
|
-
"
|
|
26651
|
-
"type": "
|
|
26652
|
-
"description": "",
|
|
26653
|
-
"optional": true
|
|
26654
|
-
},
|
|
26655
|
-
"modelId": {
|
|
26656
|
-
"type": "string",
|
|
26657
|
-
"description": "",
|
|
27434
|
+
"poll": {
|
|
27435
|
+
"type": "boolean",
|
|
27436
|
+
"description": "Use polling instead of WebSocket for tracking execution",
|
|
26658
27437
|
"optional": true
|
|
26659
27438
|
},
|
|
26660
|
-
"
|
|
26661
|
-
"type": "
|
|
26662
|
-
"description": "",
|
|
27439
|
+
"pollInterval": {
|
|
27440
|
+
"type": "number",
|
|
27441
|
+
"description": "Polling interval in ms (default 1000)",
|
|
26663
27442
|
"optional": true
|
|
26664
27443
|
},
|
|
26665
|
-
"
|
|
26666
|
-
"type": "
|
|
26667
|
-
"description": "",
|
|
27444
|
+
"inputMap": {
|
|
27445
|
+
"type": "InputMapping",
|
|
27446
|
+
"description": "Named input mapping: semantic name -> { nodeId, field }",
|
|
26668
27447
|
"optional": true
|
|
26669
27448
|
},
|
|
26670
|
-
"
|
|
26671
|
-
"type": "
|
|
26672
|
-
"description": "",
|
|
27449
|
+
"outputDir": {
|
|
27450
|
+
"type": "string",
|
|
27451
|
+
"description": "If provided, output images are downloaded to this directory",
|
|
26673
27452
|
"optional": true
|
|
26674
27453
|
}
|
|
26675
27454
|
}
|
|
26676
27455
|
},
|
|
26677
|
-
"
|
|
27456
|
+
"WorkflowResult": {
|
|
26678
27457
|
"description": "",
|
|
26679
27458
|
"properties": {
|
|
26680
|
-
"
|
|
26681
|
-
"type": "
|
|
26682
|
-
"description": ""
|
|
26683
|
-
"optional": true
|
|
26684
|
-
},
|
|
26685
|
-
"similarityBoost": {
|
|
26686
|
-
"type": "number",
|
|
26687
|
-
"description": "",
|
|
26688
|
-
"optional": true
|
|
26689
|
-
},
|
|
26690
|
-
"style": {
|
|
26691
|
-
"type": "number",
|
|
26692
|
-
"description": "",
|
|
26693
|
-
"optional": true
|
|
27459
|
+
"promptId": {
|
|
27460
|
+
"type": "string",
|
|
27461
|
+
"description": ""
|
|
26694
27462
|
},
|
|
26695
|
-
"
|
|
26696
|
-
"type": "
|
|
26697
|
-
"description": ""
|
|
26698
|
-
"optional": true
|
|
27463
|
+
"outputs": {
|
|
27464
|
+
"type": "Record<string, any>",
|
|
27465
|
+
"description": ""
|
|
26699
27466
|
},
|
|
26700
|
-
"
|
|
26701
|
-
"type": "
|
|
27467
|
+
"images": {
|
|
27468
|
+
"type": "Array<{ filename: string; subfolder: string; type: string; localPath?: string }>",
|
|
26702
27469
|
"description": "",
|
|
26703
27470
|
"optional": true
|
|
26704
27471
|
}
|