substarte 120240617.1.9

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/Error.ts","../src/idGenerator.ts","../src/Future.ts","../src/Node.ts","../src/Nodes.ts","../src/EventSource.ts","../src/SubstrateStreamingResponse.ts","../src/sb.ts","../src/version.ts","../src/openapi.json","../src/SubstrateResponse.ts","../src/Platform.ts","../src/Substrate.ts","../src/index.ts"],"sourcesContent":["/**\n * Errors thrown by the Substrate SDK will be instances of `SubstrateError`.\n */\nexport class SubstrateError extends Error {}\n\nexport class RequestTimeoutError extends SubstrateError {}\n\nexport class NodeError extends SubstrateError {\n type: string;\n request_id?: string;\n override message: string;\n\n constructor(type: string, message: string, request_id?: string) {\n super(message);\n this.type = type;\n this.message = message;\n this.request_id = request_id;\n }\n}\n","export function randomString(length: number): string {\n const alphabet: string =\n \"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_-\";\n let randomString: string = \"\";\n for (let i = 0; i < length; i++) {\n const randomIndex: number = Math.floor(Math.random() * alphabet.length);\n randomString += alphabet[randomIndex];\n }\n return randomString;\n}\n\n// Generates incrementing ids, for better legibility\nexport function idGenerator(prefix: string, start: number = 1): any {\n let n = start;\n return () => {\n const id = `${prefix}${n.toString()}_${randomString(8)}`;\n n = n + 1;\n return id;\n };\n}\n","import { idGenerator } from \"substrate/idGenerator\";\nimport { Node } from \"substrate/Node\";\n\ntype Accessor = \"item\" | \"attr\";\ntype TraceOperation = {\n future_id: string | null;\n key: string | number | null;\n accessor: Accessor;\n};\n\ntype TraceProp = string | FutureString | number | FutureNumber;\ntype Concatable = string | FutureString;\ntype JQCompatible = Record<string, unknown> | any[] | string | number;\ntype JQDirectiveTarget = Future<any> | JQCompatible;\ntype FutureTypeMap = {\n string: FutureString;\n object: FutureAnyObject;\n number: FutureNumber;\n boolean: FutureBoolean;\n};\nconst parsePath = (path: string): TraceProp[] => {\n // Split the path by dots or brackets, and filter out empty strings\n const parts = path.split(/\\.|\\[|\\]\\[?/).filter(Boolean);\n // Convert numeric parts to numbers and keep others as strings\n return parts.map((part) => (isNaN(Number(part)) ? part : Number(part)));\n};\n\nconst newFutureId = idGenerator(\"future\");\n\nabstract class Directive {\n abstract items: any[];\n abstract next(...args: any[]): Directive;\n abstract toJSON(): any;\n\n abstract result(): Promise<any>;\n\n referencedFutures() {\n return (\n this.items\n .filter((p) => p instanceof Future)\n // @ts-ignore\n .flatMap((p) => [p, ...p.referencedFutures()])\n );\n }\n}\n\nexport class Trace extends Directive {\n items: TraceProp[];\n originNode: Node;\n\n constructor(items: TraceProp[], originNode: Node) {\n super();\n this.items = items;\n this.originNode = originNode;\n }\n\n static Operation = {\n future: (accessor: Accessor, id: Future<any>[\"_id\"]) => ({\n future_id: id,\n key: null,\n accessor,\n }),\n key: (accessor: Accessor, key: string | number) => ({\n future_id: null,\n key,\n accessor,\n }),\n };\n\n override next(...items: TraceProp[]) {\n return new Trace([...this.items, ...items], this.originNode);\n }\n\n override async result(): Promise<any> {\n // @ts-expect-error (protected result())\n let result: any = await this.originNode.result();\n\n for (let item of this.items) {\n if (item instanceof Future) {\n // @ts-expect-error (protected result())\n item = await item._result();\n }\n result = result[item as string | number];\n }\n return result;\n }\n\n override toJSON() {\n return {\n type: \"trace\",\n origin_node_id: this.originNode.id,\n op_stack: this.items.map((item) => {\n if (item instanceof FutureString) {\n // @ts-expect-error (accessing protected prop: _id)\n return Trace.Operation.future(\"attr\", item._id);\n } else if (item instanceof FutureNumber) {\n // @ts-expect-error (accessing protected prop: _id)\n return Trace.Operation.future(\"item\", item._id);\n } else if (typeof item === \"string\") {\n return Trace.Operation.key(\"attr\", item);\n }\n return Trace.Operation.key(\"item\", item);\n }) as TraceOperation[],\n };\n }\n}\n\nexport class JQ extends Directive {\n items: any[];\n target: JQDirectiveTarget;\n query: string;\n\n constructor(query: string, target: JQDirectiveTarget) {\n super();\n this.items = [target];\n this.target = target;\n this.query = query;\n }\n\n static JQDirectiveTarget = {\n future: (id: Future<any>[\"_id\"]) => ({ future_id: id, val: null }),\n rawValue: (val: JQCompatible) => ({ future_id: null, val }),\n };\n\n override next(...items: TraceProp[]) {\n return new JQ(this.query, this.target);\n }\n\n override async result(): Promise<JQCompatible> {\n return this.target instanceof Future\n ? // @ts-expect-error (accessing protected prop: id)\n await this.target._result()\n : this.target;\n }\n\n override toJSON(): any {\n return {\n type: \"jq\",\n query: this.query,\n target:\n this.target instanceof Future\n ? // @ts-expect-error (accessing protected prop: id)\n JQ.JQDirectiveTarget.future(this.target._id)\n : JQ.JQDirectiveTarget.rawValue(this.target),\n };\n }\n}\n\nexport class StringConcat extends Directive {\n items: Concatable[];\n\n constructor(items: Concatable[] = []) {\n super();\n this.items = items;\n }\n\n static Concatable = {\n string: (val: string) => ({ future_id: null, val }),\n future: (id: Future<string>[\"_id\"]) => ({ future_id: id, val: null }),\n };\n\n override next(...items: Concatable[]) {\n return new StringConcat([...this.items, ...items]);\n }\n\n override async result(): Promise<string> {\n let result = \"\";\n for (let item of this.items) {\n if (item instanceof Future) {\n // @ts-expect-error (protected result())\n item = await item._result();\n }\n result = result.concat(item);\n }\n return result;\n }\n\n override toJSON(): any {\n return {\n type: \"string-concat\",\n items: this.items.map((item) => {\n if (item instanceof Future) {\n // @ts-expect-error (accessing protected prop: _id)\n return StringConcat.Concatable.future(item._id);\n }\n return StringConcat.Concatable.string(item);\n }),\n };\n }\n}\n\nexport abstract class Future<T> {\n protected _directive: Directive;\n protected _id: string = \"\";\n\n constructor(directive: Directive, id: string = newFutureId()) {\n this._directive = directive;\n this._id = id;\n }\n\n protected referencedFutures(): Future<any>[] {\n return this._directive.referencedFutures();\n }\n\n protected toPlaceholder() {\n return { __$$SB_GRAPH_OP_ID$$__: this._id };\n }\n\n protected async _result(): Promise<T> {\n return this._directive.result();\n }\n\n static jq<T extends keyof FutureTypeMap>(\n future: JQDirectiveTarget,\n query: string,\n futureType: keyof FutureTypeMap = \"string\",\n ): FutureTypeMap[T] {\n const directive = new JQ(query, future);\n switch (futureType) {\n case \"string\":\n return new FutureString(directive) as FutureTypeMap[T];\n case \"number\":\n return new FutureNumber(directive) as FutureTypeMap[T];\n case \"object\":\n return new FutureAnyObject(directive) as FutureTypeMap[T];\n case \"boolean\":\n return new FutureBoolean(directive) as FutureTypeMap[T];\n default:\n throw new Error(`Unknown future type: ${futureType}`);\n }\n }\n\n toJSON() {\n return {\n id: this._id,\n directive: this._directive.toJSON(),\n };\n }\n}\n\nexport class FutureBoolean extends Future<boolean> {}\n\nexport class FutureString extends Future<string> {\n static concat(...items: (string | FutureString)[]) {\n return new FutureString(new StringConcat(items));\n }\n\n static interpolate(\n strings: TemplateStringsArray,\n ...exprs: ({ toString(): string } | FutureString)[]\n ): FutureString {\n return FutureString.concat(\n ...strings.flatMap((s: string, i: number) => {\n const expr = exprs[i];\n return expr\n ? [s, expr instanceof Future ? expr : expr.toString()]\n : [s];\n }),\n );\n }\n\n concat(...items: (string | FutureString)[]) {\n return FutureString.concat(...[this, ...items]);\n }\n\n protected override async _result(): Promise<string> {\n return super._result();\n }\n}\n\nexport class FutureNumber extends Future<number> {}\n\nexport abstract class FutureArray extends Future<any[] | FutureArray> {\n abstract at(index: number): Future<any>;\n\n protected override async _result(): Promise<any[] | FutureArray> {\n return super._result();\n }\n}\n\nexport abstract class FutureObject extends Future<Object> {\n get(path: string): Future<any> {\n const props = parsePath(path);\n return props.reduce((future, prop) => {\n if (future instanceof FutureAnyObject) {\n return typeof prop === \"string\"\n ? future.get(prop as string)\n : future.at(prop as number);\n } else {\n // @ts-ignore\n return typeof prop === \"string\" ? future[prop] : future.at(prop);\n }\n }, this) as Future<any>;\n }\n\n protected override async _result(): Promise<Object> {\n return super._result();\n }\n}\n\nexport class FutureAnyObject extends Future<Object> {\n get(path: string | FutureString) {\n const d =\n typeof path === \"string\"\n ? this._directive.next(...parsePath(path))\n : this._directive.next(path);\n return new FutureAnyObject(d);\n }\n\n at(index: number | FutureNumber) {\n return new FutureAnyObject(this._directive.next(index));\n }\n\n protected override async _result(): Promise<Object> {\n return super._result();\n }\n}\n","import { idGenerator } from \"substrate/idGenerator\";\nimport { Future, FutureAnyObject, Trace } from \"substrate/Future\";\nimport { SubstrateResponse } from \"substrate/SubstrateResponse\";\nimport { NodeError, SubstrateError } from \"substrate/Error\";\nimport { AnyNode } from \"substrate/Nodes\";\n\nconst generator = idGenerator(\"node\");\n\nexport type Options = {\n /** The id of the node. Default: random id */\n id?: Node[\"id\"];\n /** When true the server will omit this node's output. Default: false */\n hide?: boolean;\n /** Number of seconds to cache an output for this node's unique inputs. Default: null */\n cache_age?: number;\n /** Applies if cache_age > 0. Optionally specify a subset of keys to use when computing a cache key.\n * Default: all node arguments\n */\n cache_keys?: string[];\n /** Max number of times to retry this node if it fails. Default: null means no retries */\n max_retries?: number;\n /** Specify nodes that this node depends on. */\n depends?: Node[];\n};\n\nexport abstract class Node {\n /** The id of the node. Default: random id */\n id: string;\n /** The type of the node. */\n node: string;\n /** Node inputs */\n args: Object;\n /** When true the server will omit this node's output. Default: false */\n hide: boolean;\n /** Number of seconds to cache an output for this node's unique inputs. Default: null */\n cache_age?: number;\n /** Applies if cache_age > 0. Optionally specify a subset of keys to use when computing a cache key.\n * Default: all node arguments\n */\n cache_keys?: string[];\n /** Max number of times to retry this node if it fails. Default: null means no retries */\n max_retries?: number;\n /** Specify nodes that this node depends on. */\n depends: Node[];\n\n /** TODO this field stores the last response, but it's just temporary until the internals are refactored */\n protected _response: SubstrateResponse | undefined;\n\n constructor(args: Object = {}, opts?: Options) {\n this.node = this.constructor.name;\n this.args = args;\n this.id = opts?.id || generator(this.node);\n this.hide = opts?.hide || false;\n this.cache_age = opts?.cache_age;\n this.cache_keys = opts?.cache_keys;\n this.max_retries = opts?.max_retries;\n this.depends = opts?.depends ?? [];\n }\n\n /**\n * Reference the future output of this node.\n */\n get future(): any {\n return new FutureAnyObject(new Trace([], this as Node));\n }\n\n protected set response(res: SubstrateResponse) {\n this._response = res;\n }\n\n protected output() {\n const data = this._response?.json?.data?.[this.id];\n\n // Errors from the server have these two fields\n if (data?.type && data?.message) {\n // NOTE: we only return these errors on client errors.\n // Server errors are typically 5xx replies.\n return new NodeError(data.type, data.message, data?.request_id);\n } else if (data) {\n return data;\n }\n\n return new NodeError(\"no_data\", `Missing data for \"${this.id}\"`);\n }\n\n /**\n * Return the resolved result for this node.\n */\n protected async result(): Promise<any> {\n if (!this._response) {\n return Promise.reject(\n new SubstrateError(\n `${this.node} (id=${this.id}) has not been run yet!`,\n ),\n );\n }\n return Promise.resolve(\n this._response\n ? this._response.get(this as unknown as AnyNode)\n : undefined,\n );\n }\n\n toJSON() {\n const withPlaceholders = (obj: any): any => {\n if (Array.isArray(obj)) {\n return obj.map((item) => withPlaceholders(item));\n }\n\n if (obj instanceof Future) {\n // @ts-expect-error (accessing protected method toPlaceholder)\n return obj.toPlaceholder();\n }\n\n if (obj && typeof obj === \"object\") {\n return Object.keys(obj).reduce((acc: any, k: any) => {\n acc[k] = withPlaceholders(obj[k]);\n return acc;\n }, {});\n }\n\n return obj;\n };\n\n return {\n id: this.id,\n node: this.node,\n args: withPlaceholders(this.args),\n _should_output_globally: !this.hide,\n ...(this.cache_age && { _cache_age: this.cache_age }),\n ...(this.cache_keys && { _cache_keys: this.cache_keys }),\n ...(this.max_retries && { _max_retries: this.max_retries }),\n };\n }\n\n /**\n * @private\n * For this node, return all the Futures and other Nodes it has a reference to.\n */\n protected references() {\n const nodes = new Set<Node>();\n const futures = new Set<Future<any>>();\n\n nodes.add(this);\n\n for (let node of this.depends) {\n const references = node.references();\n for (let node of references.nodes) {\n nodes.add(node);\n }\n for (let future of references.futures) {\n futures.add(future);\n }\n }\n\n const collectFutures = (obj: any) => {\n if (Array.isArray(obj)) {\n for (let item of obj) {\n collectFutures(item);\n }\n }\n\n if (obj instanceof Future) {\n futures.add(obj);\n\n // @ts-expect-error (accessing protected method referencedFutures)\n for (let future of obj.referencedFutures()) {\n futures.add(future);\n }\n return;\n }\n\n if (obj && typeof obj === \"object\") {\n for (let key of Object.keys(obj)) {\n collectFutures(obj[key]);\n }\n }\n };\n collectFutures(this.args);\n\n for (let future of futures) {\n // @ts-ignore protected access\n let directive = future._directive;\n if (directive instanceof Trace) {\n // @ts-ignore protected access\n const references = directive.originNode.references();\n for (let node of references.nodes) {\n nodes.add(node);\n }\n for (let future of references.futures) {\n futures.add(future);\n }\n }\n }\n\n return { nodes, futures };\n }\n}\n","/**\n * 𐃏 Substrate\n * @generated file\n * 20240617.20240806\n */\n\nimport * as OpenAPI from \"substrate/OpenAPI\";\nimport { Node, Options } from \"substrate/Node\";\nimport {\n Trace,\n FutureString,\n FutureNumber,\n FutureBoolean,\n FutureArray,\n FutureObject,\n FutureAnyObject,\n} from \"substrate/Future\";\n\n// The following type helpers are used to \"expand\" Node input types to allow them to also accept\n// instances of their corresponding \"Future\" types.\n\ntype FutureExpandScalar<T> = T extends string\n ? string | FutureString\n : T extends number\n ? number | FutureNumber\n : T extends boolean\n ? boolean | FutureBoolean\n : T;\n\ntype FutureExpandObject<T> = T extends object\n ? { [P in keyof T]: FutureExpandAny<T[P]> } | FutureObject\n : T;\n\ntype FutureExpandArray<T> = T extends (infer U)[]\n ? FutureExpandAny<U>[] | FutureArray\n : FutureExpandAny<T>;\n\ntype FutureExpandAny<T> = T extends (infer U)[][]\n ? FutureExpandArray<U>[][] | FutureArray[]\n : T extends (infer U)[]\n ? FutureExpandArray<U>[] | FutureArray\n : T extends object\n ? FutureExpandObject<T>\n : FutureExpandScalar<T>;\n\nexport class ExperimentalInArgs extends FutureAnyObject {}\nexport class ExperimentalOutOutput extends FutureAnyObject {}\n/** Image prompts. */\nexport class ComputeTextInImageUris extends FutureArray {\n /** Returns `FutureString` at given index. */\n override at(index: number) {\n return new FutureString(this._directive.next(index));\n }\n /** Returns the result for `ComputeTextInImageUris` once it's node has been run. */\n protected override async _result(): Promise<FutureString[]> {\n return super._result() as Promise<FutureString[]>;\n }\n}\nexport class ComputeTextInImageUrisItem extends FutureString {}\nexport class ComputeJSONInJsonSchema extends FutureAnyObject {}\nexport class ComputeJSONOutJsonObject extends FutureAnyObject {}\n/** Response choices. */\nexport class MultiComputeTextOutChoices extends FutureArray {\n /** Returns `ComputeTextOut` at given index. */\n override at(index: number) {\n return new ComputeTextOut(this._directive.next(index));\n }\n /** Returns the result for `MultiComputeTextOutChoices` once it's node has been run. */\n protected override async _result(): Promise<ComputeTextOut[]> {\n return super._result() as Promise<ComputeTextOut[]>;\n }\n}\n/** Batch input prompts. */\nexport class BatchComputeTextInPrompts extends FutureArray {\n /** Returns `FutureString` at given index. */\n override at(index: number) {\n return new FutureString(this._directive.next(index));\n }\n /** Returns the result for `BatchComputeTextInPrompts` once it's node has been run. */\n protected override async _result(): Promise<FutureString[]> {\n return super._result() as Promise<FutureString[]>;\n }\n}\nexport class BatchComputeTextInPromptsItem extends FutureString {}\n/** Batch outputs. */\nexport class BatchComputeTextOutOutputs extends FutureArray {\n /** Returns `ComputeTextOut` at given index. */\n override at(index: number) {\n return new ComputeTextOut(this._directive.next(index));\n }\n /** Returns the result for `BatchComputeTextOutOutputs` once it's node has been run. */\n protected override async _result(): Promise<ComputeTextOut[]> {\n return super._result() as Promise<ComputeTextOut[]>;\n }\n}\nexport class MultiComputeJSONInJsonSchema extends FutureAnyObject {}\n/** Response choices. */\nexport class MultiComputeJSONOutChoices extends FutureArray {\n /** Returns `ComputeJSONOut` at given index. */\n override at(index: number) {\n return new ComputeJSONOut(this._directive.next(index));\n }\n /** Returns the result for `MultiComputeJSONOutChoices` once it's node has been run. */\n protected override async _result(): Promise<ComputeJSONOut[]> {\n return super._result() as Promise<ComputeJSONOut[]>;\n }\n}\n/** Batch input prompts. */\nexport class BatchComputeJSONInPrompts extends FutureArray {\n /** Returns `FutureString` at given index. */\n override at(index: number) {\n return new FutureString(this._directive.next(index));\n }\n /** Returns the result for `BatchComputeJSONInPrompts` once it's node has been run. */\n protected override async _result(): Promise<FutureString[]> {\n return super._result() as Promise<FutureString[]>;\n }\n}\nexport class BatchComputeJSONInPromptsItem extends FutureString {}\nexport class BatchComputeJSONInJsonSchema extends FutureAnyObject {}\n/** Batch outputs. */\nexport class BatchComputeJSONOutOutputs extends FutureArray {\n /** Returns `ComputeJSONOut` at given index. */\n override at(index: number) {\n return new ComputeJSONOut(this._directive.next(index));\n }\n /** Returns the result for `BatchComputeJSONOutOutputs` once it's node has been run. */\n protected override async _result(): Promise<ComputeJSONOut[]> {\n return super._result() as Promise<ComputeJSONOut[]>;\n }\n}\nexport class Mistral7BInstructInJsonSchema extends FutureAnyObject {}\nexport class Mistral7BInstructChoiceJsonObject extends FutureAnyObject {}\n/** Response choices. */\nexport class Mistral7BInstructOutChoices extends FutureArray {\n /** Returns `Mistral7BInstructChoice` at given index. */\n override at(index: number) {\n return new Mistral7BInstructChoice(this._directive.next(index));\n }\n /** Returns the result for `Mistral7BInstructOutChoices` once it's node has been run. */\n protected override async _result(): Promise<Mistral7BInstructChoice[]> {\n return super._result() as Promise<Mistral7BInstructChoice[]>;\n }\n}\nexport class Mixtral8x7BInstructInJsonSchema extends FutureAnyObject {}\nexport class Mixtral8x7BChoiceJsonObject extends FutureAnyObject {}\n/** Response choices. */\nexport class Mixtral8x7BInstructOutChoices extends FutureArray {\n /** Returns `Mixtral8x7BChoice` at given index. */\n override at(index: number) {\n return new Mixtral8x7BChoice(this._directive.next(index));\n }\n /** Returns the result for `Mixtral8x7BInstructOutChoices` once it's node has been run. */\n protected override async _result(): Promise<Mixtral8x7BChoice[]> {\n return super._result() as Promise<Mixtral8x7BChoice[]>;\n }\n}\nexport class Llama3Instruct8BInJsonSchema extends FutureAnyObject {}\nexport class Llama3Instruct8BChoiceJsonObject extends FutureAnyObject {}\n/** Response choices. */\nexport class Llama3Instruct8BOutChoices extends FutureArray {\n /** Returns `Llama3Instruct8BChoice` at given index. */\n override at(index: number) {\n return new Llama3Instruct8BChoice(this._directive.next(index));\n }\n /** Returns the result for `Llama3Instruct8BOutChoices` once it's node has been run. */\n protected override async _result(): Promise<Llama3Instruct8BChoice[]> {\n return super._result() as Promise<Llama3Instruct8BChoice[]>;\n }\n}\n/** Response choices. */\nexport class Llama3Instruct70BOutChoices extends FutureArray {\n /** Returns `Llama3Instruct70BChoice` at given index. */\n override at(index: number) {\n return new Llama3Instruct70BChoice(this._directive.next(index));\n }\n /** Returns the result for `Llama3Instruct70BOutChoices` once it's node has been run. */\n protected override async _result(): Promise<Llama3Instruct70BChoice[]> {\n return super._result() as Promise<Llama3Instruct70BChoice[]>;\n }\n}\n/** Image prompts. */\nexport class Firellava13BInImageUris extends FutureArray {\n /** Returns `FutureString` at given index. */\n override at(index: number) {\n return new FutureString(this._directive.next(index));\n }\n /** Returns the result for `Firellava13BInImageUris` once it's node has been run. */\n protected override async _result(): Promise<FutureString[]> {\n return super._result() as Promise<FutureString[]>;\n }\n}\nexport class Firellava13BInImageUrisItem extends FutureString {}\n/** Generated images. */\nexport class MultiGenerateImageOutOutputs extends FutureArray {\n /** Returns `GenerateImageOut` at given index. */\n override at(index: number) {\n return new GenerateImageOut(this._directive.next(index));\n }\n /** Returns the result for `MultiGenerateImageOutOutputs` once it's node has been run. */\n protected override async _result(): Promise<GenerateImageOut[]> {\n return super._result() as Promise<GenerateImageOut[]>;\n }\n}\n/** Seeds for deterministic generation. Default is a random seed. */\nexport class StableDiffusionXLInSeeds extends FutureArray {\n /** Returns `FutureNumber` at given index. */\n override at(index: number) {\n return new FutureNumber(this._directive.next(index));\n }\n /** Returns the result for `StableDiffusionXLInSeeds` once it's node has been run. */\n protected override async _result(): Promise<FutureNumber[]> {\n return super._result() as Promise<FutureNumber[]>;\n }\n}\nexport class StableDiffusionXLInSeedsItem extends FutureNumber {}\n/** Generated images. */\nexport class StableDiffusionXLOutOutputs extends FutureArray {\n /** Returns `StableDiffusionImage` at given index. */\n override at(index: number) {\n return new StableDiffusionImage(this._directive.next(index));\n }\n /** Returns the result for `StableDiffusionXLOutOutputs` once it's node has been run. */\n protected override async _result(): Promise<StableDiffusionImage[]> {\n return super._result() as Promise<StableDiffusionImage[]>;\n }\n}\n/** Seeds for deterministic generation. Default is a random seed. */\nexport class StableDiffusionXLLightningInSeeds extends FutureArray {\n /** Returns `FutureNumber` at given index. */\n override at(index: number) {\n return new FutureNumber(this._directive.next(index));\n }\n /** Returns the result for `StableDiffusionXLLightningInSeeds` once it's node has been run. */\n protected override async _result(): Promise<FutureNumber[]> {\n return super._result() as Promise<FutureNumber[]>;\n }\n}\nexport class StableDiffusionXLLightningInSeedsItem extends FutureNumber {}\n/** Generated images. */\nexport class StableDiffusionXLLightningOutOutputs extends FutureArray {\n /** Returns `StableDiffusionImage` at given index. */\n override at(index: number) {\n return new StableDiffusionImage(this._directive.next(index));\n }\n /** Returns the result for `StableDiffusionXLLightningOutOutputs` once it's node has been run. */\n protected override async _result(): Promise<StableDiffusionImage[]> {\n return super._result() as Promise<StableDiffusionImage[]>;\n }\n}\n/** Random noise seeds. Default is random seeds for each generation. */\nexport class StableDiffusionXLIPAdapterInSeeds extends FutureArray {\n /** Returns `FutureNumber` at given index. */\n override at(index: number) {\n return new FutureNumber(this._directive.next(index));\n }\n /** Returns the result for `StableDiffusionXLIPAdapterInSeeds` once it's node has been run. */\n protected override async _result(): Promise<FutureNumber[]> {\n return super._result() as Promise<FutureNumber[]>;\n }\n}\nexport class StableDiffusionXLIPAdapterInSeedsItem extends FutureNumber {}\n/** Generated images. */\nexport class StableDiffusionXLIPAdapterOutOutputs extends FutureArray {\n /** Returns `StableDiffusionImage` at given index. */\n override at(index: number) {\n return new StableDiffusionImage(this._directive.next(index));\n }\n /** Returns the result for `StableDiffusionXLIPAdapterOutOutputs` once it's node has been run. */\n protected override async _result(): Promise<StableDiffusionImage[]> {\n return super._result() as Promise<StableDiffusionImage[]>;\n }\n}\n/** Random noise seeds. Default is random seeds for each generation. */\nexport class StableDiffusionXLControlNetInSeeds extends FutureArray {\n /** Returns `FutureNumber` at given index. */\n override at(index: number) {\n return new FutureNumber(this._directive.next(index));\n }\n /** Returns the result for `StableDiffusionXLControlNetInSeeds` once it's node has been run. */\n protected override async _result(): Promise<FutureNumber[]> {\n return super._result() as Promise<FutureNumber[]>;\n }\n}\nexport class StableDiffusionXLControlNetInSeedsItem extends FutureNumber {}\n/** Generated images. */\nexport class StableDiffusionXLControlNetOutOutputs extends FutureArray {\n /** Returns `StableDiffusionImage` at given index. */\n override at(index: number) {\n return new StableDiffusionImage(this._directive.next(index));\n }\n /** Returns the result for `StableDiffusionXLControlNetOutOutputs` once it's node has been run. */\n protected override async _result(): Promise<StableDiffusionImage[]> {\n return super._result() as Promise<StableDiffusionImage[]>;\n }\n}\n/** Generated frames. */\nexport class StableVideoDiffusionOutFrameUris extends FutureArray {\n /** Returns `FutureString` at given index. */\n override at(index: number) {\n return new FutureString(this._directive.next(index));\n }\n /** Returns the result for `StableVideoDiffusionOutFrameUris` once it's node has been run. */\n protected override async _result(): Promise<FutureString[]> {\n return super._result() as Promise<FutureString[]>;\n }\n}\nexport class StableVideoDiffusionOutFrameUrisItem extends FutureString {}\n/** Frames. */\nexport class InterpolateFramesInFrameUris extends FutureArray {\n /** Returns `FutureString` at given index. */\n override at(index: number) {\n return new FutureString(this._directive.next(index));\n }\n /** Returns the result for `InterpolateFramesInFrameUris` once it's node has been run. */\n protected override async _result(): Promise<FutureString[]> {\n return super._result() as Promise<FutureString[]>;\n }\n}\nexport class InterpolateFramesInFrameUrisItem extends FutureString {}\n/** Output frames. */\nexport class InterpolateFramesOutFrameUris extends FutureArray {\n /** Returns `FutureString` at given index. */\n override at(index: number) {\n return new FutureString(this._directive.next(index));\n }\n /** Returns the result for `InterpolateFramesOutFrameUris` once it's node has been run. */\n protected override async _result(): Promise<FutureString[]> {\n return super._result() as Promise<FutureString[]>;\n }\n}\nexport class InterpolateFramesOutFrameUrisItem extends FutureString {}\n/** Generated images. */\nexport class MultiInpaintImageOutOutputs extends FutureArray {\n /** Returns `InpaintImageOut` at given index. */\n override at(index: number) {\n return new InpaintImageOut(this._directive.next(index));\n }\n /** Returns the result for `MultiInpaintImageOutOutputs` once it's node has been run. */\n protected override async _result(): Promise<InpaintImageOut[]> {\n return super._result() as Promise<InpaintImageOut[]>;\n }\n}\n/** Random noise seeds. Default is random seeds for each generation. */\nexport class StableDiffusionXLInpaintInSeeds extends FutureArray {\n /** Returns `FutureNumber` at given index. */\n override at(index: number) {\n return new FutureNumber(this._directive.next(index));\n }\n /** Returns the result for `StableDiffusionXLInpaintInSeeds` once it's node has been run. */\n protected override async _result(): Promise<FutureNumber[]> {\n return super._result() as Promise<FutureNumber[]>;\n }\n}\nexport class StableDiffusionXLInpaintInSeedsItem extends FutureNumber {}\n/** Generated images. */\nexport class StableDiffusionXLInpaintOutOutputs extends FutureArray {\n /** Returns `StableDiffusionImage` at given index. */\n override at(index: number) {\n return new StableDiffusionImage(this._directive.next(index));\n }\n /** Returns the result for `StableDiffusionXLInpaintOutOutputs` once it's node has been run. */\n protected override async _result(): Promise<StableDiffusionImage[]> {\n return super._result() as Promise<StableDiffusionImage[]>;\n }\n}\n/** Point prompts, to detect a segment under the point. One of `point_prompts` or `box_prompts` must be set. */\nexport class SegmentAnythingInPointPrompts extends FutureArray {\n /** Returns `Point` at given index. */\n override at(index: number) {\n return new Point(this._directive.next(index));\n }\n /** Returns the result for `SegmentAnythingInPointPrompts` once it's node has been run. */\n protected override async _result(): Promise<Point[]> {\n return super._result() as Promise<Point[]>;\n }\n}\n/** Box prompts, to detect a segment within the bounding box. One of `point_prompts` or `box_prompts` must be set. */\nexport class SegmentAnythingInBoxPrompts extends FutureArray {\n /** Returns `BoundingBox` at given index. */\n override at(index: number) {\n return new BoundingBox(this._directive.next(index));\n }\n /** Returns the result for `SegmentAnythingInBoxPrompts` once it's node has been run. */\n protected override async _result(): Promise<BoundingBox[]> {\n return super._result() as Promise<BoundingBox[]>;\n }\n}\n/** Aligned words, if `align` is enabled. */\nexport class TranscribedSegmentWords extends FutureArray {\n /** Returns `TranscribedWord` at given index. */\n override at(index: number) {\n return new TranscribedWord(this._directive.next(index));\n }\n /** Returns the result for `TranscribedSegmentWords` once it's node has been run. */\n protected override async _result(): Promise<TranscribedWord[]> {\n return super._result() as Promise<TranscribedWord[]>;\n }\n}\n/** Transcribed segments, if `segment` is enabled. */\nexport class TranscribeSpeechOutSegments extends FutureArray {\n /** Returns `TranscribedSegment` at given index. */\n override at(index: number) {\n return new TranscribedSegment(this._directive.next(index));\n }\n /** Returns the result for `TranscribeSpeechOutSegments` once it's node has been run. */\n protected override async _result(): Promise<TranscribedSegment[]> {\n return super._result() as Promise<TranscribedSegment[]>;\n }\n}\n/** Chapter markers, if `suggest_chapters` is enabled. */\nexport class TranscribeSpeechOutChapters extends FutureArray {\n /** Returns `ChapterMarker` at given index. */\n override at(index: number) {\n return new ChapterMarker(this._directive.next(index));\n }\n /** Returns the result for `TranscribeSpeechOutChapters` once it's node has been run. */\n protected override async _result(): Promise<ChapterMarker[]> {\n return super._result() as Promise<ChapterMarker[]>;\n }\n}\n/** Embedding vector. */\nexport class EmbeddingVector extends FutureArray {\n /** Returns `FutureNumber` at given index. */\n override at(index: number) {\n return new FutureNumber(this._directive.next(index));\n }\n /** Returns the result for `EmbeddingVector` once it's node has been run. */\n protected override async _result(): Promise<FutureNumber[]> {\n return super._result() as Promise<FutureNumber[]>;\n }\n}\nexport class EmbeddingVectorItem extends FutureNumber {}\nexport class EmbeddingMetadata extends FutureAnyObject {}\nexport class EmbedTextInMetadata extends FutureAnyObject {}\n/** Choose keys from `metadata` to embed with text. */\nexport class EmbedTextInEmbeddedMetadataKeys extends FutureArray {\n /** Returns `FutureString` at given index. */\n override at(index: number) {\n return new FutureString(this._directive.next(index));\n }\n /** Returns the result for `EmbedTextInEmbeddedMetadataKeys` once it's node has been run. */\n protected override async _result(): Promise<FutureString[]> {\n return super._result() as Promise<FutureString[]>;\n }\n}\nexport class EmbedTextInEmbeddedMetadataKeysItem extends FutureString {}\nexport class EmbedTextItemMetadata extends FutureAnyObject {}\n/** Items to embed. */\nexport class MultiEmbedTextInItems extends FutureArray {\n /** Returns `EmbedTextItem` at given index. */\n override at(index: number) {\n return new EmbedTextItem(this._directive.next(index));\n }\n /** Returns the result for `MultiEmbedTextInItems` once it's node has been run. */\n protected override async _result(): Promise<EmbedTextItem[]> {\n return super._result() as Promise<EmbedTextItem[]>;\n }\n}\n/** Choose keys from `metadata` to embed with text. */\nexport class MultiEmbedTextInEmbeddedMetadataKeys extends FutureArray {\n /** Returns `FutureString` at given index. */\n override at(index: number) {\n return new FutureString(this._directive.next(index));\n }\n /** Returns the result for `MultiEmbedTextInEmbeddedMetadataKeys` once it's node has been run. */\n protected override async _result(): Promise<FutureString[]> {\n return super._result() as Promise<FutureString[]>;\n }\n}\nexport class MultiEmbedTextInEmbeddedMetadataKeysItem extends FutureString {}\n/** Generated embeddings. */\nexport class MultiEmbedTextOutEmbeddings extends FutureArray {\n /** Returns `Embedding` at given index. */\n override at(index: number) {\n return new Embedding(this._directive.next(index));\n }\n /** Returns the result for `MultiEmbedTextOutEmbeddings` once it's node has been run. */\n protected override async _result(): Promise<Embedding[]> {\n return super._result() as Promise<Embedding[]>;\n }\n}\n/** Items to embed. */\nexport class JinaV2InItems extends FutureArray {\n /** Returns `EmbedTextItem` at given index. */\n override at(index: number) {\n return new EmbedTextItem(this._directive.next(index));\n }\n /** Returns the result for `JinaV2InItems` once it's node has been run. */\n protected override async _result(): Promise<EmbedTextItem[]> {\n return super._result() as Promise<EmbedTextItem[]>;\n }\n}\n/** Choose keys from `metadata` to embed with text. */\nexport class JinaV2InEmbeddedMetadataKeys extends FutureArray {\n /** Returns `FutureString` at given index. */\n override at(index: number) {\n return new FutureString(this._directive.next(index));\n }\n /** Returns the result for `JinaV2InEmbeddedMetadataKeys` once it's node has been run. */\n protected override async _result(): Promise<FutureString[]> {\n return super._result() as Promise<FutureString[]>;\n }\n}\nexport class JinaV2InEmbeddedMetadataKeysItem extends FutureString {}\n/** Generated embeddings. */\nexport class JinaV2OutEmbeddings extends FutureArray {\n /** Returns `Embedding` at given index. */\n override at(index: number) {\n return new Embedding(this._directive.next(index));\n }\n /** Returns the result for `JinaV2OutEmbeddings` once it's node has been run. */\n protected override async _result(): Promise<Embedding[]> {\n return super._result() as Promise<Embedding[]>;\n }\n}\nexport class EmbedTextOrImageItemMetadata extends FutureAnyObject {}\n/** Items to embed. */\nexport class MultiEmbedImageInItems extends FutureArray {\n /** Returns `EmbedImageItem` at given index. */\n override at(index: number) {\n return new EmbedImageItem(this._directive.next(index));\n }\n /** Returns the result for `MultiEmbedImageInItems` once it's node has been run. */\n protected override async _result(): Promise<EmbedImageItem[]> {\n return super._result() as Promise<EmbedImageItem[]>;\n }\n}\n/** Generated embeddings. */\nexport class MultiEmbedImageOutEmbeddings extends FutureArray {\n /** Returns `Embedding` at given index. */\n override at(index: number) {\n return new Embedding(this._directive.next(index));\n }\n /** Returns the result for `MultiEmbedImageOutEmbeddings` once it's node has been run. */\n protected override async _result(): Promise<Embedding[]> {\n return super._result() as Promise<Embedding[]>;\n }\n}\n/** Items to embed. */\nexport class CLIPInItems extends FutureArray {\n /** Returns `EmbedTextOrImageItem` at given index. */\n override at(index: number) {\n return new EmbedTextOrImageItem(this._directive.next(index));\n }\n /** Returns the result for `CLIPInItems` once it's node has been run. */\n protected override async _result(): Promise<EmbedTextOrImageItem[]> {\n return super._result() as Promise<EmbedTextOrImageItem[]>;\n }\n}\n/** Choose keys from `metadata` to embed with text. Only applies to text items. */\nexport class CLIPInEmbeddedMetadataKeys extends FutureArray {\n /** Returns `FutureString` at given index. */\n override at(index: number) {\n return new FutureString(this._directive.next(index));\n }\n /** Returns the result for `CLIPInEmbeddedMetadataKeys` once it's node has been run. */\n protected override async _result(): Promise<FutureString[]> {\n return super._result() as Promise<FutureString[]>;\n }\n}\nexport class CLIPInEmbeddedMetadataKeysItem extends FutureString {}\n/** Generated embeddings. */\nexport class CLIPOutEmbeddings extends FutureArray {\n /** Returns `Embedding` at given index. */\n override at(index: number) {\n return new Embedding(this._directive.next(index));\n }\n /** Returns the result for `CLIPOutEmbeddings` once it's node has been run. */\n protected override async _result(): Promise<Embedding[]> {\n return super._result() as Promise<Embedding[]>;\n }\n}\n/** List of vector stores. */\nexport class ListVectorStoresOutItems extends FutureArray {\n /** Returns `FindOrCreateVectorStoreOut` at given index. */\n override at(index: number) {\n return new FindOrCreateVectorStoreOut(this._directive.next(index));\n }\n /** Returns the result for `ListVectorStoresOutItems` once it's node has been run. */\n protected override async _result(): Promise<FindOrCreateVectorStoreOut[]> {\n return super._result() as Promise<FindOrCreateVectorStoreOut[]>;\n }\n}\n/** Embedding vector. */\nexport class VectorVector extends FutureArray {\n /** Returns `FutureNumber` at given index. */\n override at(index: number) {\n return new FutureNumber(this._directive.next(index));\n }\n /** Returns the result for `VectorVector` once it's node has been run. */\n protected override async _result(): Promise<FutureNumber[]> {\n return super._result() as Promise<FutureNumber[]>;\n }\n}\nexport class VectorVectorItem extends FutureNumber {}\nexport class VectorMetadata extends FutureAnyObject {}\n/** Document IDs to retrieve. */\nexport class FetchVectorsInIds extends FutureArray {\n /** Returns `FutureString` at given index. */\n override at(index: number) {\n return new FutureString(this._directive.next(index));\n }\n /** Returns the result for `FetchVectorsInIds` once it's node has been run. */\n protected override async _result(): Promise<FutureString[]> {\n return super._result() as Promise<FutureString[]>;\n }\n}\nexport class FetchVectorsInIdsItem extends FutureString {}\n/** Retrieved vectors. */\nexport class FetchVectorsOutVectors extends FutureArray {\n /** Returns `Vector` at given index. */\n override at(index: number) {\n return new Vector(this._directive.next(index));\n }\n /** Returns the result for `FetchVectorsOutVectors` once it's node has been run. */\n protected override async _result(): Promise<Vector[]> {\n return super._result() as Promise<Vector[]>;\n }\n}\n/** Embedding vector. */\nexport class UpdateVectorParamsVector extends FutureArray {\n /** Returns `FutureNumber` at given index. */\n override at(index: number) {\n return new FutureNumber(this._directive.next(index));\n }\n /** Returns the result for `UpdateVectorParamsVector` once it's node has been run. */\n protected override async _result(): Promise<FutureNumber[]> {\n return super._result() as Promise<FutureNumber[]>;\n }\n}\nexport class UpdateVectorParamsVectorItem extends FutureNumber {}\nexport class UpdateVectorParamsMetadata extends FutureAnyObject {}\n/** Vectors to upsert. */\nexport class UpdateVectorsInVectors extends FutureArray {\n /** Returns `UpdateVectorParams` at given index. */\n override at(index: number) {\n return new UpdateVectorParams(this._directive.next(index));\n }\n /** Returns the result for `UpdateVectorsInVectors` once it's node has been run. */\n protected override async _result(): Promise<UpdateVectorParams[]> {\n return super._result() as Promise<UpdateVectorParams[]>;\n }\n}\n/** Document IDs to delete. */\nexport class DeleteVectorsInIds extends FutureArray {\n /** Returns `FutureString` at given index. */\n override at(index: number) {\n return new FutureString(this._directive.next(index));\n }\n /** Returns the result for `DeleteVectorsInIds` once it's node has been run. */\n protected override async _result(): Promise<FutureString[]> {\n return super._result() as Promise<FutureString[]>;\n }\n}\nexport class DeleteVectorsInIdsItem extends FutureString {}\n/** Texts to embed and use for the query. */\nexport class QueryVectorStoreInQueryStrings extends FutureArray {\n /** Returns `FutureString` at given index. */\n override at(index: number) {\n return new FutureString(this._directive.next(index));\n }\n /** Returns the result for `QueryVectorStoreInQueryStrings` once it's node has been run. */\n protected override async _result(): Promise<FutureString[]> {\n return super._result() as Promise<FutureString[]>;\n }\n}\nexport class QueryVectorStoreInQueryStringsItem extends FutureString {}\n/** Image URIs to embed and use for the query. */\nexport class QueryVectorStoreInQueryImageUris extends FutureArray {\n /** Returns `FutureString` at given index. */\n override at(index: number) {\n return new FutureString(this._directive.next(index));\n }\n /** Returns the result for `QueryVectorStoreInQueryImageUris` once it's node has been run. */\n protected override async _result(): Promise<FutureString[]> {\n return super._result() as Promise<FutureString[]>;\n }\n}\nexport class QueryVectorStoreInQueryImageUrisItem extends FutureString {}\n/** Vectors to use for the query. */\nexport class QueryVectorStoreInQueryVectors extends FutureArray {\n /** Returns `QueryVectorStoreInQueryVectorsItem` at given index. */\n override at(index: number) {\n return new QueryVectorStoreInQueryVectorsItem(this._directive.next(index));\n }\n /** Returns the result for `QueryVectorStoreInQueryVectors` once it's node has been run. */\n protected override async _result(): Promise<QueryVectorStoreInQueryVectorsItem> {\n return super._result() as Promise<QueryVectorStoreInQueryVectorsItem>;\n }\n}\n/** QueryVectorStoreInQueryVectorsItem */\nexport class QueryVectorStoreInQueryVectorsItem extends FutureArray {\n /** Returns `FutureNumber` at given index. */\n override at(index: number) {\n return new FutureNumber(this._directive.next(index));\n }\n /** Returns the result for `QueryVectorStoreInQueryVectorsItem` once it's node has been run. */\n protected override async _result(): Promise<FutureNumber[]> {\n return super._result() as Promise<FutureNumber[]>;\n }\n}\n/** Document IDs to use for the query. */\nexport class QueryVectorStoreInQueryIds extends FutureArray {\n /** Returns `FutureString` at given index. */\n override at(index: number) {\n return new FutureString(this._directive.next(index));\n }\n /** Returns the result for `QueryVectorStoreInQueryIds` once it's node has been run. */\n protected override async _result(): Promise<FutureString[]> {\n return super._result() as Promise<FutureString[]>;\n }\n}\nexport class QueryVectorStoreInQueryIdsItem extends FutureString {}\nexport class QueryVectorStoreInFilters extends FutureAnyObject {}\n/** Embedding vector. */\nexport class VectorStoreQueryResultVector extends FutureArray {\n /** Returns `FutureNumber` at given index. */\n override at(index: number) {\n return new FutureNumber(this._directive.next(index));\n }\n /** Returns the result for `VectorStoreQueryResultVector` once it's node has been run. */\n protected override async _result(): Promise<FutureNumber[]> {\n return super._result() as Promise<FutureNumber[]>;\n }\n}\nexport class VectorStoreQueryResultVectorItem extends FutureNumber {}\nexport class VectorStoreQueryResultMetadata extends FutureAnyObject {}\n/** Query results. */\nexport class QueryVectorStoreOutResults extends FutureArray {\n /** Returns `QueryVectorStoreOutResultsItem` at given index. */\n override at(index: number) {\n return new QueryVectorStoreOutResultsItem(this._directive.next(index));\n }\n /** Returns the result for `QueryVectorStoreOutResults` once it's node has been run. */\n protected override async _result(): Promise<QueryVectorStoreOutResultsItem> {\n return super._result() as Promise<QueryVectorStoreOutResultsItem>;\n }\n}\n/** QueryVectorStoreOutResultsItem */\nexport class QueryVectorStoreOutResultsItem extends FutureArray {\n /** Returns `VectorStoreQueryResult` at given index. */\n override at(index: number) {\n return new VectorStoreQueryResult(this._directive.next(index));\n }\n /** Returns the result for `QueryVectorStoreOutResultsItem` once it's node has been run. */\n protected override async _result(): Promise<VectorStoreQueryResult[]> {\n return super._result() as Promise<VectorStoreQueryResult[]>;\n }\n}\nexport class SplitDocumentInMetadata extends FutureAnyObject {}\n/** Document chunks */\nexport class SplitDocumentOutItems extends FutureArray {\n /** Returns `EmbedTextItem` at given index. */\n override at(index: number) {\n return new EmbedTextItem(this._directive.next(index));\n }\n /** Returns the result for `SplitDocumentOutItems` once it's node has been run. */\n protected override async _result(): Promise<EmbedTextItem[]> {\n return super._result() as Promise<EmbedTextItem[]>;\n }\n}\n/** ErrorOut */\nexport class ErrorOut extends FutureObject {\n /** The type of error returned. */\n get type() {\n return new FutureString(this._directive.next(\"type\"));\n }\n /** A message providing more details about the error. */\n get message() {\n return new FutureString(this._directive.next(\"message\"));\n }\n /** (Optional) The HTTP status code for the error. */\n get status_code() {\n return new FutureNumber(this._directive.next(\"status_code\"));\n }\n /** returns the result for `ErrorOut` once it's node has been run. */\n protected override async _result(): Promise<ErrorOut> {\n return super._result() as Promise<ErrorOut>;\n }\n}\n/** ExperimentalIn */\nexport class ExperimentalIn extends FutureObject {\n /** Identifier. */\n get name() {\n return new FutureString(this._directive.next(\"name\"));\n }\n /** Arguments. */\n get args() {\n return new FutureAnyObject(this._directive.next(\"args\"));\n }\n /** (Optional) Timeout in seconds. */\n get timeout() {\n return new FutureNumber(this._directive.next(\"timeout\"));\n }\n /** returns the result for `ExperimentalIn` once it's node has been run. */\n protected override async _result(): Promise<ExperimentalIn> {\n return super._result() as Promise<ExperimentalIn>;\n }\n}\n/** ExperimentalOut */\nexport class ExperimentalOut extends FutureObject {\n /** Response. */\n get output() {\n return new FutureAnyObject(this._directive.next(\"output\"));\n }\n /** returns the result for `ExperimentalOut` once it's node has been run. */\n protected override async _result(): Promise<ExperimentalOut> {\n return super._result() as Promise<ExperimentalOut>;\n }\n}\n/** BoxIn */\nexport class BoxIn extends FutureObject {\n /** Values to box. */\n get value() {\n return new FutureAnyObject(this._directive.next(\"value\"));\n }\n /** returns the result for `BoxIn` once it's node has been run. */\n protected override async _result(): Promise<BoxIn> {\n return super._result() as Promise<BoxIn>;\n }\n}\n/** BoxOut */\nexport class BoxOut extends FutureObject {\n /** The evaluated result. */\n get value() {\n return new FutureAnyObject(this._directive.next(\"value\"));\n }\n /** returns the result for `BoxOut` once it's node has been run. */\n protected override async _result(): Promise<BoxOut> {\n return super._result() as Promise<BoxOut>;\n }\n}\n/** IfIn */\nexport class IfIn extends FutureObject {\n /** Condition. */\n get condition() {\n return new FutureBoolean(this._directive.next(\"condition\"));\n }\n\n /** Result when condition is true. */\n get value_if_true() {\n return new FutureAnyObject(this._directive.next(\"value_if_true\"));\n }\n\n /** (Optional) Result when condition is false. */\n get value_if_false() {\n return new FutureAnyObject(this._directive.next(\"value_if_false\"));\n }\n /** returns the result for `IfIn` once it's node has been run. */\n protected override async _result(): Promise<IfIn> {\n return super._result() as Promise<IfIn>;\n }\n}\n/** IfOut */\nexport class IfOut extends FutureObject {\n /** Result. Null if `value_if_false` is not provided and `condition` is false. */\n get result() {\n return new FutureAnyObject(this._directive.next(\"result\"));\n }\n /** returns the result for `IfOut` once it's node has been run. */\n protected override async _result(): Promise<IfOut> {\n return super._result() as Promise<IfOut>;\n }\n}\n/** ComputeTextIn */\nexport class ComputeTextIn extends FutureObject {\n /** Input prompt. */\n get prompt() {\n return new FutureString(this._directive.next(\"prompt\"));\n }\n\n /** (Optional) Image prompts. */\n get image_uris() {\n return new ComputeTextInImageUris(this._directive.next(\"image_uris\"));\n }\n /** (Optional) Sampling temperature to use. Higher values make the output more random, lower values make the output more deterministic. */\n get temperature() {\n return new FutureNumber(this._directive.next(\"temperature\"));\n }\n /** (Optional) Maximum number of tokens to generate. */\n get max_tokens() {\n return new FutureNumber(this._directive.next(\"max_tokens\"));\n }\n /** (Optional) Selected model. `Firellava13B` is automatically selected when `image_uris` is provided. */\n get model() {\n return new FutureString(this._directive.next(\"model\"));\n }\n /** returns the result for `ComputeTextIn` once it's node has been run. */\n protected override async _result(): Promise<ComputeTextIn> {\n return super._result() as Promise<ComputeTextIn>;\n }\n}\n/** ComputeTextOut */\nexport class ComputeTextOut extends FutureObject {\n /** Text response. */\n get text() {\n return new FutureString(this._directive.next(\"text\"));\n }\n /** returns the result for `ComputeTextOut` once it's node has been run. */\n protected override async _result(): Promise<ComputeTextOut> {\n return super._result() as Promise<ComputeTextOut>;\n }\n}\n/** ComputeJSONIn */\nexport class ComputeJSONIn extends FutureObject {\n /** Input prompt. */\n get prompt() {\n return new FutureString(this._directive.next(\"prompt\"));\n }\n /** JSON schema to guide `json_object` response. */\n get json_schema() {\n return new FutureAnyObject(this._directive.next(\"json_schema\"));\n }\n /** (Optional) Sampling temperature to use. Higher values make the output more random, lower values make the output more deterministic. */\n get temperature() {\n return new FutureNumber(this._directive.next(\"temperature\"));\n }\n /** (Optional) Maximum number of tokens to generate. */\n get max_tokens() {\n return new FutureNumber(this._directive.next(\"max_tokens\"));\n }\n /** (Optional) Selected model. */\n get model() {\n return new FutureString(this._directive.next(\"model\"));\n }\n /** returns the result for `ComputeJSONIn` once it's node has been run. */\n protected override async _result(): Promise<ComputeJSONIn> {\n return super._result() as Promise<ComputeJSONIn>;\n }\n}\n/** ComputeJSONOut */\nexport class ComputeJSONOut extends FutureObject {\n /** JSON response. */\n get json_object() {\n return new FutureAnyObject(this._directive.next(\"json_object\"));\n }\n /** If the model output could not be parsed to JSON, this is the raw text output. */\n get text() {\n return new FutureString(this._directive.next(\"text\"));\n }\n /** returns the result for `ComputeJSONOut` once it's node has been run. */\n protected override async _result(): Promise<ComputeJSONOut> {\n return super._result() as Promise<ComputeJSONOut>;\n }\n}\n/** MultiComputeTextIn */\nexport class MultiComputeTextIn extends FutureObject {\n /** Input prompt. */\n get prompt() {\n return new FutureString(this._directive.next(\"prompt\"));\n }\n /** Number of choices to generate. */\n get num_choices() {\n return new FutureNumber(this._directive.next(\"num_choices\"));\n }\n /** (Optional) Sampling temperature to use. Higher values make the output more random, lower values make the output more deterministic. */\n get temperature() {\n return new FutureNumber(this._directive.next(\"temperature\"));\n }\n /** (Optional) Maximum number of tokens to generate. */\n get max_tokens() {\n return new FutureNumber(this._directive.next(\"max_tokens\"));\n }\n /** (Optional) Selected model. */\n get model() {\n return new FutureString(this._directive.next(\"model\"));\n }\n /** returns the result for `MultiComputeTextIn` once it's node has been run. */\n protected override async _result(): Promise<MultiComputeTextIn> {\n return super._result() as Promise<MultiComputeTextIn>;\n }\n}\n/** MultiComputeTextOut */\nexport class MultiComputeTextOut extends FutureObject {\n /** Response choices. */\n get choices() {\n return new MultiComputeTextOutChoices(this._directive.next(\"choices\"));\n }\n /** returns the result for `MultiComputeTextOut` once it's node has been run. */\n protected override async _result(): Promise<MultiComputeTextOut> {\n return super._result() as Promise<MultiComputeTextOut>;\n }\n}\n/** BatchComputeTextIn */\nexport class BatchComputeTextIn extends FutureObject {\n /** Batch input prompts. */\n get prompts() {\n return new BatchComputeTextInPrompts(this._directive.next(\"prompts\"));\n }\n /** (Optional) Sampling temperature to use. Higher values make the output more random, lower values make the output more deterministic. */\n get temperature() {\n return new FutureNumber(this._directive.next(\"temperature\"));\n }\n /** (Optional) Maximum number of tokens to generate. */\n get max_tokens() {\n return new FutureNumber(this._directive.next(\"max_tokens\"));\n }\n /** (Optional) Selected model. */\n get model() {\n return new FutureString(this._directive.next(\"model\"));\n }\n /** returns the result for `BatchComputeTextIn` once it's node has been run. */\n protected override async _result(): Promise<BatchComputeTextIn> {\n return super._result() as Promise<BatchComputeTextIn>;\n }\n}\n/** BatchComputeTextOut */\nexport class BatchComputeTextOut extends FutureObject {\n /** Batch outputs. */\n get outputs() {\n return new BatchComputeTextOutOutputs(this._directive.next(\"outputs\"));\n }\n /** returns the result for `BatchComputeTextOut` once it's node has been run. */\n protected override async _result(): Promise<BatchComputeTextOut> {\n return super._result() as Promise<BatchComputeTextOut>;\n }\n}\n/** MultiComputeJSONIn */\nexport class MultiComputeJSONIn extends FutureObject {\n /** Input prompt. */\n get prompt() {\n return new FutureString(this._directive.next(\"prompt\"));\n }\n /** JSON schema to guide `json_object` response. */\n get json_schema() {\n return new FutureAnyObject(this._directive.next(\"json_schema\"));\n }\n /** Number of choices to generate. */\n get num_choices() {\n return new FutureNumber(this._directive.next(\"num_choices\"));\n }\n /** (Optional) Sampling temperature to use. Higher values make the output more random, lower values make the output more deterministic. */\n get temperature() {\n return new FutureNumber(this._directive.next(\"temperature\"));\n }\n /** (Optional) Maximum number of tokens to generate. */\n get max_tokens() {\n return new FutureNumber(this._directive.next(\"max_tokens\"));\n }\n /** (Optional) Selected model. */\n get model() {\n return new FutureString(this._directive.next(\"model\"));\n }\n /** returns the result for `MultiComputeJSONIn` once it's node has been run. */\n protected override async _result(): Promise<MultiComputeJSONIn> {\n return super._result() as Promise<MultiComputeJSONIn>;\n }\n}\n/** MultiComputeJSONOut */\nexport class MultiComputeJSONOut extends FutureObject {\n /** Response choices. */\n get choices() {\n return new MultiComputeJSONOutChoices(this._directive.next(\"choices\"));\n }\n /** returns the result for `MultiComputeJSONOut` once it's node has been run. */\n protected override async _result(): Promise<MultiComputeJSONOut> {\n return super._result() as Promise<MultiComputeJSONOut>;\n }\n}\n/** BatchComputeJSONIn */\nexport class BatchComputeJSONIn extends FutureObject {\n /** Batch input prompts. */\n get prompts() {\n return new BatchComputeJSONInPrompts(this._directive.next(\"prompts\"));\n }\n /** JSON schema to guide `json_object` response. */\n get json_schema() {\n return new FutureAnyObject(this._directive.next(\"json_schema\"));\n }\n /** (Optional) Sampling temperature to use. Higher values make the output more random, lower values make the output more deterministic. */\n get temperature() {\n return new FutureNumber(this._directive.next(\"temperature\"));\n }\n /** (Optional) Maximum number of tokens to generate. */\n get max_tokens() {\n return new FutureNumber(this._directive.next(\"max_tokens\"));\n }\n /** (Optional) Selected model. */\n get model() {\n return new FutureString(this._directive.next(\"model\"));\n }\n /** returns the result for `BatchComputeJSONIn` once it's node has been run. */\n protected override async _result(): Promise<BatchComputeJSONIn> {\n return super._result() as Promise<BatchComputeJSONIn>;\n }\n}\n/** BatchComputeJSONOut */\nexport class BatchComputeJSONOut extends FutureObject {\n /** Batch outputs. */\n get outputs() {\n return new BatchComputeJSONOutOutputs(this._directive.next(\"outputs\"));\n }\n /** returns the result for `BatchComputeJSONOut` once it's node has been run. */\n protected override async _result(): Promise<BatchComputeJSONOut> {\n return super._result() as Promise<BatchComputeJSONOut>;\n }\n}\n/** Mistral7BInstructIn */\nexport class Mistral7BInstructIn extends FutureObject {\n /** Input prompt. */\n get prompt() {\n return new FutureString(this._directive.next(\"prompt\"));\n }\n /** (Optional) System prompt. */\n get system_prompt() {\n return new FutureString(this._directive.next(\"system_prompt\"));\n }\n /** (Optional) Number of choices to generate. */\n get num_choices() {\n return new FutureNumber(this._directive.next(\"num_choices\"));\n }\n /** (Optional) JSON schema to guide response. */\n get json_schema() {\n return new FutureAnyObject(this._directive.next(\"json_schema\"));\n }\n /** (Optional) Higher values make the output more random, lower values make the output more deterministic. */\n get temperature() {\n return new FutureNumber(this._directive.next(\"temperature\"));\n }\n /** (Optional) Higher values decrease the likelihood of repeating previous tokens. */\n get frequency_penalty() {\n return new FutureNumber(this._directive.next(\"frequency_penalty\"));\n }\n /** (Optional) Higher values decrease the likelihood of repeated sequences. */\n get repetition_penalty() {\n return new FutureNumber(this._directive.next(\"repetition_penalty\"));\n }\n /** (Optional) Higher values increase the likelihood of new topics appearing. */\n get presence_penalty() {\n return new FutureNumber(this._directive.next(\"presence_penalty\"));\n }\n /** (Optional) Probability below which less likely tokens are filtered out. */\n get top_p() {\n return new FutureNumber(this._directive.next(\"top_p\"));\n }\n /** (Optional) Maximum number of tokens to generate. */\n get max_tokens() {\n return new FutureNumber(this._directive.next(\"max_tokens\"));\n }\n /** returns the result for `Mistral7BInstructIn` once it's node has been run. */\n protected override async _result(): Promise<Mistral7BInstructIn> {\n return super._result() as Promise<Mistral7BInstructIn>;\n }\n}\n/** Mistral7BInstructChoice */\nexport class Mistral7BInstructChoice extends FutureObject {\n /** Text response, if `json_schema` was not provided. */\n get text() {\n return new FutureString(this._directive.next(\"text\"));\n }\n /** JSON response, if `json_schema` was provided. */\n get json_object() {\n return new FutureAnyObject(this._directive.next(\"json_object\"));\n }\n /** returns the result for `Mistral7BInstructChoice` once it's node has been run. */\n protected override async _result(): Promise<Mistral7BInstructChoice> {\n return super._result() as Promise<Mistral7BInstructChoice>;\n }\n}\n/** Mistral7BInstructOut */\nexport class Mistral7BInstructOut extends FutureObject {\n /** Response choices. */\n get choices() {\n return new Mistral7BInstructOutChoices(this._directive.next(\"choices\"));\n }\n /** returns the result for `Mistral7BInstructOut` once it's node has been run. */\n protected override async _result(): Promise<Mistral7BInstructOut> {\n return super._result() as Promise<Mistral7BInstructOut>;\n }\n}\n/** Mixtral8x7BInstructIn */\nexport class Mixtral8x7BInstructIn extends FutureObject {\n /** Input prompt. */\n get prompt() {\n return new FutureString(this._directive.next(\"prompt\"));\n }\n /** (Optional) System prompt. */\n get system_prompt() {\n return new FutureString(this._directive.next(\"system_prompt\"));\n }\n /** (Optional) Number of choices to generate. */\n get num_choices() {\n return new FutureNumber(this._directive.next(\"num_choices\"));\n }\n /** (Optional) JSON schema to guide response. */\n get json_schema() {\n return new FutureAnyObject(this._directive.next(\"json_schema\"));\n }\n /** (Optional) Higher values make the output more random, lower values make the output more deterministic. */\n get temperature() {\n return new FutureNumber(this._directive.next(\"temperature\"));\n }\n /** (Optional) Higher values decrease the likelihood of repeating previous tokens. */\n get frequency_penalty() {\n return new FutureNumber(this._directive.next(\"frequency_penalty\"));\n }\n /** (Optional) Higher values decrease the likelihood of repeated sequences. */\n get repetition_penalty() {\n return new FutureNumber(this._directive.next(\"repetition_penalty\"));\n }\n /** (Optional) Higher values increase the likelihood of new topics appearing. */\n get presence_penalty() {\n return new FutureNumber(this._directive.next(\"presence_penalty\"));\n }\n /** (Optional) Probability below which less likely tokens are filtered out. */\n get top_p() {\n return new FutureNumber(this._directive.next(\"top_p\"));\n }\n /** (Optional) Maximum number of tokens to generate. */\n get max_tokens() {\n return new FutureNumber(this._directive.next(\"max_tokens\"));\n }\n /** returns the result for `Mixtral8x7BInstructIn` once it's node has been run. */\n protected override async _result(): Promise<Mixtral8x7BInstructIn> {\n return super._result() as Promise<Mixtral8x7BInstructIn>;\n }\n}\n/** Mixtral8x7BChoice */\nexport class Mixtral8x7BChoice extends FutureObject {\n /** Text response, if `json_schema` was not provided. */\n get text() {\n return new FutureString(this._directive.next(\"text\"));\n }\n /** JSON response, if `json_schema` was provided. */\n get json_object() {\n return new FutureAnyObject(this._directive.next(\"json_object\"));\n }\n /** returns the result for `Mixtral8x7BChoice` once it's node has been run. */\n protected override async _result(): Promise<Mixtral8x7BChoice> {\n return super._result() as Promise<Mixtral8x7BChoice>;\n }\n}\n/** Mixtral8x7BInstructOut */\nexport class Mixtral8x7BInstructOut extends FutureObject {\n /** Response choices. */\n get choices() {\n return new Mixtral8x7BInstructOutChoices(this._directive.next(\"choices\"));\n }\n /** returns the result for `Mixtral8x7BInstructOut` once it's node has been run. */\n protected override async _result(): Promise<Mixtral8x7BInstructOut> {\n return super._result() as Promise<Mixtral8x7BInstructOut>;\n }\n}\n/** Llama3Instruct8BIn */\nexport class Llama3Instruct8BIn extends FutureObject {\n /** Input prompt. */\n get prompt() {\n return new FutureString(this._directive.next(\"prompt\"));\n }\n /** (Optional) System prompt. */\n get system_prompt() {\n return new FutureString(this._directive.next(\"system_prompt\"));\n }\n /** (Optional) Number of choices to generate. */\n get num_choices() {\n return new FutureNumber(this._directive.next(\"num_choices\"));\n }\n /** (Optional) Higher values make the output more random, lower values make the output more deterministic. */\n get temperature() {\n return new FutureNumber(this._directive.next(\"temperature\"));\n }\n /** (Optional) Higher values decrease the likelihood of repeating previous tokens. */\n get frequency_penalty() {\n return new FutureNumber(this._directive.next(\"frequency_penalty\"));\n }\n /** (Optional) Higher values decrease the likelihood of repeated sequences. */\n get repetition_penalty() {\n return new FutureNumber(this._directive.next(\"repetition_penalty\"));\n }\n /** (Optional) Higher values increase the likelihood of new topics appearing. */\n get presence_penalty() {\n return new FutureNumber(this._directive.next(\"presence_penalty\"));\n }\n /** (Optional) Probability below which less likely tokens are filtered out. */\n get top_p() {\n return new FutureNumber(this._directive.next(\"top_p\"));\n }\n /** (Optional) Maximum number of tokens to generate. */\n get max_tokens() {\n return new FutureNumber(this._directive.next(\"max_tokens\"));\n }\n /** (Optional) JSON schema to guide response. */\n get json_schema() {\n return new FutureAnyObject(this._directive.next(\"json_schema\"));\n }\n /** returns the result for `Llama3Instruct8BIn` once it's node has been run. */\n protected override async _result(): Promise<Llama3Instruct8BIn> {\n return super._result() as Promise<Llama3Instruct8BIn>;\n }\n}\n/** Llama3Instruct8BChoice */\nexport class Llama3Instruct8BChoice extends FutureObject {\n /** Text response. */\n get text() {\n return new FutureString(this._directive.next(\"text\"));\n }\n /** JSON response, if `json_schema` was provided. */\n get json_object() {\n return new FutureAnyObject(this._directive.next(\"json_object\"));\n }\n /** returns the result for `Llama3Instruct8BChoice` once it's node has been run. */\n protected override async _result(): Promise<Llama3Instruct8BChoice> {\n return super._result() as Promise<Llama3Instruct8BChoice>;\n }\n}\n/** Llama3Instruct8BOut */\nexport class Llama3Instruct8BOut extends FutureObject {\n /** Response choices. */\n get choices() {\n return new Llama3Instruct8BOutChoices(this._directive.next(\"choices\"));\n }\n /** returns the result for `Llama3Instruct8BOut` once it's node has been run. */\n protected override async _result(): Promise<Llama3Instruct8BOut> {\n return super._result() as Promise<Llama3Instruct8BOut>;\n }\n}\n/** Llama3Instruct70BIn */\nexport class Llama3Instruct70BIn extends FutureObject {\n /** Input prompt. */\n get prompt() {\n return new FutureString(this._directive.next(\"prompt\"));\n }\n /** (Optional) System prompt. */\n get system_prompt() {\n return new FutureString(this._directive.next(\"system_prompt\"));\n }\n /** (Optional) Number of choices to generate. */\n get num_choices() {\n return new FutureNumber(this._directive.next(\"num_choices\"));\n }\n /** (Optional) Higher values make the output more random, lower values make the output more deterministic. */\n get temperature() {\n return new FutureNumber(this._directive.next(\"temperature\"));\n }\n /** (Optional) Higher values decrease the likelihood of repeating previous tokens. */\n get frequency_penalty() {\n return new FutureNumber(this._directive.next(\"frequency_penalty\"));\n }\n /** (Optional) Higher values decrease the likelihood of repeated sequences. */\n get repetition_penalty() {\n return new FutureNumber(this._directive.next(\"repetition_penalty\"));\n }\n /** (Optional) Higher values increase the likelihood of new topics appearing. */\n get presence_penalty() {\n return new FutureNumber(this._directive.next(\"presence_penalty\"));\n }\n /** (Optional) Probability below which less likely tokens are filtered out. */\n get top_p() {\n return new FutureNumber(this._directive.next(\"top_p\"));\n }\n /** (Optional) Maximum number of tokens to generate. */\n get max_tokens() {\n return new FutureNumber(this._directive.next(\"max_tokens\"));\n }\n /** returns the result for `Llama3Instruct70BIn` once it's node has been run. */\n protected override async _result(): Promise<Llama3Instruct70BIn> {\n return super._result() as Promise<Llama3Instruct70BIn>;\n }\n}\n/** Llama3Instruct70BChoice */\nexport class Llama3Instruct70BChoice extends FutureObject {\n /** Text response. */\n get text() {\n return new FutureString(this._directive.next(\"text\"));\n }\n /** returns the result for `Llama3Instruct70BChoice` once it's node has been run. */\n protected override async _result(): Promise<Llama3Instruct70BChoice> {\n return super._result() as Promise<Llama3Instruct70BChoice>;\n }\n}\n/** Llama3Instruct70BOut */\nexport class Llama3Instruct70BOut extends FutureObject {\n /** Response choices. */\n get choices() {\n return new Llama3Instruct70BOutChoices(this._directive.next(\"choices\"));\n }\n /** returns the result for `Llama3Instruct70BOut` once it's node has been run. */\n protected override async _result(): Promise<Llama3Instruct70BOut> {\n return super._result() as Promise<Llama3Instruct70BOut>;\n }\n}\n/** Firellava13BIn */\nexport class Firellava13BIn extends FutureObject {\n /** Text prompt. */\n get prompt() {\n return new FutureString(this._directive.next(\"prompt\"));\n }\n\n /** Image prompts. */\n get image_uris() {\n return new Firellava13BInImageUris(this._directive.next(\"image_uris\"));\n }\n /** (Optional) Maximum number of tokens to generate. */\n get max_tokens() {\n return new FutureNumber(this._directive.next(\"max_tokens\"));\n }\n /** returns the result for `Firellava13BIn` once it's node has been run. */\n protected override async _result(): Promise<Firellava13BIn> {\n return super._result() as Promise<Firellava13BIn>;\n }\n}\n/** Firellava13BOut */\nexport class Firellava13BOut extends FutureObject {\n /** Text response. */\n get text() {\n return new FutureString(this._directive.next(\"text\"));\n }\n /** returns the result for `Firellava13BOut` once it's node has been run. */\n protected override async _result(): Promise<Firellava13BOut> {\n return super._result() as Promise<Firellava13BOut>;\n }\n}\n/** GenerateImageIn */\nexport class GenerateImageIn extends FutureObject {\n /** Text prompt. */\n get prompt() {\n return new FutureString(this._directive.next(\"prompt\"));\n }\n /** (Optional) Use \"hosted\" to return an image URL hosted on Substrate. You can also provide a URL to a registered [file store](https://docs.substrate.run/reference/external-files). If unset, the image data will be returned as a base64-encoded string. */\n get store() {\n return new FutureString(this._directive.next(\"store\"));\n }\n /** returns the result for `GenerateImageIn` once it's node has been run. */\n protected override async _result(): Promise<GenerateImageIn> {\n return super._result() as Promise<GenerateImageIn>;\n }\n}\n/** GenerateImageOut */\nexport class GenerateImageOut extends FutureObject {\n /** Base 64-encoded JPEG image bytes, or a hosted image url if `store` is provided. */\n get image_uri() {\n return new FutureString(this._directive.next(\"image_uri\"));\n }\n /** returns the result for `GenerateImageOut` once it's node has been run. */\n protected override async _result(): Promise<GenerateImageOut> {\n return super._result() as Promise<GenerateImageOut>;\n }\n}\n/** MultiGenerateImageIn */\nexport class MultiGenerateImageIn extends FutureObject {\n /** Text prompt. */\n get prompt() {\n return new FutureString(this._directive.next(\"prompt\"));\n }\n /** Number of images to generate. */\n get num_images() {\n return new FutureNumber(this._directive.next(\"num_images\"));\n }\n /** (Optional) Use \"hosted\" to return an image URL hosted on Substrate. You can also provide a URL to a registered [file store](https://docs.substrate.run/reference/external-files). If unset, the image data will be returned as a base64-encoded string. */\n get store() {\n return new FutureString(this._directive.next(\"store\"));\n }\n /** returns the result for `MultiGenerateImageIn` once it's node has been run. */\n protected override async _result(): Promise<MultiGenerateImageIn> {\n return super._result() as Promise<MultiGenerateImageIn>;\n }\n}\n/** MultiGenerateImageOut */\nexport class MultiGenerateImageOut extends FutureObject {\n /** Generated images. */\n get outputs() {\n return new MultiGenerateImageOutOutputs(this._directive.next(\"outputs\"));\n }\n /** returns the result for `MultiGenerateImageOut` once it's node has been run. */\n protected override async _result(): Promise<MultiGenerateImageOut> {\n return super._result() as Promise<MultiGenerateImageOut>;\n }\n}\n/** StableDiffusionXLIn */\nexport class StableDiffusionXLIn extends FutureObject {\n /** Text prompt. */\n get prompt() {\n return new FutureString(this._directive.next(\"prompt\"));\n }\n /** (Optional) Negative input prompt. */\n get negative_prompt() {\n return new FutureString(this._directive.next(\"negative_prompt\"));\n }\n /** (Optional) Number of diffusion steps. */\n get steps() {\n return new FutureNumber(this._directive.next(\"steps\"));\n }\n /** Number of images to generate. */\n get num_images() {\n return new FutureNumber(this._directive.next(\"num_images\"));\n }\n /** (Optional) Use \"hosted\" to return an image URL hosted on Substrate. You can also provide a URL to a registered [file store](https://docs.substrate.run/reference/external-files). If unset, the image data will be returned as a base64-encoded string. */\n get store() {\n return new FutureString(this._directive.next(\"store\"));\n }\n /** (Optional) Height of output image, in pixels. */\n get height() {\n return new FutureNumber(this._directive.next(\"height\"));\n }\n /** (Optional) Width of output image, in pixels. */\n get width() {\n return new FutureNumber(this._directive.next(\"width\"));\n }\n\n /** (Optional) Seeds for deterministic generation. Default is a random seed. */\n get seeds() {\n return new StableDiffusionXLInSeeds(this._directive.next(\"seeds\"));\n }\n /** (Optional) Higher values adhere to the text prompt more strongly, typically at the expense of image quality. */\n get guidance_scale() {\n return new FutureNumber(this._directive.next(\"guidance_scale\"));\n }\n /** returns the result for `StableDiffusionXLIn` once it's node has been run. */\n protected override async _result(): Promise<StableDiffusionXLIn> {\n return super._result() as Promise<StableDiffusionXLIn>;\n }\n}\n/** StableDiffusionImage */\nexport class StableDiffusionImage extends FutureObject {\n /** Base 64-encoded JPEG image bytes, or a hosted image url if `store` is provided. */\n get image_uri() {\n return new FutureString(this._directive.next(\"image_uri\"));\n }\n /** The random noise seed used for generation. */\n get seed() {\n return new FutureNumber(this._directive.next(\"seed\"));\n }\n /** returns the result for `StableDiffusionImage` once it's node has been run. */\n protected override async _result(): Promise<StableDiffusionImage> {\n return super._result() as Promise<StableDiffusionImage>;\n }\n}\n/** StableDiffusionXLOut */\nexport class StableDiffusionXLOut extends FutureObject {\n /** Generated images. */\n get outputs() {\n return new StableDiffusionXLOutOutputs(this._directive.next(\"outputs\"));\n }\n /** returns the result for `StableDiffusionXLOut` once it's node has been run. */\n protected override async _result(): Promise<StableDiffusionXLOut> {\n return super._result() as Promise<StableDiffusionXLOut>;\n }\n}\n/** StableDiffusionXLLightningIn */\nexport class StableDiffusionXLLightningIn extends FutureObject {\n /** Text prompt. */\n get prompt() {\n return new FutureString(this._directive.next(\"prompt\"));\n }\n /** (Optional) Negative input prompt. */\n get negative_prompt() {\n return new FutureString(this._directive.next(\"negative_prompt\"));\n }\n /** (Optional) Number of images to generate. */\n get num_images() {\n return new FutureNumber(this._directive.next(\"num_images\"));\n }\n /** (Optional) Use \"hosted\" to return an image URL hosted on Substrate. You can also provide a URL to a registered [file store](https://docs.substrate.run/reference/external-files). If unset, the image data will be returned as a base64-encoded string. */\n get store() {\n return new FutureString(this._directive.next(\"store\"));\n }\n /** (Optional) Height of output image, in pixels. */\n get height() {\n return new FutureNumber(this._directive.next(\"height\"));\n }\n /** (Optional) Width of output image, in pixels. */\n get width() {\n return new FutureNumber(this._directive.next(\"width\"));\n }\n\n /** (Optional) Seeds for deterministic generation. Default is a random seed. */\n get seeds() {\n return new StableDiffusionXLLightningInSeeds(this._directive.next(\"seeds\"));\n }\n /** returns the result for `StableDiffusionXLLightningIn` once it's node has been run. */\n protected override async _result(): Promise<StableDiffusionXLLightningIn> {\n return super._result() as Promise<StableDiffusionXLLightningIn>;\n }\n}\n/** StableDiffusionXLLightningOut */\nexport class StableDiffusionXLLightningOut extends FutureObject {\n /** Generated images. */\n get outputs() {\n return new StableDiffusionXLLightningOutOutputs(\n this._directive.next(\"outputs\"),\n );\n }\n /** returns the result for `StableDiffusionXLLightningOut` once it's node has been run. */\n protected override async _result(): Promise<StableDiffusionXLLightningOut> {\n return super._result() as Promise<StableDiffusionXLLightningOut>;\n }\n}\n/** StableDiffusionXLIPAdapterIn */\nexport class StableDiffusionXLIPAdapterIn extends FutureObject {\n /** Text prompt. */\n get prompt() {\n return new FutureString(this._directive.next(\"prompt\"));\n }\n /** Image prompt. */\n get image_prompt_uri() {\n return new FutureString(this._directive.next(\"image_prompt_uri\"));\n }\n /** Number of images to generate. */\n get num_images() {\n return new FutureNumber(this._directive.next(\"num_images\"));\n }\n /** (Optional) Controls the influence of the image prompt on the generated output. */\n get ip_adapter_scale() {\n return new FutureNumber(this._directive.next(\"ip_adapter_scale\"));\n }\n /** (Optional) Negative input prompt. */\n get negative_prompt() {\n return new FutureString(this._directive.next(\"negative_prompt\"));\n }\n /** (Optional) Use \"hosted\" to return an image URL hosted on Substrate. You can also provide a URL to a registered [file store](https://docs.substrate.run/reference/external-files). If unset, the image data will be returned as a base64-encoded string. */\n get store() {\n return new FutureString(this._directive.next(\"store\"));\n }\n /** (Optional) Width of output image, in pixels. */\n get width() {\n return new FutureNumber(this._directive.next(\"width\"));\n }\n /** (Optional) Height of output image, in pixels. */\n get height() {\n return new FutureNumber(this._directive.next(\"height\"));\n }\n\n /** (Optional) Random noise seeds. Default is random seeds for each generation. */\n get seeds() {\n return new StableDiffusionXLIPAdapterInSeeds(this._directive.next(\"seeds\"));\n }\n /** returns the result for `StableDiffusionXLIPAdapterIn` once it's node has been run. */\n protected override async _result(): Promise<StableDiffusionXLIPAdapterIn> {\n return super._result() as Promise<StableDiffusionXLIPAdapterIn>;\n }\n}\n/** StableDiffusionXLIPAdapterOut */\nexport class StableDiffusionXLIPAdapterOut extends FutureObject {\n /** Generated images. */\n get outputs() {\n return new StableDiffusionXLIPAdapterOutOutputs(\n this._directive.next(\"outputs\"),\n );\n }\n /** returns the result for `StableDiffusionXLIPAdapterOut` once it's node has been run. */\n protected override async _result(): Promise<StableDiffusionXLIPAdapterOut> {\n return super._result() as Promise<StableDiffusionXLIPAdapterOut>;\n }\n}\n/** StableDiffusionXLControlNetIn */\nexport class StableDiffusionXLControlNetIn extends FutureObject {\n /** Input image. */\n get image_uri() {\n return new FutureString(this._directive.next(\"image_uri\"));\n }\n /** Strategy to control generation using the input image. */\n get control_method() {\n return new FutureString(this._directive.next(\"control_method\"));\n }\n /** Text prompt. */\n get prompt() {\n return new FutureString(this._directive.next(\"prompt\"));\n }\n /** Number of images to generate. */\n get num_images() {\n return new FutureNumber(this._directive.next(\"num_images\"));\n }\n /** (Optional) Resolution of the output image, in pixels. */\n get output_resolution() {\n return new FutureNumber(this._directive.next(\"output_resolution\"));\n }\n /** (Optional) Negative input prompt. */\n get negative_prompt() {\n return new FutureString(this._directive.next(\"negative_prompt\"));\n }\n /** (Optional) Use \"hosted\" to return an image URL hosted on Substrate. You can also provide a URL to a registered [file store](https://docs.substrate.run/reference/external-files). If unset, the image data will be returned as a base64-encoded string. */\n get store() {\n return new FutureString(this._directive.next(\"store\"));\n }\n /** (Optional) Controls the influence of the input image on the generated output. */\n get conditioning_scale() {\n return new FutureNumber(this._directive.next(\"conditioning_scale\"));\n }\n /** (Optional) Controls how much to transform the input image. */\n get strength() {\n return new FutureNumber(this._directive.next(\"strength\"));\n }\n\n /** (Optional) Random noise seeds. Default is random seeds for each generation. */\n get seeds() {\n return new StableDiffusionXLControlNetInSeeds(\n this._directive.next(\"seeds\"),\n );\n }\n /** returns the result for `StableDiffusionXLControlNetIn` once it's node has been run. */\n protected override async _result(): Promise<StableDiffusionXLControlNetIn> {\n return super._result() as Promise<StableDiffusionXLControlNetIn>;\n }\n}\n/** StableDiffusionXLControlNetOut */\nexport class StableDiffusionXLControlNetOut extends FutureObject {\n /** Generated images. */\n get outputs() {\n return new StableDiffusionXLControlNetOutOutputs(\n this._directive.next(\"outputs\"),\n );\n }\n /** returns the result for `StableDiffusionXLControlNetOut` once it's node has been run. */\n protected override async _result(): Promise<StableDiffusionXLControlNetOut> {\n return super._result() as Promise<StableDiffusionXLControlNetOut>;\n }\n}\n/** StableVideoDiffusionIn */\nexport class StableVideoDiffusionIn extends FutureObject {\n /** Original image. */\n get image_uri() {\n return new FutureString(this._directive.next(\"image_uri\"));\n }\n /** (Optional) Use \"hosted\" to return a video URL hosted on Substrate. You can also provide a URL to a registered [file store](https://docs.substrate.run/reference/external-files). If unset, the video data will be returned as a base64-encoded string. */\n get store() {\n return new FutureString(this._directive.next(\"store\"));\n }\n /** (Optional) Output video format. */\n get output_format() {\n return new FutureString(this._directive.next(\"output_format\"));\n }\n /** (Optional) Seed for deterministic generation. Default is a random seed. */\n get seed() {\n return new FutureNumber(this._directive.next(\"seed\"));\n }\n /** (Optional) Frames per second of the generated video. Ignored if output format is `frames`. */\n get fps() {\n return new FutureNumber(this._directive.next(\"fps\"));\n }\n /** (Optional) The motion bucket id to use for the generated video. This can be used to control the motion of the generated video. Increasing the motion bucket id increases the motion of the generated video. */\n get motion_bucket_id() {\n return new FutureNumber(this._directive.next(\"motion_bucket_id\"));\n }\n /** (Optional) The amount of noise added to the conditioning image. The higher the values the less the video resembles the conditioning image. Increasing this value also increases the motion of the generated video. */\n get noise() {\n return new FutureNumber(this._directive.next(\"noise\"));\n }\n /** returns the result for `StableVideoDiffusionIn` once it's node has been run. */\n protected override async _result(): Promise<StableVideoDiffusionIn> {\n return super._result() as Promise<StableVideoDiffusionIn>;\n }\n}\n/** StableVideoDiffusionOut */\nexport class StableVideoDiffusionOut extends FutureObject {\n /** Generated video. */\n get video_uri() {\n return new FutureString(this._directive.next(\"video_uri\"));\n }\n\n /** Generated frames. */\n get frame_uris() {\n return new StableVideoDiffusionOutFrameUris(\n this._directive.next(\"frame_uris\"),\n );\n }\n /** returns the result for `StableVideoDiffusionOut` once it's node has been run. */\n protected override async _result(): Promise<StableVideoDiffusionOut> {\n return super._result() as Promise<StableVideoDiffusionOut>;\n }\n}\n/** InterpolateFramesIn */\nexport class InterpolateFramesIn extends FutureObject {\n /** Frames. */\n get frame_uris() {\n return new InterpolateFramesInFrameUris(this._directive.next(\"frame_uris\"));\n }\n /** (Optional) Use \"hosted\" to return a video URL hosted on Substrate. You can also provide a URL to a registered [file store](https://docs.substrate.run/reference/external-files). If unset, the video data will be returned as a base64-encoded string. */\n get store() {\n return new FutureString(this._directive.next(\"store\"));\n }\n /** (Optional) Output video format. */\n get output_format() {\n return new FutureString(this._directive.next(\"output_format\"));\n }\n /** (Optional) Frames per second of the generated video. Ignored if output format is `frames`. */\n get fps() {\n return new FutureNumber(this._directive.next(\"fps\"));\n }\n /** (Optional) Number of interpolation steps. Each step adds an interpolated frame between adjacent frames. For example, 2 steps over 2 frames produces 5 frames. */\n get num_steps() {\n return new FutureNumber(this._directive.next(\"num_steps\"));\n }\n /** returns the result for `InterpolateFramesIn` once it's node has been run. */\n protected override async _result(): Promise<InterpolateFramesIn> {\n return super._result() as Promise<InterpolateFramesIn>;\n }\n}\n/** InterpolateFramesOut */\nexport class InterpolateFramesOut extends FutureObject {\n /** Generated video. */\n get video_uri() {\n return new FutureString(this._directive.next(\"video_uri\"));\n }\n\n /** Output frames. */\n get frame_uris() {\n return new InterpolateFramesOutFrameUris(\n this._directive.next(\"frame_uris\"),\n );\n }\n /** returns the result for `InterpolateFramesOut` once it's node has been run. */\n protected override async _result(): Promise<InterpolateFramesOut> {\n return super._result() as Promise<InterpolateFramesOut>;\n }\n}\n/** InpaintImageIn */\nexport class InpaintImageIn extends FutureObject {\n /** Original image. */\n get image_uri() {\n return new FutureString(this._directive.next(\"image_uri\"));\n }\n /** Text prompt. */\n get prompt() {\n return new FutureString(this._directive.next(\"prompt\"));\n }\n /** (Optional) Mask image that controls which pixels are inpainted. If unset, the entire image is edited (image-to-image). */\n get mask_image_uri() {\n return new FutureString(this._directive.next(\"mask_image_uri\"));\n }\n /** (Optional) Use \"hosted\" to return an image URL hosted on Substrate. You can also provide a URL to a registered [file store](https://docs.substrate.run/reference/external-files). If unset, the image data will be returned as a base64-encoded string. */\n get store() {\n return new FutureString(this._directive.next(\"store\"));\n }\n /** returns the result for `InpaintImageIn` once it's node has been run. */\n protected override async _result(): Promise<InpaintImageIn> {\n return super._result() as Promise<InpaintImageIn>;\n }\n}\n/** InpaintImageOut */\nexport class InpaintImageOut extends FutureObject {\n /** Base 64-encoded JPEG image bytes, or a hosted image url if `store` is provided. */\n get image_uri() {\n return new FutureString(this._directive.next(\"image_uri\"));\n }\n /** returns the result for `InpaintImageOut` once it's node has been run. */\n protected override async _result(): Promise<InpaintImageOut> {\n return super._result() as Promise<InpaintImageOut>;\n }\n}\n/** MultiInpaintImageIn */\nexport class MultiInpaintImageIn extends FutureObject {\n /** Original image. */\n get image_uri() {\n return new FutureString(this._directive.next(\"image_uri\"));\n }\n /** Text prompt. */\n get prompt() {\n return new FutureString(this._directive.next(\"prompt\"));\n }\n /** (Optional) Mask image that controls which pixels are edited (inpainting). If unset, the entire image is edited (image-to-image). */\n get mask_image_uri() {\n return new FutureString(this._directive.next(\"mask_image_uri\"));\n }\n /** Number of images to generate. */\n get num_images() {\n return new FutureNumber(this._directive.next(\"num_images\"));\n }\n /** (Optional) Use \"hosted\" to return an image URL hosted on Substrate. You can also provide a URL to a registered [file store](https://docs.substrate.run/reference/external-files). If unset, the image data will be returned as a base64-encoded string. */\n get store() {\n return new FutureString(this._directive.next(\"store\"));\n }\n /** returns the result for `MultiInpaintImageIn` once it's node has been run. */\n protected override async _result(): Promise<MultiInpaintImageIn> {\n return super._result() as Promise<MultiInpaintImageIn>;\n }\n}\n/** MultiInpaintImageOut */\nexport class MultiInpaintImageOut extends FutureObject {\n /** Generated images. */\n get outputs() {\n return new MultiInpaintImageOutOutputs(this._directive.next(\"outputs\"));\n }\n /** returns the result for `MultiInpaintImageOut` once it's node has been run. */\n protected override async _result(): Promise<MultiInpaintImageOut> {\n return super._result() as Promise<MultiInpaintImageOut>;\n }\n}\n/** StableDiffusionXLInpaintIn */\nexport class StableDiffusionXLInpaintIn extends FutureObject {\n /** Original image. */\n get image_uri() {\n return new FutureString(this._directive.next(\"image_uri\"));\n }\n /** Text prompt. */\n get prompt() {\n return new FutureString(this._directive.next(\"prompt\"));\n }\n /** (Optional) Mask image that controls which pixels are edited (inpainting). If unset, the entire image is edited (image-to-image). */\n get mask_image_uri() {\n return new FutureString(this._directive.next(\"mask_image_uri\"));\n }\n /** Number of images to generate. */\n get num_images() {\n return new FutureNumber(this._directive.next(\"num_images\"));\n }\n /** (Optional) Resolution of the output image, in pixels. */\n get output_resolution() {\n return new FutureNumber(this._directive.next(\"output_resolution\"));\n }\n /** (Optional) Negative input prompt. */\n get negative_prompt() {\n return new FutureString(this._directive.next(\"negative_prompt\"));\n }\n /** (Optional) Use \"hosted\" to return an image URL hosted on Substrate. You can also provide a URL to a registered [file store](https://docs.substrate.run/reference/external-files). If unset, the image data will be returned as a base64-encoded string. */\n get store() {\n return new FutureString(this._directive.next(\"store\"));\n }\n /** (Optional) Controls the strength of the generation process. */\n get strength() {\n return new FutureNumber(this._directive.next(\"strength\"));\n }\n\n /** (Optional) Random noise seeds. Default is random seeds for each generation. */\n get seeds() {\n return new StableDiffusionXLInpaintInSeeds(this._directive.next(\"seeds\"));\n }\n /** returns the result for `StableDiffusionXLInpaintIn` once it's node has been run. */\n protected override async _result(): Promise<StableDiffusionXLInpaintIn> {\n return super._result() as Promise<StableDiffusionXLInpaintIn>;\n }\n}\n/** StableDiffusionXLInpaintOut */\nexport class StableDiffusionXLInpaintOut extends FutureObject {\n /** Generated images. */\n get outputs() {\n return new StableDiffusionXLInpaintOutOutputs(\n this._directive.next(\"outputs\"),\n );\n }\n /** returns the result for `StableDiffusionXLInpaintOut` once it's node has been run. */\n protected override async _result(): Promise<StableDiffusionXLInpaintOut> {\n return super._result() as Promise<StableDiffusionXLInpaintOut>;\n }\n}\n/** BoundingBox */\nexport class BoundingBox extends FutureObject {\n /** Top left corner x. */\n get x1() {\n return new FutureNumber(this._directive.next(\"x1\"));\n }\n /** Top left corner y. */\n get y1() {\n return new FutureNumber(this._directive.next(\"y1\"));\n }\n /** Bottom right corner x. */\n get x2() {\n return new FutureNumber(this._directive.next(\"x2\"));\n }\n /** Bottom right corner y. */\n get y2() {\n return new FutureNumber(this._directive.next(\"y2\"));\n }\n /** returns the result for `BoundingBox` once it's node has been run. */\n protected override async _result(): Promise<BoundingBox> {\n return super._result() as Promise<BoundingBox>;\n }\n}\n/** Point */\nexport class Point extends FutureObject {\n /** X position. */\n get x() {\n return new FutureNumber(this._directive.next(\"x\"));\n }\n /** Y position. */\n get y() {\n return new FutureNumber(this._directive.next(\"y\"));\n }\n /** returns the result for `Point` once it's node has been run. */\n protected override async _result(): Promise<Point> {\n return super._result() as Promise<Point>;\n }\n}\n/** EraseImageIn */\nexport class EraseImageIn extends FutureObject {\n /** Input image. */\n get image_uri() {\n return new FutureString(this._directive.next(\"image_uri\"));\n }\n /** Mask image that controls which pixels are inpainted. */\n get mask_image_uri() {\n return new FutureString(this._directive.next(\"mask_image_uri\"));\n }\n /** (Optional) Use \"hosted\" to return an image URL hosted on Substrate. You can also provide a URL to a registered [file store](https://docs.substrate.run/reference/external-files). If unset, the image data will be returned as a base64-encoded string. */\n get store() {\n return new FutureString(this._directive.next(\"store\"));\n }\n /** returns the result for `EraseImageIn` once it's node has been run. */\n protected override async _result(): Promise<EraseImageIn> {\n return super._result() as Promise<EraseImageIn>;\n }\n}\n/** EraseImageOut */\nexport class EraseImageOut extends FutureObject {\n /** Base 64-encoded JPEG image bytes, or a hosted image url if `store` is provided. */\n get image_uri() {\n return new FutureString(this._directive.next(\"image_uri\"));\n }\n /** returns the result for `EraseImageOut` once it's node has been run. */\n protected override async _result(): Promise<EraseImageOut> {\n return super._result() as Promise<EraseImageOut>;\n }\n}\n/** BigLaMaIn */\nexport class BigLaMaIn extends FutureObject {\n /** Input image. */\n get image_uri() {\n return new FutureString(this._directive.next(\"image_uri\"));\n }\n /** Mask image that controls which pixels are inpainted. */\n get mask_image_uri() {\n return new FutureString(this._directive.next(\"mask_image_uri\"));\n }\n /** (Optional) Use \"hosted\" to return an image URL hosted on Substrate. You can also provide a URL to a registered [file store](https://docs.substrate.run/reference/external-files). If unset, the image data will be returned as a base64-encoded string. */\n get store() {\n return new FutureString(this._directive.next(\"store\"));\n }\n /** returns the result for `BigLaMaIn` once it's node has been run. */\n protected override async _result(): Promise<BigLaMaIn> {\n return super._result() as Promise<BigLaMaIn>;\n }\n}\n/** BigLaMaOut */\nexport class BigLaMaOut extends FutureObject {\n /** Base 64-encoded JPEG image bytes, or a hosted image url if `store` is provided. */\n get image_uri() {\n return new FutureString(this._directive.next(\"image_uri\"));\n }\n /** returns the result for `BigLaMaOut` once it's node has been run. */\n protected override async _result(): Promise<BigLaMaOut> {\n return super._result() as Promise<BigLaMaOut>;\n }\n}\n/** RemoveBackgroundIn */\nexport class RemoveBackgroundIn extends FutureObject {\n /** Input image. */\n get image_uri() {\n return new FutureString(this._directive.next(\"image_uri\"));\n }\n /** (Optional) Return a mask image instead of the original content. */\n get return_mask() {\n return new FutureBoolean(this._directive.next(\"return_mask\"));\n }\n /** (Optional) Invert the mask image. Only takes effect if `return_mask` is true. */\n get invert_mask() {\n return new FutureBoolean(this._directive.next(\"invert_mask\"));\n }\n /** (Optional) Hex value background color. Transparent if unset. */\n get background_color() {\n return new FutureString(this._directive.next(\"background_color\"));\n }\n /** (Optional) Use \"hosted\" to return an image URL hosted on Substrate. You can also provide a URL to a registered [file store](https://docs.substrate.run/reference/external-files). If unset, the image data will be returned as a base64-encoded string. */\n get store() {\n return new FutureString(this._directive.next(\"store\"));\n }\n /** returns the result for `RemoveBackgroundIn` once it's node has been run. */\n protected override async _result(): Promise<RemoveBackgroundIn> {\n return super._result() as Promise<RemoveBackgroundIn>;\n }\n}\n/** RemoveBackgroundOut */\nexport class RemoveBackgroundOut extends FutureObject {\n /** Base 64-encoded JPEG image bytes, or a hosted image url if `store` is provided. */\n get image_uri() {\n return new FutureString(this._directive.next(\"image_uri\"));\n }\n /** returns the result for `RemoveBackgroundOut` once it's node has been run. */\n protected override async _result(): Promise<RemoveBackgroundOut> {\n return super._result() as Promise<RemoveBackgroundOut>;\n }\n}\n/** DISISNetIn */\nexport class DISISNetIn extends FutureObject {\n /** Input image. */\n get image_uri() {\n return new FutureString(this._directive.next(\"image_uri\"));\n }\n /** (Optional) Use \"hosted\" to return an image URL hosted on Substrate. You can also provide a URL to a registered [file store](https://docs.substrate.run/reference/external-files). If unset, the image data will be returned as a base64-encoded string. */\n get store() {\n return new FutureString(this._directive.next(\"store\"));\n }\n /** returns the result for `DISISNetIn` once it's node has been run. */\n protected override async _result(): Promise<DISISNetIn> {\n return super._result() as Promise<DISISNetIn>;\n }\n}\n/** DISISNetOut */\nexport class DISISNetOut extends FutureObject {\n /** Base 64-encoded JPEG image bytes, or a hosted image url if `store` is provided. */\n get image_uri() {\n return new FutureString(this._directive.next(\"image_uri\"));\n }\n /** returns the result for `DISISNetOut` once it's node has been run. */\n protected override async _result(): Promise<DISISNetOut> {\n return super._result() as Promise<DISISNetOut>;\n }\n}\n/** UpscaleImageIn */\nexport class UpscaleImageIn extends FutureObject {\n /** (Optional) Prompt to guide model on the content of image to upscale. */\n get prompt() {\n return new FutureString(this._directive.next(\"prompt\"));\n }\n /** Input image. */\n get image_uri() {\n return new FutureString(this._directive.next(\"image_uri\"));\n }\n /** (Optional) Resolution of the output image, in pixels. */\n get output_resolution() {\n return new FutureNumber(this._directive.next(\"output_resolution\"));\n }\n /** (Optional) Use \"hosted\" to return an image URL hosted on Substrate. You can also provide a URL to a registered [file store](https://docs.substrate.run/reference/external-files). If unset, the image data will be returned as a base64-encoded string. */\n get store() {\n return new FutureString(this._directive.next(\"store\"));\n }\n /** returns the result for `UpscaleImageIn` once it's node has been run. */\n protected override async _result(): Promise<UpscaleImageIn> {\n return super._result() as Promise<UpscaleImageIn>;\n }\n}\n/** UpscaleImageOut */\nexport class UpscaleImageOut extends FutureObject {\n /** Base 64-encoded JPEG image bytes, or a hosted image url if `store` is provided. */\n get image_uri() {\n return new FutureString(this._directive.next(\"image_uri\"));\n }\n /** returns the result for `UpscaleImageOut` once it's node has been run. */\n protected override async _result(): Promise<UpscaleImageOut> {\n return super._result() as Promise<UpscaleImageOut>;\n }\n}\n/** SegmentUnderPointIn */\nexport class SegmentUnderPointIn extends FutureObject {\n /** Input image. */\n get image_uri() {\n return new FutureString(this._directive.next(\"image_uri\"));\n }\n /** Point prompt. */\n get point() {\n return new Point(this._directive.next(\"point\"));\n }\n /** (Optional) Use \"hosted\" to return an image URL hosted on Substrate. You can also provide a URL to a registered [file store](https://docs.substrate.run/reference/external-files). If unset, the image data will be returned as a base64-encoded string. */\n get store() {\n return new FutureString(this._directive.next(\"store\"));\n }\n /** returns the result for `SegmentUnderPointIn` once it's node has been run. */\n protected override async _result(): Promise<SegmentUnderPointIn> {\n return super._result() as Promise<SegmentUnderPointIn>;\n }\n}\n/** SegmentUnderPointOut */\nexport class SegmentUnderPointOut extends FutureObject {\n /** Detected segments in 'mask image' format. Base 64-encoded JPEG image bytes, or a hosted image url if `store` is provided. */\n get mask_image_uri() {\n return new FutureString(this._directive.next(\"mask_image_uri\"));\n }\n /** returns the result for `SegmentUnderPointOut` once it's node has been run. */\n protected override async _result(): Promise<SegmentUnderPointOut> {\n return super._result() as Promise<SegmentUnderPointOut>;\n }\n}\n/** SegmentAnythingIn */\nexport class SegmentAnythingIn extends FutureObject {\n /** Input image. */\n get image_uri() {\n return new FutureString(this._directive.next(\"image_uri\"));\n }\n\n /** (Optional) Point prompts, to detect a segment under the point. One of `point_prompts` or `box_prompts` must be set. */\n get point_prompts() {\n return new SegmentAnythingInPointPrompts(\n this._directive.next(\"point_prompts\"),\n );\n }\n\n /** (Optional) Box prompts, to detect a segment within the bounding box. One of `point_prompts` or `box_prompts` must be set. */\n get box_prompts() {\n return new SegmentAnythingInBoxPrompts(this._directive.next(\"box_prompts\"));\n }\n /** (Optional) Use \"hosted\" to return an image URL hosted on Substrate. You can also provide a URL to a registered [file store](https://docs.substrate.run/reference/external-files). If unset, the image data will be returned as a base64-encoded string. */\n get store() {\n return new FutureString(this._directive.next(\"store\"));\n }\n /** returns the result for `SegmentAnythingIn` once it's node has been run. */\n protected override async _result(): Promise<SegmentAnythingIn> {\n return super._result() as Promise<SegmentAnythingIn>;\n }\n}\n/** SegmentAnythingOut */\nexport class SegmentAnythingOut extends FutureObject {\n /** Detected segments in 'mask image' format. Base 64-encoded JPEG image bytes, or a hosted image url if `store` is provided. */\n get mask_image_uri() {\n return new FutureString(this._directive.next(\"mask_image_uri\"));\n }\n /** returns the result for `SegmentAnythingOut` once it's node has been run. */\n protected override async _result(): Promise<SegmentAnythingOut> {\n return super._result() as Promise<SegmentAnythingOut>;\n }\n}\n/** TranscribeSpeechIn */\nexport class TranscribeSpeechIn extends FutureObject {\n /** Input audio. */\n get audio_uri() {\n return new FutureString(this._directive.next(\"audio_uri\"));\n }\n /** (Optional) Prompt to guide model on the content and context of input audio. */\n get prompt() {\n return new FutureString(this._directive.next(\"prompt\"));\n }\n /** (Optional) Language of input audio in [ISO-639-1](https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes) format. */\n get language() {\n return new FutureString(this._directive.next(\"language\"));\n }\n /** (Optional) Segment the text into sentences with approximate timestamps. */\n get segment() {\n return new FutureBoolean(this._directive.next(\"segment\"));\n }\n /** (Optional) Align transcription to produce more accurate sentence-level timestamps and word-level timestamps. An array of word segments will be included in each sentence segment. */\n get align() {\n return new FutureBoolean(this._directive.next(\"align\"));\n }\n /** (Optional) Identify speakers for each segment. Speaker IDs will be included in each segment. */\n get diarize() {\n return new FutureBoolean(this._directive.next(\"diarize\"));\n }\n /** (Optional) Suggest automatic chapter markers. */\n get suggest_chapters() {\n return new FutureBoolean(this._directive.next(\"suggest_chapters\"));\n }\n /** returns the result for `TranscribeSpeechIn` once it's node has been run. */\n protected override async _result(): Promise<TranscribeSpeechIn> {\n return super._result() as Promise<TranscribeSpeechIn>;\n }\n}\n/** TranscribedWord */\nexport class TranscribedWord extends FutureObject {\n /** Text of word. */\n get word() {\n return new FutureString(this._directive.next(\"word\"));\n }\n /** (Optional) Start time of word, in seconds. */\n get start() {\n return new FutureNumber(this._directive.next(\"start\"));\n }\n /** (Optional) End time of word, in seconds. */\n get end() {\n return new FutureNumber(this._directive.next(\"end\"));\n }\n /** (Optional) ID of speaker, if `diarize` is enabled. */\n get speaker() {\n return new FutureString(this._directive.next(\"speaker\"));\n }\n /** returns the result for `TranscribedWord` once it's node has been run. */\n protected override async _result(): Promise<TranscribedWord> {\n return super._result() as Promise<TranscribedWord>;\n }\n}\n/** TranscribedSegment */\nexport class TranscribedSegment extends FutureObject {\n /** Text of segment. */\n get text() {\n return new FutureString(this._directive.next(\"text\"));\n }\n /** Start time of segment, in seconds. */\n get start() {\n return new FutureNumber(this._directive.next(\"start\"));\n }\n /** End time of segment, in seconds. */\n get end() {\n return new FutureNumber(this._directive.next(\"end\"));\n }\n /** (Optional) ID of speaker, if `diarize` is enabled. */\n get speaker() {\n return new FutureString(this._directive.next(\"speaker\"));\n }\n\n /** (Optional) Aligned words, if `align` is enabled. */\n get words() {\n return new TranscribedSegmentWords(this._directive.next(\"words\"));\n }\n /** returns the result for `TranscribedSegment` once it's node has been run. */\n protected override async _result(): Promise<TranscribedSegment> {\n return super._result() as Promise<TranscribedSegment>;\n }\n}\n/** ChapterMarker */\nexport class ChapterMarker extends FutureObject {\n /** Chapter title. */\n get title() {\n return new FutureString(this._directive.next(\"title\"));\n }\n /** Start time of chapter, in seconds. */\n get start() {\n return new FutureNumber(this._directive.next(\"start\"));\n }\n /** returns the result for `ChapterMarker` once it's node has been run. */\n protected override async _result(): Promise<ChapterMarker> {\n return super._result() as Promise<ChapterMarker>;\n }\n}\n/** TranscribeSpeechOut */\nexport class TranscribeSpeechOut extends FutureObject {\n /** Transcribed text. */\n get text() {\n return new FutureString(this._directive.next(\"text\"));\n }\n\n /** (Optional) Transcribed segments, if `segment` is enabled. */\n get segments() {\n return new TranscribeSpeechOutSegments(this._directive.next(\"segments\"));\n }\n\n /** (Optional) Chapter markers, if `suggest_chapters` is enabled. */\n get chapters() {\n return new TranscribeSpeechOutChapters(this._directive.next(\"chapters\"));\n }\n /** returns the result for `TranscribeSpeechOut` once it's node has been run. */\n protected override async _result(): Promise<TranscribeSpeechOut> {\n return super._result() as Promise<TranscribeSpeechOut>;\n }\n}\n/** GenerateSpeechIn */\nexport class GenerateSpeechIn extends FutureObject {\n /** Input text. */\n get text() {\n return new FutureString(this._directive.next(\"text\"));\n }\n /** (Optional) Use \"hosted\" to return an audio URL hosted on Substrate. You can also provide a URL to a registered [file store](https://docs.substrate.run/reference/external-files). If unset, the audio data will be returned as a base64-encoded string. */\n get store() {\n return new FutureString(this._directive.next(\"store\"));\n }\n /** returns the result for `GenerateSpeechIn` once it's node has been run. */\n protected override async _result(): Promise<GenerateSpeechIn> {\n return super._result() as Promise<GenerateSpeechIn>;\n }\n}\n/** GenerateSpeechOut */\nexport class GenerateSpeechOut extends FutureObject {\n /** Base 64-encoded WAV audio bytes, or a hosted audio url if `store` is provided. */\n get audio_uri() {\n return new FutureString(this._directive.next(\"audio_uri\"));\n }\n /** returns the result for `GenerateSpeechOut` once it's node has been run. */\n protected override async _result(): Promise<GenerateSpeechOut> {\n return super._result() as Promise<GenerateSpeechOut>;\n }\n}\n/** XTTSV2In */\nexport class XTTSV2In extends FutureObject {\n /** Input text. */\n get text() {\n return new FutureString(this._directive.next(\"text\"));\n }\n /** (Optional) Reference audio used to synthesize the speaker. If unset, a default speaker voice will be used. */\n get audio_uri() {\n return new FutureString(this._directive.next(\"audio_uri\"));\n }\n /** (Optional) Language of input text. Supported languages: `en, de, fr, es, it, pt, pl, zh, ar, cs, ru, nl, tr, hu, ko`. */\n get language() {\n return new FutureString(this._directive.next(\"language\"));\n }\n /** (Optional) Use \"hosted\" to return an audio URL hosted on Substrate. You can also provide a URL to a registered [file store](https://docs.substrate.run/reference/external-files). If unset, the audio data will be returned as a base64-encoded string. */\n get store() {\n return new FutureString(this._directive.next(\"store\"));\n }\n /** returns the result for `XTTSV2In` once it's node has been run. */\n protected override async _result(): Promise<XTTSV2In> {\n return super._result() as Promise<XTTSV2In>;\n }\n}\n/** XTTSV2Out */\nexport class XTTSV2Out extends FutureObject {\n /** Base 64-encoded WAV audio bytes, or a hosted audio url if `store` is provided. */\n get audio_uri() {\n return new FutureString(this._directive.next(\"audio_uri\"));\n }\n /** returns the result for `XTTSV2Out` once it's node has been run. */\n protected override async _result(): Promise<XTTSV2Out> {\n return super._result() as Promise<XTTSV2Out>;\n }\n}\n/** Embedding */\nexport class Embedding extends FutureObject {\n /** Embedding vector. */\n get vector() {\n return new EmbeddingVector(this._directive.next(\"vector\"));\n }\n /** (Optional) Vector store document ID. */\n get doc_id() {\n return new FutureString(this._directive.next(\"doc_id\"));\n }\n /** (Optional) Vector store document metadata. */\n get metadata() {\n return new FutureAnyObject(this._directive.next(\"metadata\"));\n }\n /** returns the result for `Embedding` once it's node has been run. */\n protected override async _result(): Promise<Embedding> {\n return super._result() as Promise<Embedding>;\n }\n}\n/** EmbedTextIn */\nexport class EmbedTextIn extends FutureObject {\n /** Text to embed. */\n get text() {\n return new FutureString(this._directive.next(\"text\"));\n }\n /** (Optional) Vector store name. */\n get collection_name() {\n return new FutureString(this._directive.next(\"collection_name\"));\n }\n /** (Optional) Metadata that can be used to query the vector store. Ignored if `collection_name` is unset. */\n get metadata() {\n return new FutureAnyObject(this._directive.next(\"metadata\"));\n }\n\n /** (Optional) Choose keys from `metadata` to embed with text. */\n get embedded_metadata_keys() {\n return new EmbedTextInEmbeddedMetadataKeys(\n this._directive.next(\"embedded_metadata_keys\"),\n );\n }\n /** (Optional) Vector store document ID. Ignored if `store` is unset. */\n get doc_id() {\n return new FutureString(this._directive.next(\"doc_id\"));\n }\n /** (Optional) Selected embedding model. */\n get model() {\n return new FutureString(this._directive.next(\"model\"));\n }\n /** returns the result for `EmbedTextIn` once it's node has been run. */\n protected override async _result(): Promise<EmbedTextIn> {\n return super._result() as Promise<EmbedTextIn>;\n }\n}\n/** EmbedTextOut */\nexport class EmbedTextOut extends FutureObject {\n /** Generated embedding. */\n get embedding() {\n return new Embedding(this._directive.next(\"embedding\"));\n }\n /** returns the result for `EmbedTextOut` once it's node has been run. */\n protected override async _result(): Promise<EmbedTextOut> {\n return super._result() as Promise<EmbedTextOut>;\n }\n}\n/** EmbedTextItem */\nexport class EmbedTextItem extends FutureObject {\n /** Text to embed. */\n get text() {\n return new FutureString(this._directive.next(\"text\"));\n }\n /** (Optional) Metadata that can be used to query the vector store. Ignored if `collection_name` is unset. */\n get metadata() {\n return new FutureAnyObject(this._directive.next(\"metadata\"));\n }\n /** (Optional) Vector store document ID. Ignored if `collection_name` is unset. */\n get doc_id() {\n return new FutureString(this._directive.next(\"doc_id\"));\n }\n /** returns the result for `EmbedTextItem` once it's node has been run. */\n protected override async _result(): Promise<EmbedTextItem> {\n return super._result() as Promise<EmbedTextItem>;\n }\n}\n/** MultiEmbedTextIn */\nexport class MultiEmbedTextIn extends FutureObject {\n /** Items to embed. */\n get items() {\n return new MultiEmbedTextInItems(this._directive.next(\"items\"));\n }\n /** (Optional) Vector store name. */\n get collection_name() {\n return new FutureString(this._directive.next(\"collection_name\"));\n }\n\n /** (Optional) Choose keys from `metadata` to embed with text. */\n get embedded_metadata_keys() {\n return new MultiEmbedTextInEmbeddedMetadataKeys(\n this._directive.next(\"embedded_metadata_keys\"),\n );\n }\n /** (Optional) Selected embedding model. */\n get model() {\n return new FutureString(this._directive.next(\"model\"));\n }\n /** returns the result for `MultiEmbedTextIn` once it's node has been run. */\n protected override async _result(): Promise<MultiEmbedTextIn> {\n return super._result() as Promise<MultiEmbedTextIn>;\n }\n}\n/** MultiEmbedTextOut */\nexport class MultiEmbedTextOut extends FutureObject {\n /** Generated embeddings. */\n get embeddings() {\n return new MultiEmbedTextOutEmbeddings(this._directive.next(\"embeddings\"));\n }\n /** returns the result for `MultiEmbedTextOut` once it's node has been run. */\n protected override async _result(): Promise<MultiEmbedTextOut> {\n return super._result() as Promise<MultiEmbedTextOut>;\n }\n}\n/** JinaV2In */\nexport class JinaV2In extends FutureObject {\n /** Items to embed. */\n get items() {\n return new JinaV2InItems(this._directive.next(\"items\"));\n }\n /** (Optional) Vector store name. */\n get collection_name() {\n return new FutureString(this._directive.next(\"collection_name\"));\n }\n\n /** (Optional) Choose keys from `metadata` to embed with text. */\n get embedded_metadata_keys() {\n return new JinaV2InEmbeddedMetadataKeys(\n this._directive.next(\"embedded_metadata_keys\"),\n );\n }\n /** returns the result for `JinaV2In` once it's node has been run. */\n protected override async _result(): Promise<JinaV2In> {\n return super._result() as Promise<JinaV2In>;\n }\n}\n/** JinaV2Out */\nexport class JinaV2Out extends FutureObject {\n /** Generated embeddings. */\n get embeddings() {\n return new JinaV2OutEmbeddings(this._directive.next(\"embeddings\"));\n }\n /** returns the result for `JinaV2Out` once it's node has been run. */\n protected override async _result(): Promise<JinaV2Out> {\n return super._result() as Promise<JinaV2Out>;\n }\n}\n/** EmbedImageIn */\nexport class EmbedImageIn extends FutureObject {\n /** Image to embed. */\n get image_uri() {\n return new FutureString(this._directive.next(\"image_uri\"));\n }\n /** (Optional) Vector store name. */\n get collection_name() {\n return new FutureString(this._directive.next(\"collection_name\"));\n }\n /** (Optional) Vector store document ID. Ignored if `collection_name` is unset. */\n get doc_id() {\n return new FutureString(this._directive.next(\"doc_id\"));\n }\n /** (Optional) Selected embedding model. */\n get model() {\n return new FutureString(this._directive.next(\"model\"));\n }\n /** returns the result for `EmbedImageIn` once it's node has been run. */\n protected override async _result(): Promise<EmbedImageIn> {\n return super._result() as Promise<EmbedImageIn>;\n }\n}\n/** EmbedImageOut */\nexport class EmbedImageOut extends FutureObject {\n /** Generated embedding. */\n get embedding() {\n return new Embedding(this._directive.next(\"embedding\"));\n }\n /** returns the result for `EmbedImageOut` once it's node has been run. */\n protected override async _result(): Promise<EmbedImageOut> {\n return super._result() as Promise<EmbedImageOut>;\n }\n}\n/** EmbedImageItem */\nexport class EmbedImageItem extends FutureObject {\n /** Image to embed. */\n get image_uri() {\n return new FutureString(this._directive.next(\"image_uri\"));\n }\n /** (Optional) Vector store document ID. Ignored if `collection_name` is unset. */\n get doc_id() {\n return new FutureString(this._directive.next(\"doc_id\"));\n }\n /** returns the result for `EmbedImageItem` once it's node has been run. */\n protected override async _result(): Promise<EmbedImageItem> {\n return super._result() as Promise<EmbedImageItem>;\n }\n}\n/** EmbedTextOrImageItem */\nexport class EmbedTextOrImageItem extends FutureObject {\n /** Image to embed. */\n get image_uri() {\n return new FutureString(this._directive.next(\"image_uri\"));\n }\n /** Text to embed. */\n get text() {\n return new FutureString(this._directive.next(\"text\"));\n }\n /** Metadata that can be used to query the vector store. Ignored if `collection_name` is unset. */\n get metadata() {\n return new FutureAnyObject(this._directive.next(\"metadata\"));\n }\n /** Vector store document ID. Ignored if `collection_name` is unset. */\n get doc_id() {\n return new FutureString(this._directive.next(\"doc_id\"));\n }\n /** returns the result for `EmbedTextOrImageItem` once it's node has been run. */\n protected override async _result(): Promise<EmbedTextOrImageItem> {\n return super._result() as Promise<EmbedTextOrImageItem>;\n }\n}\n/** MultiEmbedImageIn */\nexport class MultiEmbedImageIn extends FutureObject {\n /** Items to embed. */\n get items() {\n return new MultiEmbedImageInItems(this._directive.next(\"items\"));\n }\n /** (Optional) Vector store name. */\n get collection_name() {\n return new FutureString(this._directive.next(\"collection_name\"));\n }\n /** (Optional) Selected embedding model. */\n get model() {\n return new FutureString(this._directive.next(\"model\"));\n }\n /** returns the result for `MultiEmbedImageIn` once it's node has been run. */\n protected override async _result(): Promise<MultiEmbedImageIn> {\n return super._result() as Promise<MultiEmbedImageIn>;\n }\n}\n/** MultiEmbedImageOut */\nexport class MultiEmbedImageOut extends FutureObject {\n /** Generated embeddings. */\n get embeddings() {\n return new MultiEmbedImageOutEmbeddings(this._directive.next(\"embeddings\"));\n }\n /** returns the result for `MultiEmbedImageOut` once it's node has been run. */\n protected override async _result(): Promise<MultiEmbedImageOut> {\n return super._result() as Promise<MultiEmbedImageOut>;\n }\n}\n/** CLIPIn */\nexport class CLIPIn extends FutureObject {\n /** Items to embed. */\n get items() {\n return new CLIPInItems(this._directive.next(\"items\"));\n }\n /** (Optional) Vector store name. */\n get collection_name() {\n return new FutureString(this._directive.next(\"collection_name\"));\n }\n\n /** (Optional) Choose keys from `metadata` to embed with text. Only applies to text items. */\n get embedded_metadata_keys() {\n return new CLIPInEmbeddedMetadataKeys(\n this._directive.next(\"embedded_metadata_keys\"),\n );\n }\n /** returns the result for `CLIPIn` once it's node has been run. */\n protected override async _result(): Promise<CLIPIn> {\n return super._result() as Promise<CLIPIn>;\n }\n}\n/** CLIPOut */\nexport class CLIPOut extends FutureObject {\n /** Generated embeddings. */\n get embeddings() {\n return new CLIPOutEmbeddings(this._directive.next(\"embeddings\"));\n }\n /** returns the result for `CLIPOut` once it's node has been run. */\n protected override async _result(): Promise<CLIPOut> {\n return super._result() as Promise<CLIPOut>;\n }\n}\n/** FindOrCreateVectorStoreIn */\nexport class FindOrCreateVectorStoreIn extends FutureObject {\n /** Vector store name. */\n get collection_name() {\n return new FutureString(this._directive.next(\"collection_name\"));\n }\n /** Selected embedding model. */\n get model() {\n return new FutureString(this._directive.next(\"model\"));\n }\n /** returns the result for `FindOrCreateVectorStoreIn` once it's node has been run. */\n protected override async _result(): Promise<FindOrCreateVectorStoreIn> {\n return super._result() as Promise<FindOrCreateVectorStoreIn>;\n }\n}\n/** FindOrCreateVectorStoreOut */\nexport class FindOrCreateVectorStoreOut extends FutureObject {\n /** Vector store name. */\n get collection_name() {\n return new FutureString(this._directive.next(\"collection_name\"));\n }\n /** Selected embedding model. */\n get model() {\n return new FutureString(this._directive.next(\"model\"));\n }\n /** (Optional) Number of leaves in the vector store. */\n get num_leaves() {\n return new FutureNumber(this._directive.next(\"num_leaves\"));\n }\n /** returns the result for `FindOrCreateVectorStoreOut` once it's node has been run. */\n protected override async _result(): Promise<FindOrCreateVectorStoreOut> {\n return super._result() as Promise<FindOrCreateVectorStoreOut>;\n }\n}\n/** ListVectorStoresIn */\nexport class ListVectorStoresIn extends FutureObject {\n /** returns the result for `ListVectorStoresIn` once it's node has been run. */\n protected override async _result(): Promise<ListVectorStoresIn> {\n return super._result() as Promise<ListVectorStoresIn>;\n }\n}\n/** ListVectorStoresOut */\nexport class ListVectorStoresOut extends FutureObject {\n /** List of vector stores. */\n get items() {\n return new ListVectorStoresOutItems(this._directive.next(\"items\"));\n }\n /** returns the result for `ListVectorStoresOut` once it's node has been run. */\n protected override async _result(): Promise<ListVectorStoresOut> {\n return super._result() as Promise<ListVectorStoresOut>;\n }\n}\n/** DeleteVectorStoreIn */\nexport class DeleteVectorStoreIn extends FutureObject {\n /** Vector store name. */\n get collection_name() {\n return new FutureString(this._directive.next(\"collection_name\"));\n }\n /** Selected embedding model. */\n get model() {\n return new FutureString(this._directive.next(\"model\"));\n }\n /** returns the result for `DeleteVectorStoreIn` once it's node has been run. */\n protected override async _result(): Promise<DeleteVectorStoreIn> {\n return super._result() as Promise<DeleteVectorStoreIn>;\n }\n}\n/** DeleteVectorStoreOut */\nexport class DeleteVectorStoreOut extends FutureObject {\n /** Vector store name. */\n get collection_name() {\n return new FutureString(this._directive.next(\"collection_name\"));\n }\n /** Selected embedding model. */\n get model() {\n return new FutureString(this._directive.next(\"model\"));\n }\n /** returns the result for `DeleteVectorStoreOut` once it's node has been run. */\n protected override async _result(): Promise<DeleteVectorStoreOut> {\n return super._result() as Promise<DeleteVectorStoreOut>;\n }\n}\n/** Canonical representation of document with embedding vector. */\nexport class Vector extends FutureObject {\n /** Document ID. */\n get id() {\n return new FutureString(this._directive.next(\"id\"));\n }\n\n /** Embedding vector. */\n get vector() {\n return new VectorVector(this._directive.next(\"vector\"));\n }\n /** Document metadata. */\n get metadata() {\n return new FutureAnyObject(this._directive.next(\"metadata\"));\n }\n /** returns the result for `Vector` once it's node has been run. */\n protected override async _result(): Promise<Vector> {\n return super._result() as Promise<Vector>;\n }\n}\n/** FetchVectorsIn */\nexport class FetchVectorsIn extends FutureObject {\n /** Vector store name. */\n get collection_name() {\n return new FutureString(this._directive.next(\"collection_name\"));\n }\n /** Selected embedding model. */\n get model() {\n return new FutureString(this._directive.next(\"model\"));\n }\n\n /** Document IDs to retrieve. */\n get ids() {\n return new FetchVectorsInIds(this._directive.next(\"ids\"));\n }\n /** returns the result for `FetchVectorsIn` once it's node has been run. */\n protected override async _result(): Promise<FetchVectorsIn> {\n return super._result() as Promise<FetchVectorsIn>;\n }\n}\n/** FetchVectorsOut */\nexport class FetchVectorsOut extends FutureObject {\n /** Retrieved vectors. */\n get vectors() {\n return new FetchVectorsOutVectors(this._directive.next(\"vectors\"));\n }\n /** returns the result for `FetchVectorsOut` once it's node has been run. */\n protected override async _result(): Promise<FetchVectorsOut> {\n return super._result() as Promise<FetchVectorsOut>;\n }\n}\n/** UpdateVectorsOut */\nexport class UpdateVectorsOut extends FutureObject {\n /** Number of vectors modified. */\n get count() {\n return new FutureNumber(this._directive.next(\"count\"));\n }\n /** returns the result for `UpdateVectorsOut` once it's node has been run. */\n protected override async _result(): Promise<UpdateVectorsOut> {\n return super._result() as Promise<UpdateVectorsOut>;\n }\n}\n/** DeleteVectorsOut */\nexport class DeleteVectorsOut extends FutureObject {\n /** Number of vectors modified. */\n get count() {\n return new FutureNumber(this._directive.next(\"count\"));\n }\n /** returns the result for `DeleteVectorsOut` once it's node has been run. */\n protected override async _result(): Promise<DeleteVectorsOut> {\n return super._result() as Promise<DeleteVectorsOut>;\n }\n}\n/** UpdateVectorParams */\nexport class UpdateVectorParams extends FutureObject {\n /** Document ID. */\n get id() {\n return new FutureString(this._directive.next(\"id\"));\n }\n\n /** (Optional) Embedding vector. */\n get vector() {\n return new UpdateVectorParamsVector(this._directive.next(\"vector\"));\n }\n /** (Optional) Document metadata. */\n get metadata() {\n return new FutureAnyObject(this._directive.next(\"metadata\"));\n }\n /** returns the result for `UpdateVectorParams` once it's node has been run. */\n protected override async _result(): Promise<UpdateVectorParams> {\n return super._result() as Promise<UpdateVectorParams>;\n }\n}\n/** UpdateVectorsIn */\nexport class UpdateVectorsIn extends FutureObject {\n /** Vector store name. */\n get collection_name() {\n return new FutureString(this._directive.next(\"collection_name\"));\n }\n /** Selected embedding model. */\n get model() {\n return new FutureString(this._directive.next(\"model\"));\n }\n\n /** Vectors to upsert. */\n get vectors() {\n return new UpdateVectorsInVectors(this._directive.next(\"vectors\"));\n }\n /** returns the result for `UpdateVectorsIn` once it's node has been run. */\n protected override async _result(): Promise<UpdateVectorsIn> {\n return super._result() as Promise<UpdateVectorsIn>;\n }\n}\n/** DeleteVectorsIn */\nexport class DeleteVectorsIn extends FutureObject {\n /** Vector store name. */\n get collection_name() {\n return new FutureString(this._directive.next(\"collection_name\"));\n }\n /** Selected embedding model. */\n get model() {\n return new FutureString(this._directive.next(\"model\"));\n }\n\n /** Document IDs to delete. */\n get ids() {\n return new DeleteVectorsInIds(this._directive.next(\"ids\"));\n }\n /** returns the result for `DeleteVectorsIn` once it's node has been run. */\n protected override async _result(): Promise<DeleteVectorsIn> {\n return super._result() as Promise<DeleteVectorsIn>;\n }\n}\n/** QueryVectorStoreIn */\nexport class QueryVectorStoreIn extends FutureObject {\n /** Vector store to query against. */\n get collection_name() {\n return new FutureString(this._directive.next(\"collection_name\"));\n }\n /** Selected embedding model. */\n get model() {\n return new FutureString(this._directive.next(\"model\"));\n }\n\n /** (Optional) Texts to embed and use for the query. */\n get query_strings() {\n return new QueryVectorStoreInQueryStrings(\n this._directive.next(\"query_strings\"),\n );\n }\n\n /** (Optional) Image URIs to embed and use for the query. */\n get query_image_uris() {\n return new QueryVectorStoreInQueryImageUris(\n this._directive.next(\"query_image_uris\"),\n );\n }\n\n /** (Optional) Vectors to use for the query. */\n get query_vectors() {\n return new QueryVectorStoreInQueryVectors(\n this._directive.next(\"query_vectors\"),\n );\n }\n\n /** (Optional) Document IDs to use for the query. */\n get query_ids() {\n return new QueryVectorStoreInQueryIds(this._directive.next(\"query_ids\"));\n }\n /** (Optional) Number of results to return. */\n get top_k() {\n return new FutureNumber(this._directive.next(\"top_k\"));\n }\n /** (Optional) The size of the dynamic candidate list for searching the index graph. */\n get ef_search() {\n return new FutureNumber(this._directive.next(\"ef_search\"));\n }\n /** (Optional) The number of leaves in the index tree to search. */\n get num_leaves_to_search() {\n return new FutureNumber(this._directive.next(\"num_leaves_to_search\"));\n }\n /** (Optional) Include the values of the vectors in the response. */\n get include_values() {\n return new FutureBoolean(this._directive.next(\"include_values\"));\n }\n /** (Optional) Include the metadata of the vectors in the response. */\n get include_metadata() {\n return new FutureBoolean(this._directive.next(\"include_metadata\"));\n }\n /** (Optional) Filter metadata by key-value pairs. */\n get filters() {\n return new FutureAnyObject(this._directive.next(\"filters\"));\n }\n /** returns the result for `QueryVectorStoreIn` once it's node has been run. */\n protected override async _result(): Promise<QueryVectorStoreIn> {\n return super._result() as Promise<QueryVectorStoreIn>;\n }\n}\n/** VectorStoreQueryResult */\nexport class VectorStoreQueryResult extends FutureObject {\n /** Document ID. */\n get id() {\n return new FutureString(this._directive.next(\"id\"));\n }\n /** Similarity score. */\n get distance() {\n return new FutureNumber(this._directive.next(\"distance\"));\n }\n\n /** (Optional) Embedding vector. */\n get vector() {\n return new VectorStoreQueryResultVector(this._directive.next(\"vector\"));\n }\n /** (Optional) Document metadata. */\n get metadata() {\n return new FutureAnyObject(this._directive.next(\"metadata\"));\n }\n /** returns the result for `VectorStoreQueryResult` once it's node has been run. */\n protected override async _result(): Promise<VectorStoreQueryResult> {\n return super._result() as Promise<VectorStoreQueryResult>;\n }\n}\n/** QueryVectorStoreOut */\nexport class QueryVectorStoreOut extends FutureObject {\n /** Query results. */\n get results() {\n return new QueryVectorStoreOutResults(this._directive.next(\"results\"));\n }\n /** (Optional) Vector store name. */\n get collection_name() {\n return new FutureString(this._directive.next(\"collection_name\"));\n }\n /** (Optional) Selected embedding model. */\n get model() {\n return new FutureString(this._directive.next(\"model\"));\n }\n /** returns the result for `QueryVectorStoreOut` once it's node has been run. */\n protected override async _result(): Promise<QueryVectorStoreOut> {\n return super._result() as Promise<QueryVectorStoreOut>;\n }\n}\n/** SplitDocumentIn */\nexport class SplitDocumentIn extends FutureObject {\n /** URI of the document. */\n get uri() {\n return new FutureString(this._directive.next(\"uri\"));\n }\n /** (Optional) Document ID. */\n get doc_id() {\n return new FutureString(this._directive.next(\"doc_id\"));\n }\n /** (Optional) Document metadata. */\n get metadata() {\n return new FutureAnyObject(this._directive.next(\"metadata\"));\n }\n /** (Optional) Maximum number of units per chunk. Defaults to 1024 tokens for text or 40 lines for code. */\n get chunk_size() {\n return new FutureNumber(this._directive.next(\"chunk_size\"));\n }\n /** (Optional) Number of units to overlap between chunks. Defaults to 200 tokens for text or 15 lines for code. */\n get chunk_overlap() {\n return new FutureNumber(this._directive.next(\"chunk_overlap\"));\n }\n /** returns the result for `SplitDocumentIn` once it's node has been run. */\n protected override async _result(): Promise<SplitDocumentIn> {\n return super._result() as Promise<SplitDocumentIn>;\n }\n}\n/** SplitDocumentOut */\nexport class SplitDocumentOut extends FutureObject {\n /** Document chunks */\n get items() {\n return new SplitDocumentOutItems(this._directive.next(\"items\"));\n }\n /** returns the result for `SplitDocumentOut` once it's node has been run. */\n protected override async _result(): Promise<SplitDocumentOut> {\n return super._result() as Promise<SplitDocumentOut>;\n }\n}\nexport namespace Experimental {\n /**\n * Experimental Input\n * https://www.substrate.run/nodes#Experimental\n */\n export type Input = FutureExpandAny<\n OpenAPI.components[\"schemas\"][\"ExperimentalIn\"]\n >;\n\n /**\n * Experimental Output\n * https://www.substrate.run/nodes#Experimental\n */\n export type Output = OpenAPI.components[\"schemas\"][\"ExperimentalOut\"];\n}\n\n/**\n * Experimental node.\n *\n * https://www.substrate.run/nodes#Experimental\n */\nexport class Experimental extends Node {\n /**\n * Input arguments: `name`, `args`, `timeout` (optional)\n *\n * Output fields: `output`\n *\n * https://www.substrate.run/nodes#Experimental\n */\n constructor(\n args: FutureExpandAny<OpenAPI.components[\"schemas\"][\"ExperimentalIn\"]>,\n options?: Options,\n ) {\n super(args, options);\n this.node = \"Experimental\";\n }\n\n /**\n * Retrieve this node's output from a response.\n *\n * Output fields: `output`\n *\n * https://www.substrate.run/nodes#Experimental\n */\n protected override async result(): Promise<\n OpenAPI.components[\"schemas\"][\"ExperimentalOut\"] | undefined\n > {\n return Promise.resolve(\n this._response ? this._response.get(this) : undefined,\n ) as Promise<OpenAPI.components[\"schemas\"][\"ExperimentalOut\"] | undefined>;\n }\n\n /**\n * Future reference to this node's output.\n *\n * Output fields: `output`\n *\n * https://www.substrate.run/nodes#Experimental\n */\n override get future(): ExperimentalOut {\n return new ExperimentalOut(new Trace([], this));\n }\n\n protected override output(): OpenAPI.components[\"schemas\"][\"ExperimentalOut\"] {\n return super.output() as OpenAPI.components[\"schemas\"][\"ExperimentalOut\"];\n }\n}\nexport namespace Box {\n /**\n * Box Input\n * https://www.substrate.run/nodes#Box\n */\n export type Input = FutureExpandAny<OpenAPI.components[\"schemas\"][\"BoxIn\"]>;\n\n /**\n * Box Output\n * https://www.substrate.run/nodes#Box\n */\n export type Output = OpenAPI.components[\"schemas\"][\"BoxOut\"];\n}\n\n/**\n * Combine multiple values into a single output.\n *\n * https://www.substrate.run/nodes#Box\n */\nexport class Box extends Node {\n /**\n * Input arguments: `value`\n *\n * Output fields: `value`\n *\n * https://www.substrate.run/nodes#Box\n */\n constructor(\n args: FutureExpandAny<OpenAPI.components[\"schemas\"][\"BoxIn\"]>,\n options?: Options,\n ) {\n super(args, options);\n this.node = \"Box\";\n }\n\n /**\n * Retrieve this node's output from a response.\n *\n * Output fields: `value`\n *\n * https://www.substrate.run/nodes#Box\n */\n protected override async result(): Promise<\n OpenAPI.components[\"schemas\"][\"BoxOut\"] | undefined\n > {\n return Promise.resolve(\n this._response ? this._response.get(this) : undefined,\n ) as Promise<OpenAPI.components[\"schemas\"][\"BoxOut\"] | undefined>;\n }\n\n /**\n * Future reference to this node's output.\n *\n * Output fields: `value`\n *\n * https://www.substrate.run/nodes#Box\n */\n override get future(): BoxOut {\n return new BoxOut(new Trace([], this));\n }\n\n protected override output(): OpenAPI.components[\"schemas\"][\"BoxOut\"] {\n return super.output() as OpenAPI.components[\"schemas\"][\"BoxOut\"];\n }\n}\nexport namespace If {\n /**\n * If Input\n * https://www.substrate.run/nodes#If\n */\n export type Input = FutureExpandAny<OpenAPI.components[\"schemas\"][\"IfIn\"]>;\n\n /**\n * If Output\n * https://www.substrate.run/nodes#If\n */\n export type Output = OpenAPI.components[\"schemas\"][\"IfOut\"];\n}\n\n/**\n * Return one of two options based on a condition.\n *\n * https://www.substrate.run/nodes#If\n */\nexport class If extends Node {\n /**\n * Input arguments: `condition`, `value_if_true`, `value_if_false` (optional)\n *\n * Output fields: `result`\n *\n * https://www.substrate.run/nodes#If\n */\n constructor(\n args: FutureExpandAny<OpenAPI.components[\"schemas\"][\"IfIn\"]>,\n options?: Options,\n ) {\n super(args, options);\n this.node = \"LogicalIf\";\n }\n\n /**\n * Retrieve this node's output from a response.\n *\n * Output fields: `result`\n *\n * https://www.substrate.run/nodes#If\n */\n protected override async result(): Promise<\n OpenAPI.components[\"schemas\"][\"IfOut\"] | undefined\n > {\n return Promise.resolve(\n this._response ? this._response.get(this) : undefined,\n ) as Promise<OpenAPI.components[\"schemas\"][\"IfOut\"] | undefined>;\n }\n\n /**\n * Future reference to this node's output.\n *\n * Output fields: `result`\n *\n * https://www.substrate.run/nodes#If\n */\n override get future(): IfOut {\n return new IfOut(new Trace([], this));\n }\n\n protected override output(): OpenAPI.components[\"schemas\"][\"IfOut\"] {\n return super.output() as OpenAPI.components[\"schemas\"][\"IfOut\"];\n }\n}\nexport namespace ComputeText {\n /**\n * ComputeText Input\n * https://www.substrate.run/nodes#ComputeText\n */\n export type Input = FutureExpandAny<\n OpenAPI.components[\"schemas\"][\"ComputeTextIn\"]\n >;\n\n /**\n * ComputeText Output\n * https://www.substrate.run/nodes#ComputeText\n */\n export type Output = OpenAPI.components[\"schemas\"][\"ComputeTextOut\"];\n}\n\n/**\n * Compute text using a language model.\n *\n * https://www.substrate.run/nodes#ComputeText\n */\nexport class ComputeText extends Node {\n /**\n * Input arguments: `prompt`, `image_uris` (optional), `temperature` (optional), `max_tokens` (optional), `model` (optional)\n *\n * Output fields: `text`\n *\n * https://www.substrate.run/nodes#ComputeText\n */\n constructor(\n args: FutureExpandAny<OpenAPI.components[\"schemas\"][\"ComputeTextIn\"]>,\n options?: Options,\n ) {\n super(args, options);\n this.node = \"ComputeText\";\n }\n\n /**\n * Retrieve this node's output from a response.\n *\n * Output fields: `text`\n *\n * https://www.substrate.run/nodes#ComputeText\n */\n protected override async result(): Promise<\n OpenAPI.components[\"schemas\"][\"ComputeTextOut\"] | undefined\n > {\n return Promise.resolve(\n this._response ? this._response.get(this) : undefined,\n ) as Promise<OpenAPI.components[\"schemas\"][\"ComputeTextOut\"] | undefined>;\n }\n\n /**\n * Future reference to this node's output.\n *\n * Output fields: `text`\n *\n * https://www.substrate.run/nodes#ComputeText\n */\n override get future(): ComputeTextOut {\n return new ComputeTextOut(new Trace([], this));\n }\n\n protected override output(): OpenAPI.components[\"schemas\"][\"ComputeTextOut\"] {\n return super.output() as OpenAPI.components[\"schemas\"][\"ComputeTextOut\"];\n }\n}\nexport namespace MultiComputeText {\n /**\n * MultiComputeText Input\n * https://www.substrate.run/nodes#MultiComputeText\n */\n export type Input = FutureExpandAny<\n OpenAPI.components[\"schemas\"][\"MultiComputeTextIn\"]\n >;\n\n /**\n * MultiComputeText Output\n * https://www.substrate.run/nodes#MultiComputeText\n */\n export type Output = OpenAPI.components[\"schemas\"][\"MultiComputeTextOut\"];\n}\n\n/**\n * Generate multiple text choices using a language model.\n *\n * https://www.substrate.run/nodes#MultiComputeText\n */\nexport class MultiComputeText extends Node {\n /**\n * Input arguments: `prompt`, `num_choices`, `temperature` (optional), `max_tokens` (optional), `model` (optional)\n *\n * Output fields: `choices`\n *\n * https://www.substrate.run/nodes#MultiComputeText\n */\n constructor(\n args: FutureExpandAny<OpenAPI.components[\"schemas\"][\"MultiComputeTextIn\"]>,\n options?: Options,\n ) {\n super(args, options);\n this.node = \"MultiComputeText\";\n }\n\n /**\n * Retrieve this node's output from a response.\n *\n * Output fields: `choices`\n *\n * https://www.substrate.run/nodes#MultiComputeText\n */\n protected override async result(): Promise<\n OpenAPI.components[\"schemas\"][\"MultiComputeTextOut\"] | undefined\n > {\n return Promise.resolve(\n this._response ? this._response.get(this) : undefined,\n ) as Promise<\n OpenAPI.components[\"schemas\"][\"MultiComputeTextOut\"] | undefined\n >;\n }\n\n /**\n * Future reference to this node's output.\n *\n * Output fields: `choices`\n *\n * https://www.substrate.run/nodes#MultiComputeText\n */\n override get future(): MultiComputeTextOut {\n return new MultiComputeTextOut(new Trace([], this));\n }\n\n protected override output(): OpenAPI.components[\"schemas\"][\"MultiComputeTextOut\"] {\n return super.output() as OpenAPI.components[\"schemas\"][\"MultiComputeTextOut\"];\n }\n}\nexport namespace BatchComputeText {\n /**\n * BatchComputeText Input\n * https://www.substrate.run/nodes#BatchComputeText\n */\n export type Input = FutureExpandAny<\n OpenAPI.components[\"schemas\"][\"BatchComputeTextIn\"]\n >;\n\n /**\n * BatchComputeText Output\n * https://www.substrate.run/nodes#BatchComputeText\n */\n export type Output = OpenAPI.components[\"schemas\"][\"BatchComputeTextOut\"];\n}\n\n/**\n * Compute text for multiple prompts in batch using a language model.\n *\n * https://www.substrate.run/nodes#BatchComputeText\n */\nexport class BatchComputeText extends Node {\n /**\n * Input arguments: `prompts`, `temperature` (optional), `max_tokens` (optional), `model` (optional)\n *\n * Output fields: `outputs`\n *\n * https://www.substrate.run/nodes#BatchComputeText\n */\n constructor(\n args: FutureExpandAny<OpenAPI.components[\"schemas\"][\"BatchComputeTextIn\"]>,\n options?: Options,\n ) {\n super(args, options);\n this.node = \"BatchComputeText\";\n }\n\n /**\n * Retrieve this node's output from a response.\n *\n * Output fields: `outputs`\n *\n * https://www.substrate.run/nodes#BatchComputeText\n */\n protected override async result(): Promise<\n OpenAPI.components[\"schemas\"][\"BatchComputeTextOut\"] | undefined\n > {\n return Promise.resolve(\n this._response ? this._response.get(this) : undefined,\n ) as Promise<\n OpenAPI.components[\"schemas\"][\"BatchComputeTextOut\"] | undefined\n >;\n }\n\n /**\n * Future reference to this node's output.\n *\n * Output fields: `outputs`\n *\n * https://www.substrate.run/nodes#BatchComputeText\n */\n override get future(): BatchComputeTextOut {\n return new BatchComputeTextOut(new Trace([], this));\n }\n\n protected override output(): OpenAPI.components[\"schemas\"][\"BatchComputeTextOut\"] {\n return super.output() as OpenAPI.components[\"schemas\"][\"BatchComputeTextOut\"];\n }\n}\nexport namespace BatchComputeJSON {\n /**\n * BatchComputeJSON Input\n * https://www.substrate.run/nodes#BatchComputeJSON\n */\n export type Input = FutureExpandAny<\n OpenAPI.components[\"schemas\"][\"BatchComputeJSONIn\"]\n >;\n\n /**\n * BatchComputeJSON Output\n * https://www.substrate.run/nodes#BatchComputeJSON\n */\n export type Output = OpenAPI.components[\"schemas\"][\"BatchComputeJSONOut\"];\n}\n\n/**\n * Compute JSON for multiple prompts in batch using a language model.\n *\n * https://www.substrate.run/nodes#BatchComputeJSON\n */\nexport class BatchComputeJSON extends Node {\n /**\n * Input arguments: `prompts`, `json_schema`, `temperature` (optional), `max_tokens` (optional), `model` (optional)\n *\n * Output fields: `outputs`\n *\n * https://www.substrate.run/nodes#BatchComputeJSON\n */\n constructor(\n args: FutureExpandAny<OpenAPI.components[\"schemas\"][\"BatchComputeJSONIn\"]>,\n options?: Options,\n ) {\n super(args, options);\n this.node = \"BatchComputeJSON\";\n }\n\n /**\n * Retrieve this node's output from a response.\n *\n * Output fields: `outputs`\n *\n * https://www.substrate.run/nodes#BatchComputeJSON\n */\n protected override async result(): Promise<\n OpenAPI.components[\"schemas\"][\"BatchComputeJSONOut\"] | undefined\n > {\n return Promise.resolve(\n this._response ? this._response.get(this) : undefined,\n ) as Promise<\n OpenAPI.components[\"schemas\"][\"BatchComputeJSONOut\"] | undefined\n >;\n }\n\n /**\n * Future reference to this node's output.\n *\n * Output fields: `outputs`\n *\n * https://www.substrate.run/nodes#BatchComputeJSON\n */\n override get future(): BatchComputeJSONOut {\n return new BatchComputeJSONOut(new Trace([], this));\n }\n\n protected override output(): OpenAPI.components[\"schemas\"][\"BatchComputeJSONOut\"] {\n return super.output() as OpenAPI.components[\"schemas\"][\"BatchComputeJSONOut\"];\n }\n}\nexport namespace ComputeJSON {\n /**\n * ComputeJSON Input\n * https://www.substrate.run/nodes#ComputeJSON\n */\n export type Input = FutureExpandAny<\n OpenAPI.components[\"schemas\"][\"ComputeJSONIn\"]\n >;\n\n /**\n * ComputeJSON Output\n * https://www.substrate.run/nodes#ComputeJSON\n */\n export type Output = OpenAPI.components[\"schemas\"][\"ComputeJSONOut\"];\n}\n\n/**\n * Compute JSON using a language model.\n *\n * https://www.substrate.run/nodes#ComputeJSON\n */\nexport class ComputeJSON extends Node {\n /**\n * Input arguments: `prompt`, `json_schema`, `temperature` (optional), `max_tokens` (optional), `model` (optional)\n *\n * Output fields: `json_object` (optional), `text` (optional)\n *\n * https://www.substrate.run/nodes#ComputeJSON\n */\n constructor(\n args: FutureExpandAny<OpenAPI.components[\"schemas\"][\"ComputeJSONIn\"]>,\n options?: Options,\n ) {\n super(args, options);\n this.node = \"ComputeJSON\";\n }\n\n /**\n * Retrieve this node's output from a response.\n *\n * Output fields: `json_object` (optional), `text` (optional)\n *\n * https://www.substrate.run/nodes#ComputeJSON\n */\n protected override async result(): Promise<\n OpenAPI.components[\"schemas\"][\"ComputeJSONOut\"] | undefined\n > {\n return Promise.resolve(\n this._response ? this._response.get(this) : undefined,\n ) as Promise<OpenAPI.components[\"schemas\"][\"ComputeJSONOut\"] | undefined>;\n }\n\n /**\n * Future reference to this node's output.\n *\n * Output fields: `json_object` (optional), `text` (optional)\n *\n * https://www.substrate.run/nodes#ComputeJSON\n */\n override get future(): ComputeJSONOut {\n return new ComputeJSONOut(new Trace([], this));\n }\n\n protected override output(): OpenAPI.components[\"schemas\"][\"ComputeJSONOut\"] {\n return super.output() as OpenAPI.components[\"schemas\"][\"ComputeJSONOut\"];\n }\n}\nexport namespace MultiComputeJSON {\n /**\n * MultiComputeJSON Input\n * https://www.substrate.run/nodes#MultiComputeJSON\n */\n export type Input = FutureExpandAny<\n OpenAPI.components[\"schemas\"][\"MultiComputeJSONIn\"]\n >;\n\n /**\n * MultiComputeJSON Output\n * https://www.substrate.run/nodes#MultiComputeJSON\n */\n export type Output = OpenAPI.components[\"schemas\"][\"MultiComputeJSONOut\"];\n}\n\n/**\n * Compute multiple JSON choices using a language model.\n *\n * https://www.substrate.run/nodes#MultiComputeJSON\n */\nexport class MultiComputeJSON extends Node {\n /**\n * Input arguments: `prompt`, `json_schema`, `num_choices`, `temperature` (optional), `max_tokens` (optional), `model` (optional)\n *\n * Output fields: `choices`\n *\n * https://www.substrate.run/nodes#MultiComputeJSON\n */\n constructor(\n args: FutureExpandAny<OpenAPI.components[\"schemas\"][\"MultiComputeJSONIn\"]>,\n options?: Options,\n ) {\n super(args, options);\n this.node = \"MultiComputeJSON\";\n }\n\n /**\n * Retrieve this node's output from a response.\n *\n * Output fields: `choices`\n *\n * https://www.substrate.run/nodes#MultiComputeJSON\n */\n protected override async result(): Promise<\n OpenAPI.components[\"schemas\"][\"MultiComputeJSONOut\"] | undefined\n > {\n return Promise.resolve(\n this._response ? this._response.get(this) : undefined,\n ) as Promise<\n OpenAPI.components[\"schemas\"][\"MultiComputeJSONOut\"] | undefined\n >;\n }\n\n /**\n * Future reference to this node's output.\n *\n * Output fields: `choices`\n *\n * https://www.substrate.run/nodes#MultiComputeJSON\n */\n override get future(): MultiComputeJSONOut {\n return new MultiComputeJSONOut(new Trace([], this));\n }\n\n protected override output(): OpenAPI.components[\"schemas\"][\"MultiComputeJSONOut\"] {\n return super.output() as OpenAPI.components[\"schemas\"][\"MultiComputeJSONOut\"];\n }\n}\nexport namespace Mistral7BInstruct {\n /**\n * Mistral7BInstruct Input\n * https://www.substrate.run/nodes#Mistral7BInstruct\n */\n export type Input = FutureExpandAny<\n OpenAPI.components[\"schemas\"][\"Mistral7BInstructIn\"]\n >;\n\n /**\n * Mistral7BInstruct Output\n * https://www.substrate.run/nodes#Mistral7BInstruct\n */\n export type Output = OpenAPI.components[\"schemas\"][\"Mistral7BInstructOut\"];\n}\n\n/**\n * Compute text using [Mistral 7B Instruct](https://mistral.ai/news/announcing-mistral-7b).\n *\n * https://www.substrate.run/nodes#Mistral7BInstruct\n */\nexport class Mistral7BInstruct extends Node {\n /**\n * Input arguments: `prompt`, `system_prompt` (optional), `num_choices` (optional), `json_schema` (optional), `temperature` (optional), `frequency_penalty` (optional), `repetition_penalty` (optional), `presence_penalty` (optional), `top_p` (optional), `max_tokens` (optional)\n *\n * Output fields: `choices`\n *\n * https://www.substrate.run/nodes#Mistral7BInstruct\n */\n constructor(\n args: FutureExpandAny<OpenAPI.components[\"schemas\"][\"Mistral7BInstructIn\"]>,\n options?: Options,\n ) {\n super(args, options);\n this.node = \"Mistral7BInstruct\";\n }\n\n /**\n * Retrieve this node's output from a response.\n *\n * Output fields: `choices`\n *\n * https://www.substrate.run/nodes#Mistral7BInstruct\n */\n protected override async result(): Promise<\n OpenAPI.components[\"schemas\"][\"Mistral7BInstructOut\"] | undefined\n > {\n return Promise.resolve(\n this._response ? this._response.get(this) : undefined,\n ) as Promise<\n OpenAPI.components[\"schemas\"][\"Mistral7BInstructOut\"] | undefined\n >;\n }\n\n /**\n * Future reference to this node's output.\n *\n * Output fields: `choices`\n *\n * https://www.substrate.run/nodes#Mistral7BInstruct\n */\n override get future(): Mistral7BInstructOut {\n return new Mistral7BInstructOut(new Trace([], this));\n }\n\n protected override output(): OpenAPI.components[\"schemas\"][\"Mistral7BInstructOut\"] {\n return super.output() as OpenAPI.components[\"schemas\"][\"Mistral7BInstructOut\"];\n }\n}\nexport namespace Mixtral8x7BInstruct {\n /**\n * Mixtral8x7BInstruct Input\n * https://www.substrate.run/nodes#Mixtral8x7BInstruct\n */\n export type Input = FutureExpandAny<\n OpenAPI.components[\"schemas\"][\"Mixtral8x7BInstructIn\"]\n >;\n\n /**\n * Mixtral8x7BInstruct Output\n * https://www.substrate.run/nodes#Mixtral8x7BInstruct\n */\n export type Output = OpenAPI.components[\"schemas\"][\"Mixtral8x7BInstructOut\"];\n}\n\n/**\n * Compute text using instruct-tuned [Mixtral 8x7B](https://mistral.ai/news/mixtral-of-experts/).\n *\n * https://www.substrate.run/nodes#Mixtral8x7BInstruct\n */\nexport class Mixtral8x7BInstruct extends Node {\n /**\n * Input arguments: `prompt`, `system_prompt` (optional), `num_choices` (optional), `json_schema` (optional), `temperature` (optional), `frequency_penalty` (optional), `repetition_penalty` (optional), `presence_penalty` (optional), `top_p` (optional), `max_tokens` (optional)\n *\n * Output fields: `choices`\n *\n * https://www.substrate.run/nodes#Mixtral8x7BInstruct\n */\n constructor(\n args: FutureExpandAny<\n OpenAPI.components[\"schemas\"][\"Mixtral8x7BInstructIn\"]\n >,\n options?: Options,\n ) {\n super(args, options);\n this.node = \"Mixtral8x7BInstruct\";\n }\n\n /**\n * Retrieve this node's output from a response.\n *\n * Output fields: `choices`\n *\n * https://www.substrate.run/nodes#Mixtral8x7BInstruct\n */\n protected override async result(): Promise<\n OpenAPI.components[\"schemas\"][\"Mixtral8x7BInstructOut\"] | undefined\n > {\n return Promise.resolve(\n this._response ? this._response.get(this) : undefined,\n ) as Promise<\n OpenAPI.components[\"schemas\"][\"Mixtral8x7BInstructOut\"] | undefined\n >;\n }\n\n /**\n * Future reference to this node's output.\n *\n * Output fields: `choices`\n *\n * https://www.substrate.run/nodes#Mixtral8x7BInstruct\n */\n override get future(): Mixtral8x7BInstructOut {\n return new Mixtral8x7BInstructOut(new Trace([], this));\n }\n\n protected override output(): OpenAPI.components[\"schemas\"][\"Mixtral8x7BInstructOut\"] {\n return super.output() as OpenAPI.components[\"schemas\"][\"Mixtral8x7BInstructOut\"];\n }\n}\nexport namespace Llama3Instruct8B {\n /**\n * Llama3Instruct8B Input\n * https://www.substrate.run/nodes#Llama3Instruct8B\n */\n export type Input = FutureExpandAny<\n OpenAPI.components[\"schemas\"][\"Llama3Instruct8BIn\"]\n >;\n\n /**\n * Llama3Instruct8B Output\n * https://www.substrate.run/nodes#Llama3Instruct8B\n */\n export type Output = OpenAPI.components[\"schemas\"][\"Llama3Instruct8BOut\"];\n}\n\n/**\n * Compute text using instruct-tuned [Llama 3 8B](https://llama.meta.com/llama3/).\n *\n * https://www.substrate.run/nodes#Llama3Instruct8B\n */\nexport class Llama3Instruct8B extends Node {\n /**\n * Input arguments: `prompt`, `system_prompt` (optional), `num_choices` (optional), `temperature` (optional), `frequency_penalty` (optional), `repetition_penalty` (optional), `presence_penalty` (optional), `top_p` (optional), `max_tokens` (optional), `json_schema` (optional)\n *\n * Output fields: `choices`\n *\n * https://www.substrate.run/nodes#Llama3Instruct8B\n */\n constructor(\n args: FutureExpandAny<OpenAPI.components[\"schemas\"][\"Llama3Instruct8BIn\"]>,\n options?: Options,\n ) {\n super(args, options);\n this.node = \"Llama3Instruct8B\";\n }\n\n /**\n * Retrieve this node's output from a response.\n *\n * Output fields: `choices`\n *\n * https://www.substrate.run/nodes#Llama3Instruct8B\n */\n protected override async result(): Promise<\n OpenAPI.components[\"schemas\"][\"Llama3Instruct8BOut\"] | undefined\n > {\n return Promise.resolve(\n this._response ? this._response.get(this) : undefined,\n ) as Promise<\n OpenAPI.components[\"schemas\"][\"Llama3Instruct8BOut\"] | undefined\n >;\n }\n\n /**\n * Future reference to this node's output.\n *\n * Output fields: `choices`\n *\n * https://www.substrate.run/nodes#Llama3Instruct8B\n */\n override get future(): Llama3Instruct8BOut {\n return new Llama3Instruct8BOut(new Trace([], this));\n }\n\n protected override output(): OpenAPI.components[\"schemas\"][\"Llama3Instruct8BOut\"] {\n return super.output() as OpenAPI.components[\"schemas\"][\"Llama3Instruct8BOut\"];\n }\n}\nexport namespace Llama3Instruct70B {\n /**\n * Llama3Instruct70B Input\n * https://www.substrate.run/nodes#Llama3Instruct70B\n */\n export type Input = FutureExpandAny<\n OpenAPI.components[\"schemas\"][\"Llama3Instruct70BIn\"]\n >;\n\n /**\n * Llama3Instruct70B Output\n * https://www.substrate.run/nodes#Llama3Instruct70B\n */\n export type Output = OpenAPI.components[\"schemas\"][\"Llama3Instruct70BOut\"];\n}\n\n/**\n * Compute text using instruct-tuned [Llama 3 70B](https://llama.meta.com/llama3/).\n *\n * https://www.substrate.run/nodes#Llama3Instruct70B\n */\nexport class Llama3Instruct70B extends Node {\n /**\n * Input arguments: `prompt`, `system_prompt` (optional), `num_choices` (optional), `temperature` (optional), `frequency_penalty` (optional), `repetition_penalty` (optional), `presence_penalty` (optional), `top_p` (optional), `max_tokens` (optional)\n *\n * Output fields: `choices`\n *\n * https://www.substrate.run/nodes#Llama3Instruct70B\n */\n constructor(\n args: FutureExpandAny<OpenAPI.components[\"schemas\"][\"Llama3Instruct70BIn\"]>,\n options?: Options,\n ) {\n super(args, options);\n this.node = \"Llama3Instruct70B\";\n }\n\n /**\n * Retrieve this node's output from a response.\n *\n * Output fields: `choices`\n *\n * https://www.substrate.run/nodes#Llama3Instruct70B\n */\n protected override async result(): Promise<\n OpenAPI.components[\"schemas\"][\"Llama3Instruct70BOut\"] | undefined\n > {\n return Promise.resolve(\n this._response ? this._response.get(this) : undefined,\n ) as Promise<\n OpenAPI.components[\"schemas\"][\"Llama3Instruct70BOut\"] | undefined\n >;\n }\n\n /**\n * Future reference to this node's output.\n *\n * Output fields: `choices`\n *\n * https://www.substrate.run/nodes#Llama3Instruct70B\n */\n override get future(): Llama3Instruct70BOut {\n return new Llama3Instruct70BOut(new Trace([], this));\n }\n\n protected override output(): OpenAPI.components[\"schemas\"][\"Llama3Instruct70BOut\"] {\n return super.output() as OpenAPI.components[\"schemas\"][\"Llama3Instruct70BOut\"];\n }\n}\nexport namespace Firellava13B {\n /**\n * Firellava13B Input\n * https://www.substrate.run/nodes#Firellava13B\n */\n export type Input = FutureExpandAny<\n OpenAPI.components[\"schemas\"][\"Firellava13BIn\"]\n >;\n\n /**\n * Firellava13B Output\n * https://www.substrate.run/nodes#Firellava13B\n */\n export type Output = OpenAPI.components[\"schemas\"][\"Firellava13BOut\"];\n}\n\n/**\n * Compute text with image input using [FireLLaVA 13B](https://fireworks.ai/blog/firellava-the-first-commercially-permissive-oss-llava-model).\n *\n * https://www.substrate.run/nodes#Firellava13B\n */\nexport class Firellava13B extends Node {\n /**\n * Input arguments: `prompt`, `image_uris`, `max_tokens` (optional)\n *\n * Output fields: `text`\n *\n * https://www.substrate.run/nodes#Firellava13B\n */\n constructor(\n args: FutureExpandAny<OpenAPI.components[\"schemas\"][\"Firellava13BIn\"]>,\n options?: Options,\n ) {\n super(args, options);\n this.node = \"Firellava13B\";\n }\n\n /**\n * Retrieve this node's output from a response.\n *\n * Output fields: `text`\n *\n * https://www.substrate.run/nodes#Firellava13B\n */\n protected override async result(): Promise<\n OpenAPI.components[\"schemas\"][\"Firellava13BOut\"] | undefined\n > {\n return Promise.resolve(\n this._response ? this._response.get(this) : undefined,\n ) as Promise<OpenAPI.components[\"schemas\"][\"Firellava13BOut\"] | undefined>;\n }\n\n /**\n * Future reference to this node's output.\n *\n * Output fields: `text`\n *\n * https://www.substrate.run/nodes#Firellava13B\n */\n override get future(): Firellava13BOut {\n return new Firellava13BOut(new Trace([], this));\n }\n\n protected override output(): OpenAPI.components[\"schemas\"][\"Firellava13BOut\"] {\n return super.output() as OpenAPI.components[\"schemas\"][\"Firellava13BOut\"];\n }\n}\nexport namespace GenerateImage {\n /**\n * GenerateImage Input\n * https://www.substrate.run/nodes#GenerateImage\n */\n export type Input = FutureExpandAny<\n OpenAPI.components[\"schemas\"][\"GenerateImageIn\"]\n >;\n\n /**\n * GenerateImage Output\n * https://www.substrate.run/nodes#GenerateImage\n */\n export type Output = OpenAPI.components[\"schemas\"][\"GenerateImageOut\"];\n}\n\n/**\n * Generate an image.\n *\n * https://www.substrate.run/nodes#GenerateImage\n */\nexport class GenerateImage extends Node {\n /**\n * Input arguments: `prompt`, `store` (optional)\n *\n * Output fields: `image_uri`\n *\n * https://www.substrate.run/nodes#GenerateImage\n */\n constructor(\n args: FutureExpandAny<OpenAPI.components[\"schemas\"][\"GenerateImageIn\"]>,\n options?: Options,\n ) {\n super(args, options);\n this.node = \"GenerateImage\";\n }\n\n /**\n * Retrieve this node's output from a response.\n *\n * Output fields: `image_uri`\n *\n * https://www.substrate.run/nodes#GenerateImage\n */\n protected override async result(): Promise<\n OpenAPI.components[\"schemas\"][\"GenerateImageOut\"] | undefined\n > {\n return Promise.resolve(\n this._response ? this._response.get(this) : undefined,\n ) as Promise<OpenAPI.components[\"schemas\"][\"GenerateImageOut\"] | undefined>;\n }\n\n /**\n * Future reference to this node's output.\n *\n * Output fields: `image_uri`\n *\n * https://www.substrate.run/nodes#GenerateImage\n */\n override get future(): GenerateImageOut {\n return new GenerateImageOut(new Trace([], this));\n }\n\n protected override output(): OpenAPI.components[\"schemas\"][\"GenerateImageOut\"] {\n return super.output() as OpenAPI.components[\"schemas\"][\"GenerateImageOut\"];\n }\n}\nexport namespace MultiGenerateImage {\n /**\n * MultiGenerateImage Input\n * https://www.substrate.run/nodes#MultiGenerateImage\n */\n export type Input = FutureExpandAny<\n OpenAPI.components[\"schemas\"][\"MultiGenerateImageIn\"]\n >;\n\n /**\n * MultiGenerateImage Output\n * https://www.substrate.run/nodes#MultiGenerateImage\n */\n export type Output = OpenAPI.components[\"schemas\"][\"MultiGenerateImageOut\"];\n}\n\n/**\n * Generate multiple images.\n *\n * https://www.substrate.run/nodes#MultiGenerateImage\n */\nexport class MultiGenerateImage extends Node {\n /**\n * Input arguments: `prompt`, `num_images`, `store` (optional)\n *\n * Output fields: `outputs`\n *\n * https://www.substrate.run/nodes#MultiGenerateImage\n */\n constructor(\n args: FutureExpandAny<\n OpenAPI.components[\"schemas\"][\"MultiGenerateImageIn\"]\n >,\n options?: Options,\n ) {\n super(args, options);\n this.node = \"MultiGenerateImage\";\n }\n\n /**\n * Retrieve this node's output from a response.\n *\n * Output fields: `outputs`\n *\n * https://www.substrate.run/nodes#MultiGenerateImage\n */\n protected override async result(): Promise<\n OpenAPI.components[\"schemas\"][\"MultiGenerateImageOut\"] | undefined\n > {\n return Promise.resolve(\n this._response ? this._response.get(this) : undefined,\n ) as Promise<\n OpenAPI.components[\"schemas\"][\"MultiGenerateImageOut\"] | undefined\n >;\n }\n\n /**\n * Future reference to this node's output.\n *\n * Output fields: `outputs`\n *\n * https://www.substrate.run/nodes#MultiGenerateImage\n */\n override get future(): MultiGenerateImageOut {\n return new MultiGenerateImageOut(new Trace([], this));\n }\n\n protected override output(): OpenAPI.components[\"schemas\"][\"MultiGenerateImageOut\"] {\n return super.output() as OpenAPI.components[\"schemas\"][\"MultiGenerateImageOut\"];\n }\n}\nexport namespace InpaintImage {\n /**\n * InpaintImage Input\n * https://www.substrate.run/nodes#InpaintImage\n */\n export type Input = FutureExpandAny<\n OpenAPI.components[\"schemas\"][\"InpaintImageIn\"]\n >;\n\n /**\n * InpaintImage Output\n * https://www.substrate.run/nodes#InpaintImage\n */\n export type Output = OpenAPI.components[\"schemas\"][\"InpaintImageOut\"];\n}\n\n/**\n * Edit an image using image generation inside part of the image or the full image.\n *\n * https://www.substrate.run/nodes#InpaintImage\n */\nexport class InpaintImage extends Node {\n /**\n * Input arguments: `image_uri`, `prompt`, `mask_image_uri` (optional), `store` (optional)\n *\n * Output fields: `image_uri`\n *\n * https://www.substrate.run/nodes#InpaintImage\n */\n constructor(\n args: FutureExpandAny<OpenAPI.components[\"schemas\"][\"InpaintImageIn\"]>,\n options?: Options,\n ) {\n super(args, options);\n this.node = \"InpaintImage\";\n }\n\n /**\n * Retrieve this node's output from a response.\n *\n * Output fields: `image_uri`\n *\n * https://www.substrate.run/nodes#InpaintImage\n */\n protected override async result(): Promise<\n OpenAPI.components[\"schemas\"][\"InpaintImageOut\"] | undefined\n > {\n return Promise.resolve(\n this._response ? this._response.get(this) : undefined,\n ) as Promise<OpenAPI.components[\"schemas\"][\"InpaintImageOut\"] | undefined>;\n }\n\n /**\n * Future reference to this node's output.\n *\n * Output fields: `image_uri`\n *\n * https://www.substrate.run/nodes#InpaintImage\n */\n override get future(): InpaintImageOut {\n return new InpaintImageOut(new Trace([], this));\n }\n\n protected override output(): OpenAPI.components[\"schemas\"][\"InpaintImageOut\"] {\n return super.output() as OpenAPI.components[\"schemas\"][\"InpaintImageOut\"];\n }\n}\nexport namespace MultiInpaintImage {\n /**\n * MultiInpaintImage Input\n * https://www.substrate.run/nodes#MultiInpaintImage\n */\n export type Input = FutureExpandAny<\n OpenAPI.components[\"schemas\"][\"MultiInpaintImageIn\"]\n >;\n\n /**\n * MultiInpaintImage Output\n * https://www.substrate.run/nodes#MultiInpaintImage\n */\n export type Output = OpenAPI.components[\"schemas\"][\"MultiInpaintImageOut\"];\n}\n\n/**\n * Edit multiple images using image generation.\n *\n * https://www.substrate.run/nodes#MultiInpaintImage\n */\nexport class MultiInpaintImage extends Node {\n /**\n * Input arguments: `image_uri`, `prompt`, `mask_image_uri` (optional), `num_images`, `store` (optional)\n *\n * Output fields: `outputs`\n *\n * https://www.substrate.run/nodes#MultiInpaintImage\n */\n constructor(\n args: FutureExpandAny<OpenAPI.components[\"schemas\"][\"MultiInpaintImageIn\"]>,\n options?: Options,\n ) {\n super(args, options);\n this.node = \"MultiInpaintImage\";\n }\n\n /**\n * Retrieve this node's output from a response.\n *\n * Output fields: `outputs`\n *\n * https://www.substrate.run/nodes#MultiInpaintImage\n */\n protected override async result(): Promise<\n OpenAPI.components[\"schemas\"][\"MultiInpaintImageOut\"] | undefined\n > {\n return Promise.resolve(\n this._response ? this._response.get(this) : undefined,\n ) as Promise<\n OpenAPI.components[\"schemas\"][\"MultiInpaintImageOut\"] | undefined\n >;\n }\n\n /**\n * Future reference to this node's output.\n *\n * Output fields: `outputs`\n *\n * https://www.substrate.run/nodes#MultiInpaintImage\n */\n override get future(): MultiInpaintImageOut {\n return new MultiInpaintImageOut(new Trace([], this));\n }\n\n protected override output(): OpenAPI.components[\"schemas\"][\"MultiInpaintImageOut\"] {\n return super.output() as OpenAPI.components[\"schemas\"][\"MultiInpaintImageOut\"];\n }\n}\nexport namespace StableDiffusionXLLightning {\n /**\n * StableDiffusionXLLightning Input\n * https://www.substrate.run/nodes#StableDiffusionXLLightning\n */\n export type Input = FutureExpandAny<\n OpenAPI.components[\"schemas\"][\"StableDiffusionXLLightningIn\"]\n >;\n\n /**\n * StableDiffusionXLLightning Output\n * https://www.substrate.run/nodes#StableDiffusionXLLightning\n */\n export type Output =\n OpenAPI.components[\"schemas\"][\"StableDiffusionXLLightningOut\"];\n}\n\n/**\n * Generate an image using [Stable Diffusion XL Lightning](https://arxiv.org/abs/2402.13929).\n *\n * https://www.substrate.run/nodes#StableDiffusionXLLightning\n */\nexport class StableDiffusionXLLightning extends Node {\n /**\n * Input arguments: `prompt`, `negative_prompt` (optional), `num_images` (optional), `store` (optional), `height` (optional), `width` (optional), `seeds` (optional)\n *\n * Output fields: `outputs`\n *\n * https://www.substrate.run/nodes#StableDiffusionXLLightning\n */\n constructor(\n args: FutureExpandAny<\n OpenAPI.components[\"schemas\"][\"StableDiffusionXLLightningIn\"]\n >,\n options?: Options,\n ) {\n super(args, options);\n this.node = \"StableDiffusionXLLightning\";\n }\n\n /**\n * Retrieve this node's output from a response.\n *\n * Output fields: `outputs`\n *\n * https://www.substrate.run/nodes#StableDiffusionXLLightning\n */\n protected override async result(): Promise<\n OpenAPI.components[\"schemas\"][\"StableDiffusionXLLightningOut\"] | undefined\n > {\n return Promise.resolve(\n this._response ? this._response.get(this) : undefined,\n ) as Promise<\n OpenAPI.components[\"schemas\"][\"StableDiffusionXLLightningOut\"] | undefined\n >;\n }\n\n /**\n * Future reference to this node's output.\n *\n * Output fields: `outputs`\n *\n * https://www.substrate.run/nodes#StableDiffusionXLLightning\n */\n override get future(): StableDiffusionXLLightningOut {\n return new StableDiffusionXLLightningOut(new Trace([], this));\n }\n\n protected override output(): OpenAPI.components[\"schemas\"][\"StableDiffusionXLLightningOut\"] {\n return super.output() as OpenAPI.components[\"schemas\"][\"StableDiffusionXLLightningOut\"];\n }\n}\nexport namespace StableDiffusionXLInpaint {\n /**\n * StableDiffusionXLInpaint Input\n * https://www.substrate.run/nodes#StableDiffusionXLInpaint\n */\n export type Input = FutureExpandAny<\n OpenAPI.components[\"schemas\"][\"StableDiffusionXLInpaintIn\"]\n >;\n\n /**\n * StableDiffusionXLInpaint Output\n * https://www.substrate.run/nodes#StableDiffusionXLInpaint\n */\n export type Output =\n OpenAPI.components[\"schemas\"][\"StableDiffusionXLInpaintOut\"];\n}\n\n/**\n * Edit an image using [Stable Diffusion XL](https://arxiv.org/abs/2307.01952). Supports inpainting (edit part of the image with a mask) and image-to-image (edit the full image).\n *\n * https://www.substrate.run/nodes#StableDiffusionXLInpaint\n */\nexport class StableDiffusionXLInpaint extends Node {\n /**\n * Input arguments: `image_uri`, `prompt`, `mask_image_uri` (optional), `num_images`, `output_resolution` (optional), `negative_prompt` (optional), `store` (optional), `strength` (optional), `seeds` (optional)\n *\n * Output fields: `outputs`\n *\n * https://www.substrate.run/nodes#StableDiffusionXLInpaint\n */\n constructor(\n args: FutureExpandAny<\n OpenAPI.components[\"schemas\"][\"StableDiffusionXLInpaintIn\"]\n >,\n options?: Options,\n ) {\n super(args, options);\n this.node = \"StableDiffusionXLInpaint\";\n }\n\n /**\n * Retrieve this node's output from a response.\n *\n * Output fields: `outputs`\n *\n * https://www.substrate.run/nodes#StableDiffusionXLInpaint\n */\n protected override async result(): Promise<\n OpenAPI.components[\"schemas\"][\"StableDiffusionXLInpaintOut\"] | undefined\n > {\n return Promise.resolve(\n this._response ? this._response.get(this) : undefined,\n ) as Promise<\n OpenAPI.components[\"schemas\"][\"StableDiffusionXLInpaintOut\"] | undefined\n >;\n }\n\n /**\n * Future reference to this node's output.\n *\n * Output fields: `outputs`\n *\n * https://www.substrate.run/nodes#StableDiffusionXLInpaint\n */\n override get future(): StableDiffusionXLInpaintOut {\n return new StableDiffusionXLInpaintOut(new Trace([], this));\n }\n\n protected override output(): OpenAPI.components[\"schemas\"][\"StableDiffusionXLInpaintOut\"] {\n return super.output() as OpenAPI.components[\"schemas\"][\"StableDiffusionXLInpaintOut\"];\n }\n}\nexport namespace StableDiffusionXLControlNet {\n /**\n * StableDiffusionXLControlNet Input\n * https://www.substrate.run/nodes#StableDiffusionXLControlNet\n */\n export type Input = FutureExpandAny<\n OpenAPI.components[\"schemas\"][\"StableDiffusionXLControlNetIn\"]\n >;\n\n /**\n * StableDiffusionXLControlNet Output\n * https://www.substrate.run/nodes#StableDiffusionXLControlNet\n */\n export type Output =\n OpenAPI.components[\"schemas\"][\"StableDiffusionXLControlNetOut\"];\n}\n\n/**\n * Generate an image with generation structured by an input image, using Stable Diffusion XL with [ControlNet](https://arxiv.org/abs/2302.05543).\n *\n * https://www.substrate.run/nodes#StableDiffusionXLControlNet\n */\nexport class StableDiffusionXLControlNet extends Node {\n /**\n * Input arguments: `image_uri`, `control_method`, `prompt`, `num_images`, `output_resolution` (optional), `negative_prompt` (optional), `store` (optional), `conditioning_scale` (optional), `strength` (optional), `seeds` (optional)\n *\n * Output fields: `outputs`\n *\n * https://www.substrate.run/nodes#StableDiffusionXLControlNet\n */\n constructor(\n args: FutureExpandAny<\n OpenAPI.components[\"schemas\"][\"StableDiffusionXLControlNetIn\"]\n >,\n options?: Options,\n ) {\n super(args, options);\n this.node = \"StableDiffusionXLControlNet\";\n }\n\n /**\n * Retrieve this node's output from a response.\n *\n * Output fields: `outputs`\n *\n * https://www.substrate.run/nodes#StableDiffusionXLControlNet\n */\n protected override async result(): Promise<\n OpenAPI.components[\"schemas\"][\"StableDiffusionXLControlNetOut\"] | undefined\n > {\n return Promise.resolve(\n this._response ? this._response.get(this) : undefined,\n ) as Promise<\n | OpenAPI.components[\"schemas\"][\"StableDiffusionXLControlNetOut\"]\n | undefined\n >;\n }\n\n /**\n * Future reference to this node's output.\n *\n * Output fields: `outputs`\n *\n * https://www.substrate.run/nodes#StableDiffusionXLControlNet\n */\n override get future(): StableDiffusionXLControlNetOut {\n return new StableDiffusionXLControlNetOut(new Trace([], this));\n }\n\n protected override output(): OpenAPI.components[\"schemas\"][\"StableDiffusionXLControlNetOut\"] {\n return super.output() as OpenAPI.components[\"schemas\"][\"StableDiffusionXLControlNetOut\"];\n }\n}\nexport namespace StableVideoDiffusion {\n /**\n * StableVideoDiffusion Input\n * https://www.substrate.run/nodes#StableVideoDiffusion\n */\n export type Input = FutureExpandAny<\n OpenAPI.components[\"schemas\"][\"StableVideoDiffusionIn\"]\n >;\n\n /**\n * StableVideoDiffusion Output\n * https://www.substrate.run/nodes#StableVideoDiffusion\n */\n export type Output = OpenAPI.components[\"schemas\"][\"StableVideoDiffusionOut\"];\n}\n\n/**\n * Generates a video using a still image as conditioning frame.\n *\n * https://www.substrate.run/nodes#StableVideoDiffusion\n */\nexport class StableVideoDiffusion extends Node {\n /**\n * Input arguments: `image_uri`, `store` (optional), `output_format` (optional), `seed` (optional), `fps` (optional), `motion_bucket_id` (optional), `noise` (optional)\n *\n * Output fields: `video_uri` (optional), `frame_uris` (optional)\n *\n * https://www.substrate.run/nodes#StableVideoDiffusion\n */\n constructor(\n args: FutureExpandAny<\n OpenAPI.components[\"schemas\"][\"StableVideoDiffusionIn\"]\n >,\n options?: Options,\n ) {\n super(args, options);\n this.node = \"StableVideoDiffusion\";\n }\n\n /**\n * Retrieve this node's output from a response.\n *\n * Output fields: `video_uri` (optional), `frame_uris` (optional)\n *\n * https://www.substrate.run/nodes#StableVideoDiffusion\n */\n protected override async result(): Promise<\n OpenAPI.components[\"schemas\"][\"StableVideoDiffusionOut\"] | undefined\n > {\n return Promise.resolve(\n this._response ? this._response.get(this) : undefined,\n ) as Promise<\n OpenAPI.components[\"schemas\"][\"StableVideoDiffusionOut\"] | undefined\n >;\n }\n\n /**\n * Future reference to this node's output.\n *\n * Output fields: `video_uri` (optional), `frame_uris` (optional)\n *\n * https://www.substrate.run/nodes#StableVideoDiffusion\n */\n override get future(): StableVideoDiffusionOut {\n return new StableVideoDiffusionOut(new Trace([], this));\n }\n\n protected override output(): OpenAPI.components[\"schemas\"][\"StableVideoDiffusionOut\"] {\n return super.output() as OpenAPI.components[\"schemas\"][\"StableVideoDiffusionOut\"];\n }\n}\nexport namespace InterpolateFrames {\n /**\n * InterpolateFrames Input\n * https://www.substrate.run/nodes#InterpolateFrames\n */\n export type Input = FutureExpandAny<\n OpenAPI.components[\"schemas\"][\"InterpolateFramesIn\"]\n >;\n\n /**\n * InterpolateFrames Output\n * https://www.substrate.run/nodes#InterpolateFrames\n */\n export type Output = OpenAPI.components[\"schemas\"][\"InterpolateFramesOut\"];\n}\n\n/**\n * Generates a interpolation frames between each adjacent frames.\n *\n * https://www.substrate.run/nodes#InterpolateFrames\n */\nexport class InterpolateFrames extends Node {\n /**\n * Input arguments: `frame_uris`, `store` (optional), `output_format` (optional), `fps` (optional), `num_steps` (optional)\n *\n * Output fields: `video_uri` (optional), `frame_uris` (optional)\n *\n * https://www.substrate.run/nodes#InterpolateFrames\n */\n constructor(\n args: FutureExpandAny<OpenAPI.components[\"schemas\"][\"InterpolateFramesIn\"]>,\n options?: Options,\n ) {\n super(args, options);\n this.node = \"InterpolateFrames\";\n }\n\n /**\n * Retrieve this node's output from a response.\n *\n * Output fields: `video_uri` (optional), `frame_uris` (optional)\n *\n * https://www.substrate.run/nodes#InterpolateFrames\n */\n protected override async result(): Promise<\n OpenAPI.components[\"schemas\"][\"InterpolateFramesOut\"] | undefined\n > {\n return Promise.resolve(\n this._response ? this._response.get(this) : undefined,\n ) as Promise<\n OpenAPI.components[\"schemas\"][\"InterpolateFramesOut\"] | undefined\n >;\n }\n\n /**\n * Future reference to this node's output.\n *\n * Output fields: `video_uri` (optional), `frame_uris` (optional)\n *\n * https://www.substrate.run/nodes#InterpolateFrames\n */\n override get future(): InterpolateFramesOut {\n return new InterpolateFramesOut(new Trace([], this));\n }\n\n protected override output(): OpenAPI.components[\"schemas\"][\"InterpolateFramesOut\"] {\n return super.output() as OpenAPI.components[\"schemas\"][\"InterpolateFramesOut\"];\n }\n}\nexport namespace TranscribeSpeech {\n /**\n * TranscribeSpeech Input\n * https://www.substrate.run/nodes#TranscribeSpeech\n */\n export type Input = FutureExpandAny<\n OpenAPI.components[\"schemas\"][\"TranscribeSpeechIn\"]\n >;\n\n /**\n * TranscribeSpeech Output\n * https://www.substrate.run/nodes#TranscribeSpeech\n */\n export type Output = OpenAPI.components[\"schemas\"][\"TranscribeSpeechOut\"];\n}\n\n/**\n * Transcribe speech in an audio or video file.\n *\n * https://www.substrate.run/nodes#TranscribeSpeech\n */\nexport class TranscribeSpeech extends Node {\n /**\n * Input arguments: `audio_uri`, `prompt` (optional), `language` (optional), `segment` (optional), `align` (optional), `diarize` (optional), `suggest_chapters` (optional)\n *\n * Output fields: `text`, `segments` (optional), `chapters` (optional)\n *\n * https://www.substrate.run/nodes#TranscribeSpeech\n */\n constructor(\n args: FutureExpandAny<OpenAPI.components[\"schemas\"][\"TranscribeSpeechIn\"]>,\n options?: Options,\n ) {\n super(args, options);\n this.node = \"TranscribeSpeech\";\n }\n\n /**\n * Retrieve this node's output from a response.\n *\n * Output fields: `text`, `segments` (optional), `chapters` (optional)\n *\n * https://www.substrate.run/nodes#TranscribeSpeech\n */\n protected override async result(): Promise<\n OpenAPI.components[\"schemas\"][\"TranscribeSpeechOut\"] | undefined\n > {\n return Promise.resolve(\n this._response ? this._response.get(this) : undefined,\n ) as Promise<\n OpenAPI.components[\"schemas\"][\"TranscribeSpeechOut\"] | undefined\n >;\n }\n\n /**\n * Future reference to this node's output.\n *\n * Output fields: `text`, `segments` (optional), `chapters` (optional)\n *\n * https://www.substrate.run/nodes#TranscribeSpeech\n */\n override get future(): TranscribeSpeechOut {\n return new TranscribeSpeechOut(new Trace([], this));\n }\n\n protected override output(): OpenAPI.components[\"schemas\"][\"TranscribeSpeechOut\"] {\n return super.output() as OpenAPI.components[\"schemas\"][\"TranscribeSpeechOut\"];\n }\n}\nexport namespace GenerateSpeech {\n /**\n * GenerateSpeech Input\n * https://www.substrate.run/nodes#GenerateSpeech\n */\n export type Input = FutureExpandAny<\n OpenAPI.components[\"schemas\"][\"GenerateSpeechIn\"]\n >;\n\n /**\n * GenerateSpeech Output\n * https://www.substrate.run/nodes#GenerateSpeech\n */\n export type Output = OpenAPI.components[\"schemas\"][\"GenerateSpeechOut\"];\n}\n\n/**\n * Generate speech from text.\n *\n * https://www.substrate.run/nodes#GenerateSpeech\n */\nexport class GenerateSpeech extends Node {\n /**\n * Input arguments: `text`, `store` (optional)\n *\n * Output fields: `audio_uri`\n *\n * https://www.substrate.run/nodes#GenerateSpeech\n */\n constructor(\n args: FutureExpandAny<OpenAPI.components[\"schemas\"][\"GenerateSpeechIn\"]>,\n options?: Options,\n ) {\n super(args, options);\n this.node = \"GenerateSpeech\";\n }\n\n /**\n * Retrieve this node's output from a response.\n *\n * Output fields: `audio_uri`\n *\n * https://www.substrate.run/nodes#GenerateSpeech\n */\n protected override async result(): Promise<\n OpenAPI.components[\"schemas\"][\"GenerateSpeechOut\"] | undefined\n > {\n return Promise.resolve(\n this._response ? this._response.get(this) : undefined,\n ) as Promise<\n OpenAPI.components[\"schemas\"][\"GenerateSpeechOut\"] | undefined\n >;\n }\n\n /**\n * Future reference to this node's output.\n *\n * Output fields: `audio_uri`\n *\n * https://www.substrate.run/nodes#GenerateSpeech\n */\n override get future(): GenerateSpeechOut {\n return new GenerateSpeechOut(new Trace([], this));\n }\n\n protected override output(): OpenAPI.components[\"schemas\"][\"GenerateSpeechOut\"] {\n return super.output() as OpenAPI.components[\"schemas\"][\"GenerateSpeechOut\"];\n }\n}\nexport namespace RemoveBackground {\n /**\n * RemoveBackground Input\n * https://www.substrate.run/nodes#RemoveBackground\n */\n export type Input = FutureExpandAny<\n OpenAPI.components[\"schemas\"][\"RemoveBackgroundIn\"]\n >;\n\n /**\n * RemoveBackground Output\n * https://www.substrate.run/nodes#RemoveBackground\n */\n export type Output = OpenAPI.components[\"schemas\"][\"RemoveBackgroundOut\"];\n}\n\n/**\n * Remove the background from an image and return the foreground segment as a cut-out or a mask.\n *\n * https://www.substrate.run/nodes#RemoveBackground\n */\nexport class RemoveBackground extends Node {\n /**\n * Input arguments: `image_uri`, `return_mask` (optional), `invert_mask` (optional), `background_color` (optional), `store` (optional)\n *\n * Output fields: `image_uri`\n *\n * https://www.substrate.run/nodes#RemoveBackground\n */\n constructor(\n args: FutureExpandAny<OpenAPI.components[\"schemas\"][\"RemoveBackgroundIn\"]>,\n options?: Options,\n ) {\n super(args, options);\n this.node = \"RemoveBackground\";\n }\n\n /**\n * Retrieve this node's output from a response.\n *\n * Output fields: `image_uri`\n *\n * https://www.substrate.run/nodes#RemoveBackground\n */\n protected override async result(): Promise<\n OpenAPI.components[\"schemas\"][\"RemoveBackgroundOut\"] | undefined\n > {\n return Promise.resolve(\n this._response ? this._response.get(this) : undefined,\n ) as Promise<\n OpenAPI.components[\"schemas\"][\"RemoveBackgroundOut\"] | undefined\n >;\n }\n\n /**\n * Future reference to this node's output.\n *\n * Output fields: `image_uri`\n *\n * https://www.substrate.run/nodes#RemoveBackground\n */\n override get future(): RemoveBackgroundOut {\n return new RemoveBackgroundOut(new Trace([], this));\n }\n\n protected override output(): OpenAPI.components[\"schemas\"][\"RemoveBackgroundOut\"] {\n return super.output() as OpenAPI.components[\"schemas\"][\"RemoveBackgroundOut\"];\n }\n}\nexport namespace EraseImage {\n /**\n * EraseImage Input\n * https://www.substrate.run/nodes#EraseImage\n */\n export type Input = FutureExpandAny<\n OpenAPI.components[\"schemas\"][\"EraseImageIn\"]\n >;\n\n /**\n * EraseImage Output\n * https://www.substrate.run/nodes#EraseImage\n */\n export type Output = OpenAPI.components[\"schemas\"][\"EraseImageOut\"];\n}\n\n/**\n * Erase the masked part of an image, e.g. to remove an object by inpainting.\n *\n * https://www.substrate.run/nodes#EraseImage\n */\nexport class EraseImage extends Node {\n /**\n * Input arguments: `image_uri`, `mask_image_uri`, `store` (optional)\n *\n * Output fields: `image_uri`\n *\n * https://www.substrate.run/nodes#EraseImage\n */\n constructor(\n args: FutureExpandAny<OpenAPI.components[\"schemas\"][\"EraseImageIn\"]>,\n options?: Options,\n ) {\n super(args, options);\n this.node = \"EraseImage\";\n }\n\n /**\n * Retrieve this node's output from a response.\n *\n * Output fields: `image_uri`\n *\n * https://www.substrate.run/nodes#EraseImage\n */\n protected override async result(): Promise<\n OpenAPI.components[\"schemas\"][\"EraseImageOut\"] | undefined\n > {\n return Promise.resolve(\n this._response ? this._response.get(this) : undefined,\n ) as Promise<OpenAPI.components[\"schemas\"][\"EraseImageOut\"] | undefined>;\n }\n\n /**\n * Future reference to this node's output.\n *\n * Output fields: `image_uri`\n *\n * https://www.substrate.run/nodes#EraseImage\n */\n override get future(): EraseImageOut {\n return new EraseImageOut(new Trace([], this));\n }\n\n protected override output(): OpenAPI.components[\"schemas\"][\"EraseImageOut\"] {\n return super.output() as OpenAPI.components[\"schemas\"][\"EraseImageOut\"];\n }\n}\nexport namespace UpscaleImage {\n /**\n * UpscaleImage Input\n * https://www.substrate.run/nodes#UpscaleImage\n */\n export type Input = FutureExpandAny<\n OpenAPI.components[\"schemas\"][\"UpscaleImageIn\"]\n >;\n\n /**\n * UpscaleImage Output\n * https://www.substrate.run/nodes#UpscaleImage\n */\n export type Output = OpenAPI.components[\"schemas\"][\"UpscaleImageOut\"];\n}\n\n/**\n * Upscale an image using image generation.\n *\n * https://www.substrate.run/nodes#UpscaleImage\n */\nexport class UpscaleImage extends Node {\n /**\n * Input arguments: `prompt` (optional), `image_uri`, `output_resolution` (optional), `store` (optional)\n *\n * Output fields: `image_uri`\n *\n * https://www.substrate.run/nodes#UpscaleImage\n */\n constructor(\n args: FutureExpandAny<OpenAPI.components[\"schemas\"][\"UpscaleImageIn\"]>,\n options?: Options,\n ) {\n super(args, options);\n this.node = \"UpscaleImage\";\n }\n\n /**\n * Retrieve this node's output from a response.\n *\n * Output fields: `image_uri`\n *\n * https://www.substrate.run/nodes#UpscaleImage\n */\n protected override async result(): Promise<\n OpenAPI.components[\"schemas\"][\"UpscaleImageOut\"] | undefined\n > {\n return Promise.resolve(\n this._response ? this._response.get(this) : undefined,\n ) as Promise<OpenAPI.components[\"schemas\"][\"UpscaleImageOut\"] | undefined>;\n }\n\n /**\n * Future reference to this node's output.\n *\n * Output fields: `image_uri`\n *\n * https://www.substrate.run/nodes#UpscaleImage\n */\n override get future(): UpscaleImageOut {\n return new UpscaleImageOut(new Trace([], this));\n }\n\n protected override output(): OpenAPI.components[\"schemas\"][\"UpscaleImageOut\"] {\n return super.output() as OpenAPI.components[\"schemas\"][\"UpscaleImageOut\"];\n }\n}\nexport namespace SegmentUnderPoint {\n /**\n * SegmentUnderPoint Input\n * https://www.substrate.run/nodes#SegmentUnderPoint\n */\n export type Input = FutureExpandAny<\n OpenAPI.components[\"schemas\"][\"SegmentUnderPointIn\"]\n >;\n\n /**\n * SegmentUnderPoint Output\n * https://www.substrate.run/nodes#SegmentUnderPoint\n */\n export type Output = OpenAPI.components[\"schemas\"][\"SegmentUnderPointOut\"];\n}\n\n/**\n * Segment an image under a point and return the segment.\n *\n * https://www.substrate.run/nodes#SegmentUnderPoint\n */\nexport class SegmentUnderPoint extends Node {\n /**\n * Input arguments: `image_uri`, `point`, `store` (optional)\n *\n * Output fields: `mask_image_uri`\n *\n * https://www.substrate.run/nodes#SegmentUnderPoint\n */\n constructor(\n args: FutureExpandAny<OpenAPI.components[\"schemas\"][\"SegmentUnderPointIn\"]>,\n options?: Options,\n ) {\n super(args, options);\n this.node = \"SegmentUnderPoint\";\n }\n\n /**\n * Retrieve this node's output from a response.\n *\n * Output fields: `mask_image_uri`\n *\n * https://www.substrate.run/nodes#SegmentUnderPoint\n */\n protected override async result(): Promise<\n OpenAPI.components[\"schemas\"][\"SegmentUnderPointOut\"] | undefined\n > {\n return Promise.resolve(\n this._response ? this._response.get(this) : undefined,\n ) as Promise<\n OpenAPI.components[\"schemas\"][\"SegmentUnderPointOut\"] | undefined\n >;\n }\n\n /**\n * Future reference to this node's output.\n *\n * Output fields: `mask_image_uri`\n *\n * https://www.substrate.run/nodes#SegmentUnderPoint\n */\n override get future(): SegmentUnderPointOut {\n return new SegmentUnderPointOut(new Trace([], this));\n }\n\n protected override output(): OpenAPI.components[\"schemas\"][\"SegmentUnderPointOut\"] {\n return super.output() as OpenAPI.components[\"schemas\"][\"SegmentUnderPointOut\"];\n }\n}\nexport namespace SegmentAnything {\n /**\n * SegmentAnything Input\n * https://www.substrate.run/nodes#SegmentAnything\n */\n export type Input = FutureExpandAny<\n OpenAPI.components[\"schemas\"][\"SegmentAnythingIn\"]\n >;\n\n /**\n * SegmentAnything Output\n * https://www.substrate.run/nodes#SegmentAnything\n */\n export type Output = OpenAPI.components[\"schemas\"][\"SegmentAnythingOut\"];\n}\n\n/**\n * Segment an image using [SegmentAnything](https://github.com/facebookresearch/segment-anything).\n *\n * https://www.substrate.run/nodes#SegmentAnything\n */\nexport class SegmentAnything extends Node {\n /**\n * Input arguments: `image_uri`, `point_prompts` (optional), `box_prompts` (optional), `store` (optional)\n *\n * Output fields: `mask_image_uri`\n *\n * https://www.substrate.run/nodes#SegmentAnything\n */\n constructor(\n args: FutureExpandAny<OpenAPI.components[\"schemas\"][\"SegmentAnythingIn\"]>,\n options?: Options,\n ) {\n super(args, options);\n this.node = \"SegmentAnything\";\n }\n\n /**\n * Retrieve this node's output from a response.\n *\n * Output fields: `mask_image_uri`\n *\n * https://www.substrate.run/nodes#SegmentAnything\n */\n protected override async result(): Promise<\n OpenAPI.components[\"schemas\"][\"SegmentAnythingOut\"] | undefined\n > {\n return Promise.resolve(\n this._response ? this._response.get(this) : undefined,\n ) as Promise<\n OpenAPI.components[\"schemas\"][\"SegmentAnythingOut\"] | undefined\n >;\n }\n\n /**\n * Future reference to this node's output.\n *\n * Output fields: `mask_image_uri`\n *\n * https://www.substrate.run/nodes#SegmentAnything\n */\n override get future(): SegmentAnythingOut {\n return new SegmentAnythingOut(new Trace([], this));\n }\n\n protected override output(): OpenAPI.components[\"schemas\"][\"SegmentAnythingOut\"] {\n return super.output() as OpenAPI.components[\"schemas\"][\"SegmentAnythingOut\"];\n }\n}\nexport namespace SplitDocument {\n /**\n * SplitDocument Input\n * https://www.substrate.run/nodes#SplitDocument\n */\n export type Input = FutureExpandAny<\n OpenAPI.components[\"schemas\"][\"SplitDocumentIn\"]\n >;\n\n /**\n * SplitDocument Output\n * https://www.substrate.run/nodes#SplitDocument\n */\n export type Output = OpenAPI.components[\"schemas\"][\"SplitDocumentOut\"];\n}\n\n/**\n * Split document into text segments.\n *\n * https://www.substrate.run/nodes#SplitDocument\n */\nexport class SplitDocument extends Node {\n /**\n * Input arguments: `uri`, `doc_id` (optional), `metadata` (optional), `chunk_size` (optional), `chunk_overlap` (optional)\n *\n * Output fields: `items`\n *\n * https://www.substrate.run/nodes#SplitDocument\n */\n constructor(\n args: FutureExpandAny<OpenAPI.components[\"schemas\"][\"SplitDocumentIn\"]>,\n options?: Options,\n ) {\n super(args, options);\n this.node = \"SplitDocument\";\n }\n\n /**\n * Retrieve this node's output from a response.\n *\n * Output fields: `items`\n *\n * https://www.substrate.run/nodes#SplitDocument\n */\n protected override async result(): Promise<\n OpenAPI.components[\"schemas\"][\"SplitDocumentOut\"] | undefined\n > {\n return Promise.resolve(\n this._response ? this._response.get(this) : undefined,\n ) as Promise<OpenAPI.components[\"schemas\"][\"SplitDocumentOut\"] | undefined>;\n }\n\n /**\n * Future reference to this node's output.\n *\n * Output fields: `items`\n *\n * https://www.substrate.run/nodes#SplitDocument\n */\n override get future(): SplitDocumentOut {\n return new SplitDocumentOut(new Trace([], this));\n }\n\n protected override output(): OpenAPI.components[\"schemas\"][\"SplitDocumentOut\"] {\n return super.output() as OpenAPI.components[\"schemas\"][\"SplitDocumentOut\"];\n }\n}\nexport namespace EmbedText {\n /**\n * EmbedText Input\n * https://www.substrate.run/nodes#EmbedText\n */\n export type Input = FutureExpandAny<\n OpenAPI.components[\"schemas\"][\"EmbedTextIn\"]\n >;\n\n /**\n * EmbedText Output\n * https://www.substrate.run/nodes#EmbedText\n */\n export type Output = OpenAPI.components[\"schemas\"][\"EmbedTextOut\"];\n}\n\n/**\n * Generate embedding for a text document.\n *\n * https://www.substrate.run/nodes#EmbedText\n */\nexport class EmbedText extends Node {\n /**\n * Input arguments: `text`, `collection_name` (optional), `metadata` (optional), `embedded_metadata_keys` (optional), `doc_id` (optional), `model` (optional)\n *\n * Output fields: `embedding`\n *\n * https://www.substrate.run/nodes#EmbedText\n */\n constructor(\n args: FutureExpandAny<OpenAPI.components[\"schemas\"][\"EmbedTextIn\"]>,\n options?: Options,\n ) {\n super(args, options);\n this.node = \"EmbedText\";\n }\n\n /**\n * Retrieve this node's output from a response.\n *\n * Output fields: `embedding`\n *\n * https://www.substrate.run/nodes#EmbedText\n */\n protected override async result(): Promise<\n OpenAPI.components[\"schemas\"][\"EmbedTextOut\"] | undefined\n > {\n return Promise.resolve(\n this._response ? this._response.get(this) : undefined,\n ) as Promise<OpenAPI.components[\"schemas\"][\"EmbedTextOut\"] | undefined>;\n }\n\n /**\n * Future reference to this node's output.\n *\n * Output fields: `embedding`\n *\n * https://www.substrate.run/nodes#EmbedText\n */\n override get future(): EmbedTextOut {\n return new EmbedTextOut(new Trace([], this));\n }\n\n protected override output(): OpenAPI.components[\"schemas\"][\"EmbedTextOut\"] {\n return super.output() as OpenAPI.components[\"schemas\"][\"EmbedTextOut\"];\n }\n}\nexport namespace MultiEmbedText {\n /**\n * MultiEmbedText Input\n * https://www.substrate.run/nodes#MultiEmbedText\n */\n export type Input = FutureExpandAny<\n OpenAPI.components[\"schemas\"][\"MultiEmbedTextIn\"]\n >;\n\n /**\n * MultiEmbedText Output\n * https://www.substrate.run/nodes#MultiEmbedText\n */\n export type Output = OpenAPI.components[\"schemas\"][\"MultiEmbedTextOut\"];\n}\n\n/**\n * Generate embeddings for multiple text documents.\n *\n * https://www.substrate.run/nodes#MultiEmbedText\n */\nexport class MultiEmbedText extends Node {\n /**\n * Input arguments: `items`, `collection_name` (optional), `embedded_metadata_keys` (optional), `model` (optional)\n *\n * Output fields: `embeddings`\n *\n * https://www.substrate.run/nodes#MultiEmbedText\n */\n constructor(\n args: FutureExpandAny<OpenAPI.components[\"schemas\"][\"MultiEmbedTextIn\"]>,\n options?: Options,\n ) {\n super(args, options);\n this.node = \"MultiEmbedText\";\n }\n\n /**\n * Retrieve this node's output from a response.\n *\n * Output fields: `embeddings`\n *\n * https://www.substrate.run/nodes#MultiEmbedText\n */\n protected override async result(): Promise<\n OpenAPI.components[\"schemas\"][\"MultiEmbedTextOut\"] | undefined\n > {\n return Promise.resolve(\n this._response ? this._response.get(this) : undefined,\n ) as Promise<\n OpenAPI.components[\"schemas\"][\"MultiEmbedTextOut\"] | undefined\n >;\n }\n\n /**\n * Future reference to this node's output.\n *\n * Output fields: `embeddings`\n *\n * https://www.substrate.run/nodes#MultiEmbedText\n */\n override get future(): MultiEmbedTextOut {\n return new MultiEmbedTextOut(new Trace([], this));\n }\n\n protected override output(): OpenAPI.components[\"schemas\"][\"MultiEmbedTextOut\"] {\n return super.output() as OpenAPI.components[\"schemas\"][\"MultiEmbedTextOut\"];\n }\n}\nexport namespace EmbedImage {\n /**\n * EmbedImage Input\n * https://www.substrate.run/nodes#EmbedImage\n */\n export type Input = FutureExpandAny<\n OpenAPI.components[\"schemas\"][\"EmbedImageIn\"]\n >;\n\n /**\n * EmbedImage Output\n * https://www.substrate.run/nodes#EmbedImage\n */\n export type Output = OpenAPI.components[\"schemas\"][\"EmbedImageOut\"];\n}\n\n/**\n * Generate embedding for an image.\n *\n * https://www.substrate.run/nodes#EmbedImage\n */\nexport class EmbedImage extends Node {\n /**\n * Input arguments: `image_uri`, `collection_name` (optional), `doc_id` (optional), `model` (optional)\n *\n * Output fields: `embedding`\n *\n * https://www.substrate.run/nodes#EmbedImage\n */\n constructor(\n args: FutureExpandAny<OpenAPI.components[\"schemas\"][\"EmbedImageIn\"]>,\n options?: Options,\n ) {\n super(args, options);\n this.node = \"EmbedImage\";\n }\n\n /**\n * Retrieve this node's output from a response.\n *\n * Output fields: `embedding`\n *\n * https://www.substrate.run/nodes#EmbedImage\n */\n protected override async result(): Promise<\n OpenAPI.components[\"schemas\"][\"EmbedImageOut\"] | undefined\n > {\n return Promise.resolve(\n this._response ? this._response.get(this) : undefined,\n ) as Promise<OpenAPI.components[\"schemas\"][\"EmbedImageOut\"] | undefined>;\n }\n\n /**\n * Future reference to this node's output.\n *\n * Output fields: `embedding`\n *\n * https://www.substrate.run/nodes#EmbedImage\n */\n override get future(): EmbedImageOut {\n return new EmbedImageOut(new Trace([], this));\n }\n\n protected override output(): OpenAPI.components[\"schemas\"][\"EmbedImageOut\"] {\n return super.output() as OpenAPI.components[\"schemas\"][\"EmbedImageOut\"];\n }\n}\nexport namespace MultiEmbedImage {\n /**\n * MultiEmbedImage Input\n * https://www.substrate.run/nodes#MultiEmbedImage\n */\n export type Input = FutureExpandAny<\n OpenAPI.components[\"schemas\"][\"MultiEmbedImageIn\"]\n >;\n\n /**\n * MultiEmbedImage Output\n * https://www.substrate.run/nodes#MultiEmbedImage\n */\n export type Output = OpenAPI.components[\"schemas\"][\"MultiEmbedImageOut\"];\n}\n\n/**\n * Generate embeddings for multiple images.\n *\n * https://www.substrate.run/nodes#MultiEmbedImage\n */\nexport class MultiEmbedImage extends Node {\n /**\n * Input arguments: `items`, `collection_name` (optional), `model` (optional)\n *\n * Output fields: `embeddings`\n *\n * https://www.substrate.run/nodes#MultiEmbedImage\n */\n constructor(\n args: FutureExpandAny<OpenAPI.components[\"schemas\"][\"MultiEmbedImageIn\"]>,\n options?: Options,\n ) {\n super(args, options);\n this.node = \"MultiEmbedImage\";\n }\n\n /**\n * Retrieve this node's output from a response.\n *\n * Output fields: `embeddings`\n *\n * https://www.substrate.run/nodes#MultiEmbedImage\n */\n protected override async result(): Promise<\n OpenAPI.components[\"schemas\"][\"MultiEmbedImageOut\"] | undefined\n > {\n return Promise.resolve(\n this._response ? this._response.get(this) : undefined,\n ) as Promise<\n OpenAPI.components[\"schemas\"][\"MultiEmbedImageOut\"] | undefined\n >;\n }\n\n /**\n * Future reference to this node's output.\n *\n * Output fields: `embeddings`\n *\n * https://www.substrate.run/nodes#MultiEmbedImage\n */\n override get future(): MultiEmbedImageOut {\n return new MultiEmbedImageOut(new Trace([], this));\n }\n\n protected override output(): OpenAPI.components[\"schemas\"][\"MultiEmbedImageOut\"] {\n return super.output() as OpenAPI.components[\"schemas\"][\"MultiEmbedImageOut\"];\n }\n}\nexport namespace JinaV2 {\n /**\n * JinaV2 Input\n * https://www.substrate.run/nodes#JinaV2\n */\n export type Input = FutureExpandAny<\n OpenAPI.components[\"schemas\"][\"JinaV2In\"]\n >;\n\n /**\n * JinaV2 Output\n * https://www.substrate.run/nodes#JinaV2\n */\n export type Output = OpenAPI.components[\"schemas\"][\"JinaV2Out\"];\n}\n\n/**\n * Generate embeddings for multiple text documents using [Jina Embeddings 2](https://arxiv.org/abs/2310.19923).\n *\n * https://www.substrate.run/nodes#JinaV2\n */\nexport class JinaV2 extends Node {\n /**\n * Input arguments: `items`, `collection_name` (optional), `embedded_metadata_keys` (optional)\n *\n * Output fields: `embeddings`\n *\n * https://www.substrate.run/nodes#JinaV2\n */\n constructor(\n args: FutureExpandAny<OpenAPI.components[\"schemas\"][\"JinaV2In\"]>,\n options?: Options,\n ) {\n super(args, options);\n this.node = \"JinaV2\";\n }\n\n /**\n * Retrieve this node's output from a response.\n *\n * Output fields: `embeddings`\n *\n * https://www.substrate.run/nodes#JinaV2\n */\n protected override async result(): Promise<\n OpenAPI.components[\"schemas\"][\"JinaV2Out\"] | undefined\n > {\n return Promise.resolve(\n this._response ? this._response.get(this) : undefined,\n ) as Promise<OpenAPI.components[\"schemas\"][\"JinaV2Out\"] | undefined>;\n }\n\n /**\n * Future reference to this node's output.\n *\n * Output fields: `embeddings`\n *\n * https://www.substrate.run/nodes#JinaV2\n */\n override get future(): JinaV2Out {\n return new JinaV2Out(new Trace([], this));\n }\n\n protected override output(): OpenAPI.components[\"schemas\"][\"JinaV2Out\"] {\n return super.output() as OpenAPI.components[\"schemas\"][\"JinaV2Out\"];\n }\n}\nexport namespace CLIP {\n /**\n * CLIP Input\n * https://www.substrate.run/nodes#CLIP\n */\n export type Input = FutureExpandAny<OpenAPI.components[\"schemas\"][\"CLIPIn\"]>;\n\n /**\n * CLIP Output\n * https://www.substrate.run/nodes#CLIP\n */\n export type Output = OpenAPI.components[\"schemas\"][\"CLIPOut\"];\n}\n\n/**\n * Generate embeddings for text or images using [CLIP](https://openai.com/research/clip).\n *\n * https://www.substrate.run/nodes#CLIP\n */\nexport class CLIP extends Node {\n /**\n * Input arguments: `items`, `collection_name` (optional), `embedded_metadata_keys` (optional)\n *\n * Output fields: `embeddings`\n *\n * https://www.substrate.run/nodes#CLIP\n */\n constructor(\n args: FutureExpandAny<OpenAPI.components[\"schemas\"][\"CLIPIn\"]>,\n options?: Options,\n ) {\n super(args, options);\n this.node = \"CLIP\";\n }\n\n /**\n * Retrieve this node's output from a response.\n *\n * Output fields: `embeddings`\n *\n * https://www.substrate.run/nodes#CLIP\n */\n protected override async result(): Promise<\n OpenAPI.components[\"schemas\"][\"CLIPOut\"] | undefined\n > {\n return Promise.resolve(\n this._response ? this._response.get(this) : undefined,\n ) as Promise<OpenAPI.components[\"schemas\"][\"CLIPOut\"] | undefined>;\n }\n\n /**\n * Future reference to this node's output.\n *\n * Output fields: `embeddings`\n *\n * https://www.substrate.run/nodes#CLIP\n */\n override get future(): CLIPOut {\n return new CLIPOut(new Trace([], this));\n }\n\n protected override output(): OpenAPI.components[\"schemas\"][\"CLIPOut\"] {\n return super.output() as OpenAPI.components[\"schemas\"][\"CLIPOut\"];\n }\n}\nexport namespace FindOrCreateVectorStore {\n /**\n * FindOrCreateVectorStore Input\n * https://www.substrate.run/nodes#FindOrCreateVectorStore\n */\n export type Input = FutureExpandAny<\n OpenAPI.components[\"schemas\"][\"FindOrCreateVectorStoreIn\"]\n >;\n\n /**\n * FindOrCreateVectorStore Output\n * https://www.substrate.run/nodes#FindOrCreateVectorStore\n */\n export type Output =\n OpenAPI.components[\"schemas\"][\"FindOrCreateVectorStoreOut\"];\n}\n\n/**\n * Find a vector store matching the given collection name, or create a new vector store.\n *\n * https://www.substrate.run/nodes#FindOrCreateVectorStore\n */\nexport class FindOrCreateVectorStore extends Node {\n /**\n * Input arguments: `collection_name`, `model`\n *\n * Output fields: `collection_name`, `model`, `num_leaves` (optional)\n *\n * https://www.substrate.run/nodes#FindOrCreateVectorStore\n */\n constructor(\n args: FutureExpandAny<\n OpenAPI.components[\"schemas\"][\"FindOrCreateVectorStoreIn\"]\n >,\n options?: Options,\n ) {\n super(args, options);\n this.node = \"FindOrCreateVectorStore\";\n }\n\n /**\n * Retrieve this node's output from a response.\n *\n * Output fields: `collection_name`, `model`, `num_leaves` (optional)\n *\n * https://www.substrate.run/nodes#FindOrCreateVectorStore\n */\n protected override async result(): Promise<\n OpenAPI.components[\"schemas\"][\"FindOrCreateVectorStoreOut\"] | undefined\n > {\n return Promise.resolve(\n this._response ? this._response.get(this) : undefined,\n ) as Promise<\n OpenAPI.components[\"schemas\"][\"FindOrCreateVectorStoreOut\"] | undefined\n >;\n }\n\n /**\n * Future reference to this node's output.\n *\n * Output fields: `collection_name`, `model`, `num_leaves` (optional)\n *\n * https://www.substrate.run/nodes#FindOrCreateVectorStore\n */\n override get future(): FindOrCreateVectorStoreOut {\n return new FindOrCreateVectorStoreOut(new Trace([], this));\n }\n\n protected override output(): OpenAPI.components[\"schemas\"][\"FindOrCreateVectorStoreOut\"] {\n return super.output() as OpenAPI.components[\"schemas\"][\"FindOrCreateVectorStoreOut\"];\n }\n}\nexport namespace ListVectorStores {\n /**\n * ListVectorStores Input\n * https://www.substrate.run/nodes#ListVectorStores\n */\n export type Input = FutureExpandAny<\n OpenAPI.components[\"schemas\"][\"ListVectorStoresIn\"]\n >;\n\n /**\n * ListVectorStores Output\n * https://www.substrate.run/nodes#ListVectorStores\n */\n export type Output = OpenAPI.components[\"schemas\"][\"ListVectorStoresOut\"];\n}\n\n/**\n * List all vector stores.\n *\n * https://www.substrate.run/nodes#ListVectorStores\n */\nexport class ListVectorStores extends Node {\n /**\n * Input arguments:\n *\n * Output fields: `items` (optional)\n *\n * https://www.substrate.run/nodes#ListVectorStores\n */\n constructor(\n args: FutureExpandAny<OpenAPI.components[\"schemas\"][\"ListVectorStoresIn\"]>,\n options?: Options,\n ) {\n super(args, options);\n this.node = \"ListVectorStores\";\n }\n\n /**\n * Retrieve this node's output from a response.\n *\n * Output fields: `items` (optional)\n *\n * https://www.substrate.run/nodes#ListVectorStores\n */\n protected override async result(): Promise<\n OpenAPI.components[\"schemas\"][\"ListVectorStoresOut\"] | undefined\n > {\n return Promise.resolve(\n this._response ? this._response.get(this) : undefined,\n ) as Promise<\n OpenAPI.components[\"schemas\"][\"ListVectorStoresOut\"] | undefined\n >;\n }\n\n /**\n * Future reference to this node's output.\n *\n * Output fields: `items` (optional)\n *\n * https://www.substrate.run/nodes#ListVectorStores\n */\n override get future(): ListVectorStoresOut {\n return new ListVectorStoresOut(new Trace([], this));\n }\n\n protected override output(): OpenAPI.components[\"schemas\"][\"ListVectorStoresOut\"] {\n return super.output() as OpenAPI.components[\"schemas\"][\"ListVectorStoresOut\"];\n }\n}\nexport namespace DeleteVectorStore {\n /**\n * DeleteVectorStore Input\n * https://www.substrate.run/nodes#DeleteVectorStore\n */\n export type Input = FutureExpandAny<\n OpenAPI.components[\"schemas\"][\"DeleteVectorStoreIn\"]\n >;\n\n /**\n * DeleteVectorStore Output\n * https://www.substrate.run/nodes#DeleteVectorStore\n */\n export type Output = OpenAPI.components[\"schemas\"][\"DeleteVectorStoreOut\"];\n}\n\n/**\n * Delete a vector store.\n *\n * https://www.substrate.run/nodes#DeleteVectorStore\n */\nexport class DeleteVectorStore extends Node {\n /**\n * Input arguments: `collection_name`, `model`\n *\n * Output fields: `collection_name`, `model`\n *\n * https://www.substrate.run/nodes#DeleteVectorStore\n */\n constructor(\n args: FutureExpandAny<OpenAPI.components[\"schemas\"][\"DeleteVectorStoreIn\"]>,\n options?: Options,\n ) {\n super(args, options);\n this.node = \"DeleteVectorStore\";\n }\n\n /**\n * Retrieve this node's output from a response.\n *\n * Output fields: `collection_name`, `model`\n *\n * https://www.substrate.run/nodes#DeleteVectorStore\n */\n protected override async result(): Promise<\n OpenAPI.components[\"schemas\"][\"DeleteVectorStoreOut\"] | undefined\n > {\n return Promise.resolve(\n this._response ? this._response.get(this) : undefined,\n ) as Promise<\n OpenAPI.components[\"schemas\"][\"DeleteVectorStoreOut\"] | undefined\n >;\n }\n\n /**\n * Future reference to this node's output.\n *\n * Output fields: `collection_name`, `model`\n *\n * https://www.substrate.run/nodes#DeleteVectorStore\n */\n override get future(): DeleteVectorStoreOut {\n return new DeleteVectorStoreOut(new Trace([], this));\n }\n\n protected override output(): OpenAPI.components[\"schemas\"][\"DeleteVectorStoreOut\"] {\n return super.output() as OpenAPI.components[\"schemas\"][\"DeleteVectorStoreOut\"];\n }\n}\nexport namespace QueryVectorStore {\n /**\n * QueryVectorStore Input\n * https://www.substrate.run/nodes#QueryVectorStore\n */\n export type Input = FutureExpandAny<\n OpenAPI.components[\"schemas\"][\"QueryVectorStoreIn\"]\n >;\n\n /**\n * QueryVectorStore Output\n * https://www.substrate.run/nodes#QueryVectorStore\n */\n export type Output = OpenAPI.components[\"schemas\"][\"QueryVectorStoreOut\"];\n}\n\n/**\n * Query a vector store for similar vectors.\n *\n * https://www.substrate.run/nodes#QueryVectorStore\n */\nexport class QueryVectorStore extends Node {\n /**\n * Input arguments: `collection_name`, `model`, `query_strings` (optional), `query_image_uris` (optional), `query_vectors` (optional), `query_ids` (optional), `top_k` (optional), `ef_search` (optional), `num_leaves_to_search` (optional), `include_values` (optional), `include_metadata` (optional), `filters` (optional)\n *\n * Output fields: `results`, `collection_name` (optional), `model` (optional)\n *\n * https://www.substrate.run/nodes#QueryVectorStore\n */\n constructor(\n args: FutureExpandAny<OpenAPI.components[\"schemas\"][\"QueryVectorStoreIn\"]>,\n options?: Options,\n ) {\n super(args, options);\n this.node = \"QueryVectorStore\";\n }\n\n /**\n * Retrieve this node's output from a response.\n *\n * Output fields: `results`, `collection_name` (optional), `model` (optional)\n *\n * https://www.substrate.run/nodes#QueryVectorStore\n */\n protected override async result(): Promise<\n OpenAPI.components[\"schemas\"][\"QueryVectorStoreOut\"] | undefined\n > {\n return Promise.resolve(\n this._response ? this._response.get(this) : undefined,\n ) as Promise<\n OpenAPI.components[\"schemas\"][\"QueryVectorStoreOut\"] | undefined\n >;\n }\n\n /**\n * Future reference to this node's output.\n *\n * Output fields: `results`, `collection_name` (optional), `model` (optional)\n *\n * https://www.substrate.run/nodes#QueryVectorStore\n */\n override get future(): QueryVectorStoreOut {\n return new QueryVectorStoreOut(new Trace([], this));\n }\n\n protected override output(): OpenAPI.components[\"schemas\"][\"QueryVectorStoreOut\"] {\n return super.output() as OpenAPI.components[\"schemas\"][\"QueryVectorStoreOut\"];\n }\n}\nexport namespace FetchVectors {\n /**\n * FetchVectors Input\n * https://www.substrate.run/nodes#FetchVectors\n */\n export type Input = FutureExpandAny<\n OpenAPI.components[\"schemas\"][\"FetchVectorsIn\"]\n >;\n\n /**\n * FetchVectors Output\n * https://www.substrate.run/nodes#FetchVectors\n */\n export type Output = OpenAPI.components[\"schemas\"][\"FetchVectorsOut\"];\n}\n\n/**\n * Fetch vectors from a vector store.\n *\n * https://www.substrate.run/nodes#FetchVectors\n */\nexport class FetchVectors extends Node {\n /**\n * Input arguments: `collection_name`, `model`, `ids`\n *\n * Output fields: `vectors`\n *\n * https://www.substrate.run/nodes#FetchVectors\n */\n constructor(\n args: FutureExpandAny<OpenAPI.components[\"schemas\"][\"FetchVectorsIn\"]>,\n options?: Options,\n ) {\n super(args, options);\n this.node = \"FetchVectors\";\n }\n\n /**\n * Retrieve this node's output from a response.\n *\n * Output fields: `vectors`\n *\n * https://www.substrate.run/nodes#FetchVectors\n */\n protected override async result(): Promise<\n OpenAPI.components[\"schemas\"][\"FetchVectorsOut\"] | undefined\n > {\n return Promise.resolve(\n this._response ? this._response.get(this) : undefined,\n ) as Promise<OpenAPI.components[\"schemas\"][\"FetchVectorsOut\"] | undefined>;\n }\n\n /**\n * Future reference to this node's output.\n *\n * Output fields: `vectors`\n *\n * https://www.substrate.run/nodes#FetchVectors\n */\n override get future(): FetchVectorsOut {\n return new FetchVectorsOut(new Trace([], this));\n }\n\n protected override output(): OpenAPI.components[\"schemas\"][\"FetchVectorsOut\"] {\n return super.output() as OpenAPI.components[\"schemas\"][\"FetchVectorsOut\"];\n }\n}\nexport namespace UpdateVectors {\n /**\n * UpdateVectors Input\n * https://www.substrate.run/nodes#UpdateVectors\n */\n export type Input = FutureExpandAny<\n OpenAPI.components[\"schemas\"][\"UpdateVectorsIn\"]\n >;\n\n /**\n * UpdateVectors Output\n * https://www.substrate.run/nodes#UpdateVectors\n */\n export type Output = OpenAPI.components[\"schemas\"][\"UpdateVectorsOut\"];\n}\n\n/**\n * Update vectors in a vector store.\n *\n * https://www.substrate.run/nodes#UpdateVectors\n */\nexport class UpdateVectors extends Node {\n /**\n * Input arguments: `collection_name`, `model`, `vectors`\n *\n * Output fields: `count`\n *\n * https://www.substrate.run/nodes#UpdateVectors\n */\n constructor(\n args: FutureExpandAny<OpenAPI.components[\"schemas\"][\"UpdateVectorsIn\"]>,\n options?: Options,\n ) {\n super(args, options);\n this.node = \"UpdateVectors\";\n }\n\n /**\n * Retrieve this node's output from a response.\n *\n * Output fields: `count`\n *\n * https://www.substrate.run/nodes#UpdateVectors\n */\n protected override async result(): Promise<\n OpenAPI.components[\"schemas\"][\"UpdateVectorsOut\"] | undefined\n > {\n return Promise.resolve(\n this._response ? this._response.get(this) : undefined,\n ) as Promise<OpenAPI.components[\"schemas\"][\"UpdateVectorsOut\"] | undefined>;\n }\n\n /**\n * Future reference to this node's output.\n *\n * Output fields: `count`\n *\n * https://www.substrate.run/nodes#UpdateVectors\n */\n override get future(): UpdateVectorsOut {\n return new UpdateVectorsOut(new Trace([], this));\n }\n\n protected override output(): OpenAPI.components[\"schemas\"][\"UpdateVectorsOut\"] {\n return super.output() as OpenAPI.components[\"schemas\"][\"UpdateVectorsOut\"];\n }\n}\nexport namespace DeleteVectors {\n /**\n * DeleteVectors Input\n * https://www.substrate.run/nodes#DeleteVectors\n */\n export type Input = FutureExpandAny<\n OpenAPI.components[\"schemas\"][\"DeleteVectorsIn\"]\n >;\n\n /**\n * DeleteVectors Output\n * https://www.substrate.run/nodes#DeleteVectors\n */\n export type Output = OpenAPI.components[\"schemas\"][\"DeleteVectorsOut\"];\n}\n\n/**\n * Delete vectors in a vector store.\n *\n * https://www.substrate.run/nodes#DeleteVectors\n */\nexport class DeleteVectors extends Node {\n /**\n * Input arguments: `collection_name`, `model`, `ids`\n *\n * Output fields: `count`\n *\n * https://www.substrate.run/nodes#DeleteVectors\n */\n constructor(\n args: FutureExpandAny<OpenAPI.components[\"schemas\"][\"DeleteVectorsIn\"]>,\n options?: Options,\n ) {\n super(args, options);\n this.node = \"DeleteVectors\";\n }\n\n /**\n * Retrieve this node's output from a response.\n *\n * Output fields: `count`\n *\n * https://www.substrate.run/nodes#DeleteVectors\n */\n protected override async result(): Promise<\n OpenAPI.components[\"schemas\"][\"DeleteVectorsOut\"] | undefined\n > {\n return Promise.resolve(\n this._response ? this._response.get(this) : undefined,\n ) as Promise<OpenAPI.components[\"schemas\"][\"DeleteVectorsOut\"] | undefined>;\n }\n\n /**\n * Future reference to this node's output.\n *\n * Output fields: `count`\n *\n * https://www.substrate.run/nodes#DeleteVectors\n */\n override get future(): DeleteVectorsOut {\n return new DeleteVectorsOut(new Trace([], this));\n }\n\n protected override output(): OpenAPI.components[\"schemas\"][\"DeleteVectorsOut\"] {\n return super.output() as OpenAPI.components[\"schemas\"][\"DeleteVectorsOut\"];\n }\n}\nexport type AnyNode =\n | Experimental\n | Box\n | If\n | ComputeText\n | MultiComputeText\n | BatchComputeText\n | BatchComputeJSON\n | ComputeJSON\n | MultiComputeJSON\n | Mistral7BInstruct\n | Mixtral8x7BInstruct\n | Llama3Instruct8B\n | Llama3Instruct70B\n | Firellava13B\n | GenerateImage\n | MultiGenerateImage\n | InpaintImage\n | MultiInpaintImage\n | StableDiffusionXLLightning\n | StableDiffusionXLInpaint\n | StableDiffusionXLControlNet\n | StableVideoDiffusion\n | InterpolateFrames\n | TranscribeSpeech\n | GenerateSpeech\n | RemoveBackground\n | EraseImage\n | UpscaleImage\n | SegmentUnderPoint\n | SegmentAnything\n | SplitDocument\n | EmbedText\n | MultiEmbedText\n | EmbedImage\n | MultiEmbedImage\n | JinaV2\n | CLIP\n | FindOrCreateVectorStore\n | ListVectorStores\n | DeleteVectorStore\n | QueryVectorStore\n | FetchVectors\n | UpdateVectors\n | DeleteVectors;\n\nexport type NodeOutput<T> = T extends Experimental\n ? OpenAPI.components[\"schemas\"][\"ExperimentalOut\"]\n : T extends Box\n ? OpenAPI.components[\"schemas\"][\"BoxOut\"]\n : T extends If\n ? OpenAPI.components[\"schemas\"][\"IfOut\"]\n : T extends ComputeText\n ? OpenAPI.components[\"schemas\"][\"ComputeTextOut\"]\n : T extends MultiComputeText\n ? OpenAPI.components[\"schemas\"][\"MultiComputeTextOut\"]\n : T extends BatchComputeText\n ? OpenAPI.components[\"schemas\"][\"BatchComputeTextOut\"]\n : T extends BatchComputeJSON\n ? OpenAPI.components[\"schemas\"][\"BatchComputeJSONOut\"]\n : T extends ComputeJSON\n ? OpenAPI.components[\"schemas\"][\"ComputeJSONOut\"]\n : T extends MultiComputeJSON\n ? OpenAPI.components[\"schemas\"][\"MultiComputeJSONOut\"]\n : T extends Mistral7BInstruct\n ? OpenAPI.components[\"schemas\"][\"Mistral7BInstructOut\"]\n : T extends Mixtral8x7BInstruct\n ? OpenAPI.components[\"schemas\"][\"Mixtral8x7BInstructOut\"]\n : T extends Llama3Instruct8B\n ? OpenAPI.components[\"schemas\"][\"Llama3Instruct8BOut\"]\n : T extends Llama3Instruct70B\n ? OpenAPI.components[\"schemas\"][\"Llama3Instruct70BOut\"]\n : T extends Firellava13B\n ? OpenAPI.components[\"schemas\"][\"Firellava13BOut\"]\n : T extends GenerateImage\n ? OpenAPI.components[\"schemas\"][\"GenerateImageOut\"]\n : T extends MultiGenerateImage\n ? OpenAPI.components[\"schemas\"][\"MultiGenerateImageOut\"]\n : T extends InpaintImage\n ? OpenAPI.components[\"schemas\"][\"InpaintImageOut\"]\n : T extends MultiInpaintImage\n ? OpenAPI.components[\"schemas\"][\"MultiInpaintImageOut\"]\n : T extends StableDiffusionXLLightning\n ? OpenAPI.components[\"schemas\"][\"StableDiffusionXLLightningOut\"]\n : T extends StableDiffusionXLInpaint\n ? OpenAPI.components[\"schemas\"][\"StableDiffusionXLInpaintOut\"]\n : T extends StableDiffusionXLControlNet\n ? OpenAPI.components[\"schemas\"][\"StableDiffusionXLControlNetOut\"]\n : T extends StableVideoDiffusion\n ? OpenAPI.components[\"schemas\"][\"StableVideoDiffusionOut\"]\n : T extends InterpolateFrames\n ? OpenAPI.components[\"schemas\"][\"InterpolateFramesOut\"]\n : T extends TranscribeSpeech\n ? OpenAPI.components[\"schemas\"][\"TranscribeSpeechOut\"]\n : T extends GenerateSpeech\n ? OpenAPI.components[\"schemas\"][\"GenerateSpeechOut\"]\n : T extends RemoveBackground\n ? OpenAPI.components[\"schemas\"][\"RemoveBackgroundOut\"]\n : T extends EraseImage\n ? OpenAPI.components[\"schemas\"][\"EraseImageOut\"]\n : T extends UpscaleImage\n ? OpenAPI.components[\"schemas\"][\"UpscaleImageOut\"]\n : T extends SegmentUnderPoint\n ? OpenAPI.components[\"schemas\"][\"SegmentUnderPointOut\"]\n : T extends SegmentAnything\n ? OpenAPI.components[\"schemas\"][\"SegmentAnythingOut\"]\n : T extends SplitDocument\n ? OpenAPI.components[\"schemas\"][\"SplitDocumentOut\"]\n : T extends EmbedText\n ? OpenAPI.components[\"schemas\"][\"EmbedTextOut\"]\n : T extends MultiEmbedText\n ? OpenAPI.components[\"schemas\"][\"MultiEmbedTextOut\"]\n : T extends EmbedImage\n ? OpenAPI.components[\"schemas\"][\"EmbedImageOut\"]\n : T extends MultiEmbedImage\n ? OpenAPI.components[\"schemas\"][\"MultiEmbedImageOut\"]\n : T extends JinaV2\n ? OpenAPI.components[\"schemas\"][\"JinaV2Out\"]\n : T extends CLIP\n ? OpenAPI.components[\"schemas\"][\"CLIPOut\"]\n : T extends FindOrCreateVectorStore\n ? OpenAPI.components[\"schemas\"][\"FindOrCreateVectorStoreOut\"]\n : T extends ListVectorStores\n ? OpenAPI.components[\"schemas\"][\"ListVectorStoresOut\"]\n : T extends DeleteVectorStore\n ? OpenAPI.components[\"schemas\"][\"DeleteVectorStoreOut\"]\n : T extends QueryVectorStore\n ? OpenAPI.components[\"schemas\"][\"QueryVectorStoreOut\"]\n : T extends FetchVectors\n ? OpenAPI.components[\"schemas\"][\"FetchVectorsOut\"]\n : T extends UpdateVectors\n ? OpenAPI.components[\"schemas\"][\"UpdateVectorsOut\"]\n : T extends DeleteVectors\n ? OpenAPI.components[\"schemas\"][\"DeleteVectorsOut\"]\n : never;\n","/**\n * EventSource/Server-Sent Events parser\n * @see https://html.spec.whatwg.org/multipage/server-sent-events.html\n *\n * Based on code from {@link https://github.com/rexxars/eventsource-parser},\n * which is licensed under the MIT license {@link https://github.com/rexxars/eventsource-parser/blob/main/LICENSE}\n *\n * Which is based on code from the {@link https://github.com/EventSource/eventsource | EventSource module},\n * which is licensed under the MIT license. And copyrighted the EventSource GitHub organisation.\n */\n\n/**\n * Creates a new EventSource parser.\n * @example\n *\n * // create a parser and read start reading a string\n * let parser = createParser()\n * for (const message of parser.getMessages(str)) {\n * // ...\n * }\n *\n * // if you want to reuse the parser.\n * parser.reset()\n */\nexport function createParser() {\n // Processing state\n let isFirstChunk: boolean;\n let buffer: string;\n let startingPosition: number;\n let startingFieldLength: number;\n\n // Event state\n let eventId: string | undefined;\n let eventName: string | undefined;\n let data: string;\n\n reset();\n return { getMessages, reset };\n\n function reset(): void {\n isFirstChunk = true;\n buffer = \"\";\n startingPosition = 0;\n startingFieldLength = -1;\n\n eventId = undefined;\n eventName = undefined;\n data = \"\";\n }\n\n function* getMessages(chunk: string) {\n buffer = buffer ? buffer + chunk : chunk;\n\n // Strip any UTF8 byte order mark (BOM) at the start of the stream.\n // Note that we do not strip any non - UTF8 BOM, as eventsource streams are\n // always decoded as UTF8 as per the specification.\n if (isFirstChunk && hasBom(buffer)) {\n buffer = buffer.slice(BOM.length);\n }\n\n isFirstChunk = false;\n\n // Set up chunk-specific processing state\n const length = buffer.length;\n let position = 0;\n let discardTrailingNewline = false;\n\n // Read the current buffer byte by byte\n while (position < length) {\n // EventSource allows for carriage return + line feed, which means we\n // need to ignore a linefeed character if the previous character was a\n // carriage return\n // @todo refactor to reduce nesting, consider checking previous byte?\n // @todo but consider multiple chunks etc\n if (discardTrailingNewline) {\n if (buffer[position] === \"\\n\") {\n ++position;\n }\n discardTrailingNewline = false;\n }\n\n let lineLength = -1;\n let fieldLength = startingFieldLength;\n let character: string;\n\n for (\n let index = startingPosition;\n lineLength < 0 && index < length;\n ++index\n ) {\n character = buffer[index] as string;\n if (character === \":\" && fieldLength < 0) {\n fieldLength = index - position;\n } else if (character === \"\\r\") {\n discardTrailingNewline = true;\n lineLength = index - position;\n } else if (character === \"\\n\") {\n lineLength = index - position;\n }\n }\n\n if (lineLength < 0) {\n startingPosition = length - position;\n startingFieldLength = fieldLength;\n break;\n } else {\n startingPosition = 0;\n startingFieldLength = -1;\n }\n\n for (let event of parseEventStreamLine(\n buffer,\n position,\n fieldLength,\n lineLength,\n )) {\n if (event) yield event;\n }\n\n position += lineLength + 1;\n }\n\n if (position === length) {\n // If we consumed the entire buffer to read the event, reset the buffer\n buffer = \"\";\n } else if (position > 0) {\n // If there are bytes left to process, set the buffer to the unprocessed\n // portion of the buffer only\n buffer = buffer.slice(position);\n }\n }\n\n function* parseEventStreamLine(\n lineBuffer: string,\n index: number,\n fieldLength: number,\n lineLength: number,\n ) {\n if (lineLength === 0) {\n // We reached the last line of this event\n if (data.length > 0) {\n yield {\n type: \"event\",\n id: eventId,\n event: eventName || undefined,\n data: data.slice(0, -1), // remove trailing newline\n };\n\n data = \"\";\n eventId = undefined;\n }\n eventName = undefined;\n yield null;\n }\n\n const noValue = fieldLength < 0;\n const field = lineBuffer.slice(\n index,\n index + (noValue ? lineLength : fieldLength),\n );\n let step = 0;\n\n if (noValue) {\n step = lineLength;\n } else if (lineBuffer[index + fieldLength + 1] === \" \") {\n step = fieldLength + 2;\n } else {\n step = fieldLength + 1;\n }\n\n const position = index + step;\n const valueLength = lineLength - step;\n const value = lineBuffer.slice(position, position + valueLength).toString();\n\n if (field === \"data\") {\n data += value ? `${value}\\n` : \"\\n\";\n } else if (field === \"event\") {\n eventName = value;\n } else if (field === \"id\" && !value.includes(\"\\u0000\")) {\n eventId = value;\n } else if (field === \"retry\") {\n const retry = parseInt(value, 10);\n if (!Number.isNaN(retry)) {\n yield { type: \"reconnect-interval\", value: retry };\n }\n }\n }\n}\n\nconst BOM = [239, 187, 191];\n\nfunction hasBom(buffer: string) {\n return BOM.every(\n (charCode: number, index: number) => buffer.charCodeAt(index) === charCode,\n );\n}\n","import { createParser } from \"substrate/EventSource\";\nimport { NodeMessage, SSEMessage } from \"substrate/Streaming\";\nimport { SubstrateError } from \"substrate/Error\";\nimport { AnyNode, NodeOutput } from \"substrate/Nodes\";\n\n/**\n * `StreamingResponse` is an async iterator that is used to interact with a stream of Server-Sent Events\n */\nexport class StreamingResponse {\n apiResponse: Response;\n iterator: any;\n\n constructor(response: Response, iterator: any) {\n this.apiResponse = response;\n this.iterator = iterator;\n }\n\n [Symbol.asyncIterator]() {\n return this.iterator;\n }\n\n tee(n: number = 2) {\n return tee(n, this.iterator).map(\n (iterator) => new StreamingResponse(this.apiResponse, iterator),\n );\n }\n\n static async fromReponse(response: Response) {\n if (!response.body) {\n throw new SubstrateError(\"Response body must be present\");\n }\n\n const decoder = new TextDecoder(\"utf-8\");\n const parser = createParser();\n\n async function* iterator(): AsyncGenerator<SSEMessage> {\n for await (const chunk of readableStreamAsyncIterable(response.body)) {\n for (const message of parser.getMessages(\n decoder.decode(chunk as any),\n )) {\n if (message.data) {\n try {\n const sseMessage = JSON.parse(message.data);\n yield sseMessage as SSEMessage;\n } catch (_err) {\n throw new SubstrateError(\n `Bad Server-Sent Event message: ${message}`,\n );\n }\n }\n }\n }\n }\n\n return new StreamingResponse(response, iterator());\n }\n}\n\n/**\n * `SubstrateStreamingResponse`\n */\nexport class SubstrateStreamingResponse extends StreamingResponse {\n public apiRequest: Request;\n\n constructor(request: Request, response: Response, iterator: any) {\n super(response, iterator);\n this.apiRequest = request;\n }\n\n async *get<T extends AnyNode>(\n node: T,\n ): AsyncGenerator<NodeMessage<NodeOutput<T>>> {\n for await (let message of this) {\n if (message?.node_id === node.id) {\n yield message as NodeMessage<NodeOutput<T>>;\n }\n }\n }\n\n override tee(n: number = 2) {\n return tee(n, this.iterator).map(\n (iterator) =>\n new SubstrateStreamingResponse(\n this.apiRequest,\n this.apiResponse,\n iterator,\n ),\n );\n }\n\n static async fromRequestReponse(request: Request, response: Response) {\n const streamingResponse = await StreamingResponse.fromReponse(response);\n return new SubstrateStreamingResponse(\n request,\n response,\n streamingResponse.iterator,\n );\n }\n}\n\nfunction readableStreamAsyncIterable(stream: any) {\n // When stream is already an iterator we return it. This is the case when using a\n // `response.body` from node-fetch.\n if (stream[Symbol.asyncIterator]) return stream;\n\n // Otherwise we use getReader and produce an async iterable from the ReadableStream.\n // This is the variant we would see when using an implementation of fetch closer to\n // the web.\n const reader = stream.getReader();\n return {\n async next() {\n try {\n const result = await reader.read();\n if (result?.done) reader.releaseLock(); // release lock when stream becomes closed\n return result;\n } catch (e) {\n reader.releaseLock(); // release lock when stream becomes errored\n throw e;\n }\n },\n async return() {\n const cancelPromise = reader.cancel();\n reader.releaseLock();\n await cancelPromise;\n return { done: true, value: undefined };\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n };\n}\n\nfunction tee(n: number = 2, iterator: any) {\n const queues: any[] = [];\n for (let i = 0; i < n; i++) {\n queues.push([]);\n }\n\n const teeIterator = (queue: SSEMessage[]) => {\n return {\n next: () => {\n if (queue.length === 0) {\n const result = iterator.next();\n for (let q of queues) q.push(result);\n }\n return queue.shift();\n },\n };\n };\n\n return queues.map((q) => teeIterator(q));\n}\n","import { FutureAnyObject, FutureString } from \"substrate/Future\";\nimport { StreamingResponse } from \"substrate/SubstrateStreamingResponse\";\n\nexport const sb = {\n concat: FutureString.concat,\n jq: FutureAnyObject.jq,\n interpolate: FutureString.interpolate,\n streaming: {\n fromSSEResponse: StreamingResponse.fromReponse,\n },\n};\n","export const VERSION = \"120240617.1.9\";\n","{\n \"openapi\": \"3.1.0\",\n \"info\": {\n \"title\": \"Substrate API\",\n \"version\": \"2024-06-17\",\n \"contact\": {\n \"email\": \"support@substrate.run\"\n },\n \"description\": \"Substrate API\"\n },\n \"servers\": [\n {\n \"url\": \"https://api.substrate.run\",\n \"description\": \"Substrate API\"\n }\n ],\n \"components\": {\n \"schemas\": {\n \"ErrorOut\": {\n \"title\": \"ErrorOut\",\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"enum\": [\"api_error\", \"invalid_request_error\", \"dependency_error\"],\n \"description\": \"The type of error returned.\"\n },\n \"message\": {\n \"type\": \"string\",\n \"description\": \"A message providing more details about the error.\"\n },\n \"status_code\": {\n \"type\": \"integer\",\n \"default\": 500,\n \"description\": \"The HTTP status code for the error.\"\n }\n },\n \"required\": [\"type\", \"message\"]\n },\n \"ExperimentalIn\": {\n \"title\": \"ExperimentalIn\",\n \"type\": \"object\",\n \"properties\": {\n \"name\": {\n \"type\": \"string\",\n \"description\": \"Identifier.\",\n \"x-loggable\": true\n },\n \"args\": {\n \"type\": \"object\",\n \"description\": \"Arguments.\",\n \"additionalProperties\": true,\n \"x-loggable\": true\n },\n \"timeout\": {\n \"type\": \"integer\",\n \"description\": \"Timeout in seconds.\",\n \"default\": 60,\n \"x-loggable\": true\n }\n },\n \"required\": [\"name\", \"args\"]\n },\n \"ExperimentalOut\": {\n \"title\": \"ExperimentalOut\",\n \"type\": \"object\",\n \"properties\": {\n \"output\": {\n \"type\": \"object\",\n \"description\": \"Response.\",\n \"additionalProperties\": true\n }\n },\n \"required\": [\"output\"]\n },\n \"BoxIn\": {\n \"title\": \"BoxIn\",\n \"type\": \"object\",\n \"properties\": {\n \"value\": {\n \"description\": \"Values to box.\",\n \"x-loggable\": false\n }\n },\n \"required\": [\"value\"]\n },\n \"BoxOut\": {\n \"title\": \"BoxOut\",\n \"type\": \"object\",\n \"properties\": {\n \"value\": {\n \"description\": \"The evaluated result.\",\n \"x-loggable\": false\n }\n },\n \"required\": [\"value\"]\n },\n \"IfIn\": {\n \"title\": \"IfIn\",\n \"type\": \"object\",\n \"properties\": {\n \"condition\": {\n \"type\": \"boolean\",\n \"description\": \"Condition.\",\n \"x-loggable\": false\n },\n \"value_if_true\": {\n \"description\": \"Result when condition is true.\",\n \"x-loggable\": false\n },\n \"value_if_false\": {\n \"description\": \"Result when condition is false.\",\n \"x-loggable\": false\n }\n },\n \"required\": [\"condition\", \"value_if_true\"]\n },\n \"IfOut\": {\n \"title\": \"IfOut\",\n \"type\": \"object\",\n \"properties\": {\n \"result\": {\n \"description\": \"Result. Null if `value_if_false` is not provided and `condition` is false.\"\n }\n },\n \"required\": [\"result\"]\n },\n \"RunPythonIn\": {\n \"title\": \"RunPythonIn\",\n \"type\": \"object\",\n \"properties\": {\n \"pkl_function\": {\n \"type\": \"string\",\n \"description\": \"Pickled function.\",\n \"x-loggable\": true\n },\n \"kwargs\": {\n \"type\": \"object\",\n \"description\": \"Keyword arguments to your function.\",\n \"additionalProperties\": true,\n \"x-loggable\": true\n },\n \"python_version\": {\n \"type\": \"string\",\n \"description\": \"Python version.\",\n \"x-loggable\": true\n },\n \"pip_install\": {\n \"description\": \"Python packages to install. You must import them in your code.\",\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"x-loggable\": true\n }\n },\n \"required\": [\"kwargs\"]\n },\n \"RunPythonOut\": {\n \"title\": \"RunPythonOut\",\n \"type\": \"object\",\n \"properties\": {\n \"output\": {\n \"description\": \"Return value of your function.\"\n },\n \"pkl_output\": {\n \"type\": \"string\",\n \"description\": \"Pickled return value.\"\n },\n \"stdout\": {\n \"type\": \"string\",\n \"description\": \"Everything printed to stdout while running your code.\"\n },\n \"stderr\": {\n \"type\": \"string\",\n \"description\": \"Contents of stderr if your code did not run successfully.\"\n }\n },\n \"required\": [\"stdout\", \"stderr\"]\n },\n \"ComputeTextIn\": {\n \"title\": \"ComputeTextIn\",\n \"type\": \"object\",\n \"properties\": {\n \"prompt\": {\n \"type\": \"string\",\n \"description\": \"Input prompt.\"\n },\n \"image_uris\": {\n \"description\": \"Image prompts.\",\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"temperature\": {\n \"type\": \"number\",\n \"format\": \"float\",\n \"minimum\": 0,\n \"maximum\": 1,\n \"default\": 0.4,\n \"description\": \"Sampling temperature to use. Higher values make the output more random, lower values make the output more deterministic.\",\n \"x-loggable\": true\n },\n \"max_tokens\": {\n \"type\": \"integer\",\n \"description\": \"Maximum number of tokens to generate.\",\n \"x-loggable\": true\n },\n \"model\": {\n \"type\": \"string\",\n \"enum\": [\n \"Mistral7BInstruct\",\n \"Mixtral8x7BInstruct\",\n \"Llama3Instruct8B\",\n \"Llama3Instruct70B\",\n \"Llama3Instruct405B\",\n \"Firellava13B\",\n \"gpt-4o\",\n \"gpt-4o-mini\",\n \"claude-3-5-sonnet-20240620\"\n ],\n \"description\": \"Selected model. `Firellava13B` is automatically selected when `image_uris` is provided.\",\n \"default\": \"Llama3Instruct8B\",\n \"x-loggable\": true\n }\n },\n \"required\": [\"prompt\"]\n },\n \"ComputeTextOut\": {\n \"title\": \"ComputeTextOut\",\n \"type\": \"object\",\n \"properties\": {\n \"text\": {\n \"type\": \"string\",\n \"description\": \"Text response.\"\n }\n },\n \"required\": [\"text\"]\n },\n \"ComputeJSONIn\": {\n \"title\": \"ComputeJSONIn\",\n \"type\": \"object\",\n \"properties\": {\n \"prompt\": {\n \"type\": \"string\",\n \"description\": \"Input prompt.\"\n },\n \"json_schema\": {\n \"type\": \"object\",\n \"description\": \"JSON schema to guide `json_object` response.\",\n \"additionalProperties\": true\n },\n \"temperature\": {\n \"type\": \"number\",\n \"format\": \"float\",\n \"minimum\": 0,\n \"maximum\": 1,\n \"default\": 0.4,\n \"description\": \"Sampling temperature to use. Higher values make the output more random, lower values make the output more deterministic.\",\n \"x-loggable\": true\n },\n \"max_tokens\": {\n \"type\": \"integer\",\n \"description\": \"Maximum number of tokens to generate.\",\n \"x-loggable\": true\n },\n \"model\": {\n \"type\": \"string\",\n \"enum\": [\n \"Mistral7BInstruct\",\n \"Mixtral8x7BInstruct\",\n \"Llama3Instruct8B\"\n ],\n \"description\": \"Selected model.\",\n \"default\": \"Llama3Instruct8B\",\n \"x-loggable\": true\n }\n },\n \"required\": [\"prompt\", \"json_schema\"]\n },\n \"ComputeJSONOut\": {\n \"title\": \"ComputeJSONOut\",\n \"type\": \"object\",\n \"properties\": {\n \"json_object\": {\n \"type\": \"object\",\n \"description\": \"JSON response.\",\n \"additionalProperties\": true\n },\n \"text\": {\n \"type\": \"string\",\n \"description\": \"If the model output could not be parsed to JSON, this is the raw text output.\"\n }\n },\n \"required\": []\n },\n \"MultiComputeTextIn\": {\n \"title\": \"MultiComputeTextIn\",\n \"type\": \"object\",\n \"properties\": {\n \"prompt\": {\n \"type\": \"string\",\n \"description\": \"Input prompt.\"\n },\n \"num_choices\": {\n \"type\": \"integer\",\n \"description\": \"Number of choices to generate.\",\n \"minimum\": 1,\n \"maximum\": 8,\n \"default\": 1,\n \"x-loggable\": true\n },\n \"temperature\": {\n \"type\": \"number\",\n \"format\": \"float\",\n \"minimum\": 0,\n \"maximum\": 1,\n \"default\": 0.4,\n \"description\": \"Sampling temperature to use. Higher values make the output more random, lower values make the output more deterministic.\",\n \"x-loggable\": true\n },\n \"max_tokens\": {\n \"type\": \"integer\",\n \"description\": \"Maximum number of tokens to generate.\",\n \"x-loggable\": true\n },\n \"model\": {\n \"type\": \"string\",\n \"enum\": [\n \"Mistral7BInstruct\",\n \"Mixtral8x7BInstruct\",\n \"Llama3Instruct8B\",\n \"Llama3Instruct70B\"\n ],\n \"description\": \"Selected model.\",\n \"default\": \"Llama3Instruct8B\"\n }\n },\n \"required\": [\"prompt\", \"num_choices\"]\n },\n \"MultiComputeTextOut\": {\n \"title\": \"MultiComputeTextOut\",\n \"type\": \"object\",\n \"properties\": {\n \"choices\": {\n \"type\": \"array\",\n \"description\": \"Response choices.\",\n \"items\": {\n \"$ref\": \"#/components/schemas/ComputeTextOut\"\n }\n }\n },\n \"required\": [\"choices\"]\n },\n \"BatchComputeTextIn\": {\n \"title\": \"BatchComputeTextIn\",\n \"type\": \"object\",\n \"properties\": {\n \"prompts\": {\n \"description\": \"Batch input prompts.\",\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"temperature\": {\n \"type\": \"number\",\n \"format\": \"float\",\n \"minimum\": 0,\n \"maximum\": 1,\n \"default\": 0.4,\n \"description\": \"Sampling temperature to use. Higher values make the output more random, lower values make the output more deterministic.\",\n \"x-loggable\": true\n },\n \"max_tokens\": {\n \"type\": \"integer\",\n \"description\": \"Maximum number of tokens to generate.\",\n \"x-loggable\": true\n },\n \"model\": {\n \"type\": \"string\",\n \"enum\": [\"Mistral7BInstruct\", \"Llama3Instruct8B\"],\n \"description\": \"Selected model.\",\n \"default\": \"Llama3Instruct8B\",\n \"x-loggable\": true\n }\n },\n \"required\": [\"prompts\"]\n },\n \"BatchComputeTextOut\": {\n \"title\": \"BatchComputeTextOut\",\n \"type\": \"object\",\n \"properties\": {\n \"outputs\": {\n \"type\": \"array\",\n \"description\": \"Batch outputs.\",\n \"items\": {\n \"$ref\": \"#/components/schemas/ComputeTextOut\"\n }\n }\n },\n \"required\": [\"outputs\"]\n },\n \"MultiComputeJSONIn\": {\n \"title\": \"MultiComputeJSONIn\",\n \"type\": \"object\",\n \"properties\": {\n \"prompt\": {\n \"type\": \"string\",\n \"description\": \"Input prompt.\"\n },\n \"json_schema\": {\n \"type\": \"object\",\n \"description\": \"JSON schema to guide `json_object` response.\",\n \"additionalProperties\": true\n },\n \"num_choices\": {\n \"type\": \"integer\",\n \"description\": \"Number of choices to generate.\",\n \"minimum\": 1,\n \"maximum\": 8,\n \"default\": 2,\n \"x-loggable\": true\n },\n \"temperature\": {\n \"type\": \"number\",\n \"format\": \"float\",\n \"minimum\": 0,\n \"maximum\": 1,\n \"default\": 0.4,\n \"description\": \"Sampling temperature to use. Higher values make the output more random, lower values make the output more deterministic.\",\n \"x-loggable\": true\n },\n \"max_tokens\": {\n \"type\": \"integer\",\n \"description\": \"Maximum number of tokens to generate.\",\n \"x-loggable\": true\n },\n \"model\": {\n \"type\": \"string\",\n \"enum\": [\n \"Mistral7BInstruct\",\n \"Mixtral8x7BInstruct\",\n \"Llama3Instruct8B\"\n ],\n \"description\": \"Selected model.\",\n \"default\": \"Llama3Instruct8B\",\n \"x-loggable\": true\n }\n },\n \"required\": [\"prompt\", \"num_choices\", \"json_schema\"]\n },\n \"MultiComputeJSONOut\": {\n \"title\": \"MultiComputeJSONOut\",\n \"type\": \"object\",\n \"properties\": {\n \"choices\": {\n \"type\": \"array\",\n \"description\": \"Response choices.\",\n \"items\": {\n \"$ref\": \"#/components/schemas/ComputeJSONOut\"\n }\n }\n },\n \"required\": [\"choices\"]\n },\n \"BatchComputeJSONIn\": {\n \"title\": \"BatchComputeJSONIn\",\n \"type\": \"object\",\n \"properties\": {\n \"prompts\": {\n \"description\": \"Batch input prompts.\",\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"json_schema\": {\n \"type\": \"object\",\n \"description\": \"JSON schema to guide `json_object` response.\",\n \"additionalProperties\": true\n },\n \"temperature\": {\n \"type\": \"number\",\n \"format\": \"float\",\n \"minimum\": 0,\n \"maximum\": 1,\n \"default\": 0.4,\n \"description\": \"Sampling temperature to use. Higher values make the output more random, lower values make the output more deterministic.\",\n \"x-loggable\": true\n },\n \"max_tokens\": {\n \"type\": \"integer\",\n \"description\": \"Maximum number of tokens to generate.\",\n \"x-loggable\": true\n },\n \"model\": {\n \"type\": \"string\",\n \"enum\": [\"Mistral7BInstruct\", \"Llama3Instruct8B\"],\n \"description\": \"Selected model.\",\n \"default\": \"Llama3Instruct8B\",\n \"x-loggable\": true\n }\n },\n \"required\": [\"prompts\", \"json_schema\"]\n },\n \"BatchComputeJSONOut\": {\n \"title\": \"BatchComputeJSONOut\",\n \"type\": \"object\",\n \"properties\": {\n \"outputs\": {\n \"type\": \"array\",\n \"description\": \"Batch outputs.\",\n \"items\": {\n \"$ref\": \"#/components/schemas/ComputeJSONOut\"\n }\n }\n },\n \"required\": [\"outputs\"]\n },\n \"Mistral7BInstructIn\": {\n \"title\": \"Mistral7BInstructIn\",\n \"type\": \"object\",\n \"properties\": {\n \"prompt\": {\n \"type\": \"string\",\n \"description\": \"Input prompt.\"\n },\n \"system_prompt\": {\n \"type\": \"string\",\n \"description\": \"System prompt.\"\n },\n \"num_choices\": {\n \"type\": \"integer\",\n \"description\": \"Number of choices to generate.\",\n \"minimum\": 1,\n \"maximum\": 8,\n \"default\": 1,\n \"x-loggable\": true\n },\n \"json_schema\": {\n \"type\": \"object\",\n \"description\": \"JSON schema to guide response.\",\n \"additionalProperties\": true\n },\n \"temperature\": {\n \"type\": \"number\",\n \"format\": \"float\",\n \"minimum\": 0,\n \"maximum\": 1,\n \"description\": \"Higher values make the output more random, lower values make the output more deterministic.\",\n \"x-loggable\": true\n },\n \"frequency_penalty\": {\n \"type\": \"number\",\n \"format\": \"float\",\n \"minimum\": -2.0,\n \"maximum\": 2.0,\n \"default\": 0.0,\n \"description\": \"Higher values decrease the likelihood of repeating previous tokens.\",\n \"x-loggable\": true\n },\n \"repetition_penalty\": {\n \"type\": \"number\",\n \"format\": \"float\",\n \"minimum\": -2.0,\n \"maximum\": 2.0,\n \"default\": 1.0,\n \"description\": \"Higher values decrease the likelihood of repeated sequences.\",\n \"x-loggable\": true\n },\n \"presence_penalty\": {\n \"type\": \"number\",\n \"format\": \"float\",\n \"minimum\": -2.0,\n \"maximum\": 2.0,\n \"default\": 1.1,\n \"description\": \"Higher values increase the likelihood of new topics appearing.\",\n \"x-loggable\": true\n },\n \"top_p\": {\n \"type\": \"number\",\n \"format\": \"float\",\n \"minimum\": 0,\n \"maximum\": 1.0,\n \"default\": 0.95,\n \"description\": \"Probability below which less likely tokens are filtered out.\",\n \"x-loggable\": true\n },\n \"max_tokens\": {\n \"type\": \"integer\",\n \"description\": \"Maximum number of tokens to generate.\",\n \"x-loggable\": true\n }\n },\n \"required\": [\"prompt\"]\n },\n \"Mistral7BInstructChoice\": {\n \"title\": \"Mistral7BInstructChoice\",\n \"type\": \"object\",\n \"properties\": {\n \"text\": {\n \"type\": \"string\",\n \"description\": \"Text response, if `json_schema` was not provided.\"\n },\n \"json_object\": {\n \"type\": \"object\",\n \"description\": \"JSON response, if `json_schema` was provided.\",\n \"additionalProperties\": true\n }\n }\n },\n \"Mistral7BInstructOut\": {\n \"title\": \"Mistral7BInstructOut\",\n \"type\": \"object\",\n \"properties\": {\n \"choices\": {\n \"type\": \"array\",\n \"description\": \"Response choices.\",\n \"items\": {\n \"$ref\": \"#/components/schemas/Mistral7BInstructChoice\"\n }\n }\n },\n \"required\": [\"choices\"]\n },\n \"Mixtral8x7BInstructIn\": {\n \"title\": \"Mixtral8x7BInstructIn\",\n \"type\": \"object\",\n \"properties\": {\n \"prompt\": {\n \"type\": \"string\",\n \"description\": \"Input prompt.\"\n },\n \"system_prompt\": {\n \"type\": \"string\",\n \"description\": \"System prompt.\"\n },\n \"num_choices\": {\n \"type\": \"integer\",\n \"description\": \"Number of choices to generate.\",\n \"minimum\": 1,\n \"maximum\": 8,\n \"default\": 1,\n \"x-loggable\": true\n },\n \"json_schema\": {\n \"type\": \"object\",\n \"description\": \"JSON schema to guide response.\",\n \"additionalProperties\": true\n },\n \"temperature\": {\n \"type\": \"number\",\n \"format\": \"float\",\n \"minimum\": 0,\n \"maximum\": 1,\n \"description\": \"Higher values make the output more random, lower values make the output more deterministic.\",\n \"x-loggable\": true\n },\n \"frequency_penalty\": {\n \"type\": \"number\",\n \"format\": \"float\",\n \"minimum\": -2.0,\n \"maximum\": 2.0,\n \"default\": 0.0,\n \"description\": \"Higher values decrease the likelihood of repeating previous tokens.\",\n \"x-loggable\": true\n },\n \"repetition_penalty\": {\n \"type\": \"number\",\n \"format\": \"float\",\n \"minimum\": -2.0,\n \"maximum\": 2.0,\n \"default\": 1.0,\n \"description\": \"Higher values decrease the likelihood of repeated sequences.\",\n \"x-loggable\": true\n },\n \"presence_penalty\": {\n \"type\": \"number\",\n \"format\": \"float\",\n \"minimum\": -2.0,\n \"maximum\": 2.0,\n \"default\": 1.1,\n \"description\": \"Higher values increase the likelihood of new topics appearing.\",\n \"x-loggable\": true\n },\n \"top_p\": {\n \"type\": \"number\",\n \"format\": \"float\",\n \"minimum\": 0,\n \"maximum\": 1.0,\n \"default\": 0.95,\n \"description\": \"Probability below which less likely tokens are filtered out.\",\n \"x-loggable\": true\n },\n \"max_tokens\": {\n \"type\": \"integer\",\n \"description\": \"Maximum number of tokens to generate.\",\n \"x-loggable\": true\n }\n },\n \"required\": [\"prompt\"]\n },\n \"Mixtral8x7BChoice\": {\n \"title\": \"Mixtral8x7BChoice\",\n \"type\": \"object\",\n \"properties\": {\n \"text\": {\n \"type\": \"string\",\n \"description\": \"Text response, if `json_schema` was not provided.\"\n },\n \"json_object\": {\n \"type\": \"object\",\n \"description\": \"JSON response, if `json_schema` was provided.\",\n \"additionalProperties\": true\n }\n }\n },\n \"Mixtral8x7BInstructOut\": {\n \"title\": \"Mixtral8x7BInstructOut\",\n \"type\": \"object\",\n \"properties\": {\n \"choices\": {\n \"type\": \"array\",\n \"description\": \"Response choices.\",\n \"items\": {\n \"$ref\": \"#/components/schemas/Mixtral8x7BChoice\"\n }\n }\n },\n \"required\": [\"choices\"]\n },\n \"Llama3Instruct8BIn\": {\n \"title\": \"Llama3Instruct8BIn\",\n \"type\": \"object\",\n \"properties\": {\n \"prompt\": {\n \"type\": \"string\",\n \"description\": \"Input prompt.\"\n },\n \"system_prompt\": {\n \"type\": \"string\",\n \"description\": \"System prompt.\"\n },\n \"num_choices\": {\n \"type\": \"integer\",\n \"description\": \"Number of choices to generate.\",\n \"minimum\": 1,\n \"maximum\": 8,\n \"default\": 1,\n \"x-loggable\": true\n },\n \"temperature\": {\n \"type\": \"number\",\n \"format\": \"float\",\n \"minimum\": 0,\n \"maximum\": 1,\n \"description\": \"Higher values make the output more random, lower values make the output more deterministic.\",\n \"x-loggable\": true\n },\n \"frequency_penalty\": {\n \"type\": \"number\",\n \"format\": \"float\",\n \"minimum\": -2.0,\n \"maximum\": 2.0,\n \"default\": 0.0,\n \"description\": \"Higher values decrease the likelihood of repeating previous tokens.\",\n \"x-loggable\": true\n },\n \"repetition_penalty\": {\n \"type\": \"number\",\n \"format\": \"float\",\n \"minimum\": -2.0,\n \"maximum\": 2.0,\n \"default\": 1.0,\n \"description\": \"Higher values decrease the likelihood of repeated sequences.\",\n \"x-loggable\": true\n },\n \"presence_penalty\": {\n \"type\": \"number\",\n \"format\": \"float\",\n \"minimum\": -2.0,\n \"maximum\": 2.0,\n \"default\": 1.1,\n \"description\": \"Higher values increase the likelihood of new topics appearing.\",\n \"x-loggable\": true\n },\n \"top_p\": {\n \"type\": \"number\",\n \"format\": \"float\",\n \"minimum\": 0,\n \"maximum\": 1.0,\n \"default\": 0.95,\n \"description\": \"Probability below which less likely tokens are filtered out.\",\n \"x-loggable\": true\n },\n \"max_tokens\": {\n \"type\": \"integer\",\n \"description\": \"Maximum number of tokens to generate.\",\n \"x-loggable\": true\n },\n \"json_schema\": {\n \"type\": \"object\",\n \"description\": \"JSON schema to guide response.\",\n \"additionalProperties\": true\n }\n },\n \"required\": [\"prompt\"]\n },\n \"Llama3Instruct8BChoice\": {\n \"title\": \"Llama3Instruct8BChoice\",\n \"type\": \"object\",\n \"properties\": {\n \"text\": {\n \"type\": \"string\",\n \"description\": \"Text response.\"\n },\n \"json_object\": {\n \"type\": \"object\",\n \"description\": \"JSON response, if `json_schema` was provided.\",\n \"additionalProperties\": true\n }\n }\n },\n \"Llama3Instruct8BOut\": {\n \"title\": \"Llama3Instruct8BOut\",\n \"type\": \"object\",\n \"properties\": {\n \"choices\": {\n \"type\": \"array\",\n \"description\": \"Response choices.\",\n \"items\": {\n \"$ref\": \"#/components/schemas/Llama3Instruct8BChoice\"\n }\n }\n },\n \"required\": [\"choices\"]\n },\n \"Llama3Instruct70BIn\": {\n \"title\": \"Llama3Instruct70BIn\",\n \"type\": \"object\",\n \"properties\": {\n \"prompt\": {\n \"type\": \"string\",\n \"description\": \"Input prompt.\"\n },\n \"system_prompt\": {\n \"type\": \"string\",\n \"description\": \"System prompt.\"\n },\n \"num_choices\": {\n \"type\": \"integer\",\n \"description\": \"Number of choices to generate.\",\n \"minimum\": 1,\n \"maximum\": 8,\n \"default\": 1,\n \"x-loggable\": true\n },\n \"temperature\": {\n \"type\": \"number\",\n \"format\": \"float\",\n \"minimum\": 0,\n \"maximum\": 1,\n \"description\": \"Higher values make the output more random, lower values make the output more deterministic.\",\n \"x-loggable\": true\n },\n \"frequency_penalty\": {\n \"type\": \"number\",\n \"format\": \"float\",\n \"minimum\": -2.0,\n \"maximum\": 2.0,\n \"default\": 0.0,\n \"description\": \"Higher values decrease the likelihood of repeating previous tokens.\",\n \"x-loggable\": true\n },\n \"repetition_penalty\": {\n \"type\": \"number\",\n \"format\": \"float\",\n \"minimum\": -2.0,\n \"maximum\": 2.0,\n \"default\": 1.0,\n \"description\": \"Higher values decrease the likelihood of repeated sequences.\",\n \"x-loggable\": true\n },\n \"presence_penalty\": {\n \"type\": \"number\",\n \"format\": \"float\",\n \"minimum\": -2.0,\n \"maximum\": 2.0,\n \"default\": 1.1,\n \"description\": \"Higher values increase the likelihood of new topics appearing.\",\n \"x-loggable\": true\n },\n \"top_p\": {\n \"type\": \"number\",\n \"format\": \"float\",\n \"minimum\": 0,\n \"maximum\": 1.0,\n \"default\": 0.95,\n \"description\": \"Probability below which less likely tokens are filtered out.\",\n \"x-loggable\": true\n },\n \"max_tokens\": {\n \"type\": \"integer\",\n \"description\": \"Maximum number of tokens to generate.\",\n \"x-loggable\": true\n }\n },\n \"required\": [\"prompt\"]\n },\n \"Llama3Instruct70BChoice\": {\n \"title\": \"Llama3Instruct70BChoice\",\n \"type\": \"object\",\n \"properties\": {\n \"text\": {\n \"type\": \"string\",\n \"description\": \"Text response.\"\n }\n }\n },\n \"Llama3Instruct70BOut\": {\n \"title\": \"Llama3Instruct70BOut\",\n \"type\": \"object\",\n \"properties\": {\n \"choices\": {\n \"type\": \"array\",\n \"description\": \"Response choices.\",\n \"items\": {\n \"$ref\": \"#/components/schemas/Llama3Instruct70BChoice\"\n }\n }\n },\n \"required\": [\"choices\"]\n },\n \"Firellava13BIn\": {\n \"title\": \"Firellava13BIn\",\n \"type\": \"object\",\n \"properties\": {\n \"prompt\": {\n \"type\": \"string\",\n \"description\": \"Text prompt.\"\n },\n \"image_uris\": {\n \"description\": \"Image prompts.\",\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"max_tokens\": {\n \"type\": \"integer\",\n \"description\": \"Maximum number of tokens to generate.\",\n \"x-loggable\": true\n }\n },\n \"required\": [\"prompt\", \"image_uris\"]\n },\n \"Firellava13BOut\": {\n \"title\": \"Firellava13BOut\",\n \"type\": \"object\",\n \"properties\": {\n \"text\": {\n \"type\": \"string\",\n \"description\": \"Text response.\"\n }\n },\n \"required\": [\"text\"]\n },\n \"GenerateImageIn\": {\n \"title\": \"GenerateImageIn\",\n \"type\": \"object\",\n \"properties\": {\n \"prompt\": {\n \"type\": \"string\",\n \"description\": \"Text prompt.\"\n },\n \"store\": {\n \"type\": \"string\",\n \"description\": \"Use \\\"hosted\\\" to return an image URL hosted on Substrate. You can also provide a URL to a registered [file store](https://docs.substrate.run/reference/external-files). If unset, the image data will be returned as a base64-encoded string.\"\n }\n },\n \"required\": [\"prompt\"]\n },\n \"GenerateImageOut\": {\n \"title\": \"GenerateImageOut\",\n \"type\": \"object\",\n \"properties\": {\n \"image_uri\": {\n \"type\": \"string\",\n \"description\": \"Base 64-encoded JPEG image bytes, or a hosted image url if `store` is provided.\"\n }\n },\n \"required\": [\"image_uri\"]\n },\n \"MultiGenerateImageIn\": {\n \"title\": \"MultiGenerateImageIn\",\n \"type\": \"object\",\n \"properties\": {\n \"prompt\": {\n \"type\": \"string\",\n \"description\": \"Text prompt.\"\n },\n \"num_images\": {\n \"type\": \"integer\",\n \"description\": \"Number of images to generate.\",\n \"minimum\": 1,\n \"default\": 2,\n \"maximum\": 8,\n \"x-loggable\": true\n },\n \"store\": {\n \"type\": \"string\",\n \"description\": \"Use \\\"hosted\\\" to return an image URL hosted on Substrate. You can also provide a URL to a registered [file store](https://docs.substrate.run/reference/external-files). If unset, the image data will be returned as a base64-encoded string.\"\n }\n },\n \"required\": [\"prompt\", \"num_images\"]\n },\n \"MultiGenerateImageOut\": {\n \"title\": \"MultiGenerateImageOut\",\n \"type\": \"object\",\n \"properties\": {\n \"outputs\": {\n \"type\": \"array\",\n \"description\": \"Generated images.\",\n \"items\": {\n \"$ref\": \"#/components/schemas/GenerateImageOut\"\n }\n }\n },\n \"required\": [\"outputs\"]\n },\n \"StableDiffusionXLIn\": {\n \"title\": \"StableDiffusionXLIn\",\n \"type\": \"object\",\n \"properties\": {\n \"prompt\": {\n \"type\": \"string\",\n \"description\": \"Text prompt.\"\n },\n \"negative_prompt\": {\n \"type\": \"string\",\n \"description\": \"Negative input prompt.\"\n },\n \"steps\": {\n \"type\": \"integer\",\n \"description\": \"Number of diffusion steps.\",\n \"default\": 30,\n \"minimum\": 0,\n \"maximum\": 150,\n \"x-loggable\": true\n },\n \"num_images\": {\n \"type\": \"integer\",\n \"description\": \"Number of images to generate.\",\n \"minimum\": 1,\n \"default\": 1,\n \"maximum\": 8,\n \"x-loggable\": true\n },\n \"store\": {\n \"type\": \"string\",\n \"description\": \"Use \\\"hosted\\\" to return an image URL hosted on Substrate. You can also provide a URL to a registered [file store](https://docs.substrate.run/reference/external-files). If unset, the image data will be returned as a base64-encoded string.\"\n },\n \"height\": {\n \"type\": \"integer\",\n \"description\": \"Height of output image, in pixels.\",\n \"minimum\": 256,\n \"maximum\": 1536,\n \"default\": 1024,\n \"x-loggable\": true\n },\n \"width\": {\n \"type\": \"integer\",\n \"description\": \"Width of output image, in pixels.\",\n \"minimum\": 256,\n \"maximum\": 1536,\n \"default\": 1024,\n \"x-loggable\": true\n },\n \"seeds\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"integer\"\n },\n \"description\": \"Seeds for deterministic generation. Default is a random seed.\",\n \"x-loggable\": true\n },\n \"guidance_scale\": {\n \"type\": \"number\",\n \"format\": \"float\",\n \"description\": \"Higher values adhere to the text prompt more strongly, typically at the expense of image quality.\",\n \"minimum\": 0,\n \"default\": 7,\n \"maximum\": 30,\n \"x-loggable\": true\n }\n },\n \"required\": [\"prompt\", \"num_images\"]\n },\n \"StableDiffusionImage\": {\n \"title\": \"StableDiffusionImage\",\n \"type\": \"object\",\n \"properties\": {\n \"image_uri\": {\n \"type\": \"string\",\n \"description\": \"Base 64-encoded JPEG image bytes, or a hosted image url if `store` is provided.\"\n },\n \"seed\": {\n \"type\": \"integer\",\n \"description\": \"The random noise seed used for generation.\"\n }\n },\n \"required\": [\"image_uri\", \"seed\"]\n },\n \"StableDiffusionXLOut\": {\n \"title\": \"StableDiffusionXLOut\",\n \"type\": \"object\",\n \"properties\": {\n \"outputs\": {\n \"type\": \"array\",\n \"description\": \"Generated images.\",\n \"items\": {\n \"$ref\": \"#/components/schemas/StableDiffusionImage\"\n }\n }\n },\n \"required\": [\"outputs\"]\n },\n \"StableDiffusionXLLightningIn\": {\n \"title\": \"StableDiffusionXLLightningIn\",\n \"type\": \"object\",\n \"properties\": {\n \"prompt\": {\n \"type\": \"string\",\n \"description\": \"Text prompt.\"\n },\n \"negative_prompt\": {\n \"type\": \"string\",\n \"description\": \"Negative input prompt.\"\n },\n \"num_images\": {\n \"type\": \"integer\",\n \"description\": \"Number of images to generate.\",\n \"default\": 1,\n \"minimum\": 1,\n \"maximum\": 8,\n \"x-loggable\": true\n },\n \"store\": {\n \"type\": \"string\",\n \"description\": \"Use \\\"hosted\\\" to return an image URL hosted on Substrate. You can also provide a URL to a registered [file store](https://docs.substrate.run/reference/external-files). If unset, the image data will be returned as a base64-encoded string.\"\n },\n \"height\": {\n \"type\": \"integer\",\n \"description\": \"Height of output image, in pixels.\",\n \"minimum\": 256,\n \"maximum\": 1536,\n \"default\": 1024,\n \"x-loggable\": true\n },\n \"width\": {\n \"type\": \"integer\",\n \"description\": \"Width of output image, in pixels.\",\n \"minimum\": 256,\n \"maximum\": 1536,\n \"default\": 1024,\n \"x-loggable\": true\n },\n \"seeds\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"integer\"\n },\n \"description\": \"Seeds for deterministic generation. Default is a random seed.\",\n \"x-loggable\": true\n }\n },\n \"required\": [\"prompt\"]\n },\n \"StableDiffusionXLLightningOut\": {\n \"title\": \"StableDiffusionXLLightningOut\",\n \"type\": \"object\",\n \"properties\": {\n \"outputs\": {\n \"type\": \"array\",\n \"description\": \"Generated images.\",\n \"items\": {\n \"$ref\": \"#/components/schemas/StableDiffusionImage\"\n }\n }\n },\n \"required\": [\"outputs\"]\n },\n \"StableDiffusionXLIPAdapterIn\": {\n \"title\": \"StableDiffusionXLIPAdapterIn\",\n \"type\": \"object\",\n \"properties\": {\n \"prompt\": {\n \"type\": \"string\",\n \"description\": \"Text prompt.\"\n },\n \"image_prompt_uri\": {\n \"type\": \"string\",\n \"description\": \"Image prompt.\"\n },\n \"num_images\": {\n \"type\": \"integer\",\n \"description\": \"Number of images to generate.\",\n \"default\": 1,\n \"minimum\": 1,\n \"maximum\": 8,\n \"x-loggable\": true\n },\n \"ip_adapter_scale\": {\n \"type\": \"number\",\n \"format\": \"float\",\n \"description\": \"Controls the influence of the image prompt on the generated output.\",\n \"minimum\": 0,\n \"maximum\": 1,\n \"default\": 0.5,\n \"x-loggable\": true\n },\n \"negative_prompt\": {\n \"type\": \"string\",\n \"description\": \"Negative input prompt.\"\n },\n \"store\": {\n \"type\": \"string\",\n \"description\": \"Use \\\"hosted\\\" to return an image URL hosted on Substrate. You can also provide a URL to a registered [file store](https://docs.substrate.run/reference/external-files). If unset, the image data will be returned as a base64-encoded string.\"\n },\n \"width\": {\n \"type\": \"integer\",\n \"description\": \"Width of output image, in pixels.\",\n \"minimum\": 640,\n \"maximum\": 1536,\n \"default\": 1024,\n \"x-loggable\": true\n },\n \"height\": {\n \"type\": \"integer\",\n \"description\": \"Height of output image, in pixels.\",\n \"minimum\": 640,\n \"maximum\": 1536,\n \"default\": 1024,\n \"x-loggable\": true\n },\n \"seeds\": {\n \"description\": \"Random noise seeds. Default is random seeds for each generation.\",\n \"type\": \"array\",\n \"items\": {\n \"type\": \"integer\"\n },\n \"x-loggable\": true\n }\n },\n \"required\": [\"prompt\", \"image_prompt_uri\", \"num_images\"]\n },\n \"StableDiffusionXLIPAdapterOut\": {\n \"title\": \"StableDiffusionXLIPAdapterOut\",\n \"type\": \"object\",\n \"properties\": {\n \"outputs\": {\n \"type\": \"array\",\n \"description\": \"Generated images.\",\n \"items\": {\n \"$ref\": \"#/components/schemas/StableDiffusionImage\"\n }\n }\n },\n \"required\": [\"outputs\"]\n },\n \"StableDiffusionXLControlNetIn\": {\n \"title\": \"StableDiffusionXLControlNetIn\",\n \"type\": \"object\",\n \"properties\": {\n \"image_uri\": {\n \"type\": \"string\",\n \"description\": \"Input image.\"\n },\n \"control_method\": {\n \"type\": \"string\",\n \"enum\": [\"edge\", \"depth\", \"illusion\", \"tile\"],\n \"description\": \"Strategy to control generation using the input image.\",\n \"x-loggable\": true\n },\n \"prompt\": {\n \"type\": \"string\",\n \"description\": \"Text prompt.\"\n },\n \"num_images\": {\n \"type\": \"integer\",\n \"description\": \"Number of images to generate.\",\n \"default\": 1,\n \"minimum\": 1,\n \"maximum\": 8,\n \"x-loggable\": true\n },\n \"output_resolution\": {\n \"type\": \"integer\",\n \"description\": \"Resolution of the output image, in pixels.\",\n \"default\": 1024,\n \"minimum\": 512,\n \"maximum\": 2048,\n \"x-loggable\": true\n },\n \"negative_prompt\": {\n \"type\": \"string\",\n \"description\": \"Negative input prompt.\"\n },\n \"store\": {\n \"type\": \"string\",\n \"description\": \"Use \\\"hosted\\\" to return an image URL hosted on Substrate. You can also provide a URL to a registered [file store](https://docs.substrate.run/reference/external-files). If unset, the image data will be returned as a base64-encoded string.\"\n },\n \"conditioning_scale\": {\n \"type\": \"number\",\n \"format\": \"float\",\n \"description\": \"Controls the influence of the input image on the generated output.\",\n \"minimum\": 0,\n \"maximum\": 1,\n \"default\": 0.5,\n \"x-loggable\": true\n },\n \"strength\": {\n \"type\": \"number\",\n \"format\": \"float\",\n \"description\": \"Controls how much to transform the input image.\",\n \"minimum\": 0,\n \"maximum\": 1,\n \"default\": 0.5,\n \"x-loggable\": true\n },\n \"seeds\": {\n \"description\": \"Random noise seeds. Default is random seeds for each generation.\",\n \"type\": \"array\",\n \"items\": {\n \"type\": \"integer\"\n },\n \"x-loggable\": true\n }\n },\n \"required\": [\"image_uri\", \"control_method\", \"prompt\", \"num_images\"]\n },\n \"StableDiffusionXLControlNetOut\": {\n \"title\": \"StableDiffusionXLControlNetOut\",\n \"type\": \"object\",\n \"properties\": {\n \"outputs\": {\n \"type\": \"array\",\n \"description\": \"Generated images.\",\n \"items\": {\n \"$ref\": \"#/components/schemas/StableDiffusionImage\"\n }\n }\n },\n \"required\": [\"outputs\"]\n },\n \"StableVideoDiffusionIn\": {\n \"title\": \"StableVideoDiffusionIn\",\n \"type\": \"object\",\n \"properties\": {\n \"image_uri\": {\n \"type\": \"string\",\n \"description\": \"Original image.\"\n },\n \"store\": {\n \"type\": \"string\",\n \"description\": \"Use \\\"hosted\\\" to return a video URL hosted on Substrate. You can also provide a URL to a registered [file store](https://docs.substrate.run/reference/external-files). If unset, the video data will be returned as a base64-encoded string.\",\n \"x-loggable\": true\n },\n \"output_format\": {\n \"type\": \"string\",\n \"enum\": [\"gif\", \"webp\", \"mp4\", \"frames\"],\n \"description\": \"Output video format.\",\n \"default\": \"gif\",\n \"x-loggable\": true\n },\n \"seed\": {\n \"type\": \"integer\",\n \"description\": \"Seed for deterministic generation. Default is a random seed.\",\n \"x-loggable\": true\n },\n \"fps\": {\n \"type\": \"integer\",\n \"description\": \"Frames per second of the generated video. Ignored if output format is `frames`.\",\n \"default\": 7,\n \"x-loggable\": true,\n \"minimum\": 1\n },\n \"motion_bucket_id\": {\n \"type\": \"integer\",\n \"description\": \"The motion bucket id to use for the generated video. This can be used to control the motion of the generated video. Increasing the motion bucket id increases the motion of the generated video.\",\n \"default\": 180,\n \"x-loggable\": true\n },\n \"noise\": {\n \"type\": \"number\",\n \"format\": \"float\",\n \"description\": \"The amount of noise added to the conditioning image. The higher the values the less the video resembles the conditioning image. Increasing this value also increases the motion of the generated video.\",\n \"default\": 0.1,\n \"x-loggable\": true\n }\n },\n \"required\": [\"image_uri\"]\n },\n \"StableVideoDiffusionOut\": {\n \"title\": \"StableVideoDiffusionOut\",\n \"type\": \"object\",\n \"properties\": {\n \"video_uri\": {\n \"type\": \"string\",\n \"description\": \"Generated video.\"\n },\n \"frame_uris\": {\n \"type\": \"array\",\n \"description\": \"Generated frames.\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": []\n },\n \"InterpolateFramesIn\": {\n \"title\": \"InterpolateFramesIn\",\n \"type\": \"object\",\n \"properties\": {\n \"frame_uris\": {\n \"type\": \"array\",\n \"description\": \"Frames.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"minItems\": 2\n },\n \"store\": {\n \"type\": \"string\",\n \"description\": \"Use \\\"hosted\\\" to return a video URL hosted on Substrate. You can also provide a URL to a registered [file store](https://docs.substrate.run/reference/external-files). If unset, the video data will be returned as a base64-encoded string.\",\n \"x-loggable\": true\n },\n \"output_format\": {\n \"type\": \"string\",\n \"enum\": [\"gif\", \"webp\", \"mp4\", \"frames\"],\n \"description\": \"Output video format.\",\n \"default\": \"gif\",\n \"x-loggable\": true\n },\n \"fps\": {\n \"type\": \"integer\",\n \"description\": \"Frames per second of the generated video. Ignored if output format is `frames`.\",\n \"default\": 7,\n \"minimum\": 1,\n \"x-loggable\": true\n },\n \"num_steps\": {\n \"type\": \"integer\",\n \"description\": \"Number of interpolation steps. Each step adds an interpolated frame between adjacent frames. For example, 2 steps over 2 frames produces 5 frames.\",\n \"default\": 2,\n \"minimum\": 1,\n \"x-loggable\": true\n }\n },\n \"required\": [\"frame_uris\"]\n },\n \"InterpolateFramesOut\": {\n \"title\": \"InterpolateFramesOut\",\n \"type\": \"object\",\n \"properties\": {\n \"video_uri\": {\n \"type\": \"string\",\n \"description\": \"Generated video.\"\n },\n \"frame_uris\": {\n \"type\": \"array\",\n \"description\": \"Output frames.\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": []\n },\n \"InpaintImageIn\": {\n \"title\": \"InpaintImageIn\",\n \"type\": \"object\",\n \"properties\": {\n \"image_uri\": {\n \"type\": \"string\",\n \"description\": \"Original image.\"\n },\n \"prompt\": {\n \"type\": \"string\",\n \"description\": \"Text prompt.\"\n },\n \"mask_image_uri\": {\n \"type\": \"string\",\n \"description\": \"Mask image that controls which pixels are inpainted. If unset, the entire image is edited (image-to-image).\"\n },\n \"store\": {\n \"type\": \"string\",\n \"description\": \"Use \\\"hosted\\\" to return an image URL hosted on Substrate. You can also provide a URL to a registered [file store](https://docs.substrate.run/reference/external-files). If unset, the image data will be returned as a base64-encoded string.\"\n }\n },\n \"required\": [\"image_uri\", \"prompt\"]\n },\n \"InpaintImageOut\": {\n \"title\": \"InpaintImageOut\",\n \"type\": \"object\",\n \"properties\": {\n \"image_uri\": {\n \"type\": \"string\",\n \"description\": \"Base 64-encoded JPEG image bytes, or a hosted image url if `store` is provided.\"\n }\n },\n \"required\": [\"image_uri\"]\n },\n \"MultiInpaintImageIn\": {\n \"title\": \"MultiInpaintImageIn\",\n \"type\": \"object\",\n \"properties\": {\n \"image_uri\": {\n \"type\": \"string\",\n \"description\": \"Original image.\"\n },\n \"prompt\": {\n \"type\": \"string\",\n \"description\": \"Text prompt.\"\n },\n \"mask_image_uri\": {\n \"type\": \"string\",\n \"description\": \"Mask image that controls which pixels are edited (inpainting). If unset, the entire image is edited (image-to-image).\"\n },\n \"num_images\": {\n \"type\": \"integer\",\n \"description\": \"Number of images to generate.\",\n \"minimum\": 1,\n \"default\": 2,\n \"maximum\": 8,\n \"x-loggable\": true\n },\n \"store\": {\n \"type\": \"string\",\n \"description\": \"Use \\\"hosted\\\" to return an image URL hosted on Substrate. You can also provide a URL to a registered [file store](https://docs.substrate.run/reference/external-files). If unset, the image data will be returned as a base64-encoded string.\"\n }\n },\n \"required\": [\"image_uri\", \"prompt\", \"num_images\"]\n },\n \"MultiInpaintImageOut\": {\n \"title\": \"MultiInpaintImageOut\",\n \"type\": \"object\",\n \"properties\": {\n \"outputs\": {\n \"type\": \"array\",\n \"description\": \"Generated images.\",\n \"items\": {\n \"$ref\": \"#/components/schemas/InpaintImageOut\"\n }\n }\n },\n \"required\": [\"outputs\"]\n },\n \"StableDiffusionXLInpaintIn\": {\n \"title\": \"StableDiffusionXLInpaintIn\",\n \"type\": \"object\",\n \"properties\": {\n \"image_uri\": {\n \"type\": \"string\",\n \"description\": \"Original image.\"\n },\n \"prompt\": {\n \"type\": \"string\",\n \"description\": \"Text prompt.\"\n },\n \"mask_image_uri\": {\n \"type\": \"string\",\n \"description\": \"Mask image that controls which pixels are edited (inpainting). If unset, the entire image is edited (image-to-image).\"\n },\n \"num_images\": {\n \"type\": \"integer\",\n \"description\": \"Number of images to generate.\",\n \"default\": 1,\n \"minimum\": 1,\n \"maximum\": 8,\n \"x-loggable\": true\n },\n \"output_resolution\": {\n \"type\": \"integer\",\n \"description\": \"Resolution of the output image, in pixels.\",\n \"default\": 1024,\n \"minimum\": 512,\n \"maximum\": 2048,\n \"x-loggable\": true\n },\n \"negative_prompt\": {\n \"type\": \"string\",\n \"description\": \"Negative input prompt.\"\n },\n \"store\": {\n \"type\": \"string\",\n \"description\": \"Use \\\"hosted\\\" to return an image URL hosted on Substrate. You can also provide a URL to a registered [file store](https://docs.substrate.run/reference/external-files). If unset, the image data will be returned as a base64-encoded string.\"\n },\n \"strength\": {\n \"type\": \"number\",\n \"format\": \"float\",\n \"description\": \"Controls the strength of the generation process.\",\n \"minimum\": 0,\n \"maximum\": 1,\n \"default\": 0.8,\n \"x-loggable\": true\n },\n \"seeds\": {\n \"description\": \"Random noise seeds. Default is random seeds for each generation.\",\n \"type\": \"array\",\n \"items\": {\n \"type\": \"integer\"\n },\n \"x-loggable\": true\n }\n },\n \"required\": [\"image_uri\", \"prompt\", \"num_images\"]\n },\n \"StableDiffusionXLInpaintOut\": {\n \"title\": \"StableDiffusionXLInpaintOut\",\n \"type\": \"object\",\n \"properties\": {\n \"outputs\": {\n \"type\": \"array\",\n \"description\": \"Generated images.\",\n \"items\": {\n \"$ref\": \"#/components/schemas/StableDiffusionImage\"\n }\n }\n },\n \"required\": [\"outputs\"]\n },\n \"BoundingBox\": {\n \"title\": \"BoundingBox\",\n \"type\": \"object\",\n \"properties\": {\n \"x1\": {\n \"type\": \"number\",\n \"format\": \"float\",\n \"description\": \"Top left corner x.\"\n },\n \"y1\": {\n \"type\": \"number\",\n \"format\": \"float\",\n \"description\": \"Top left corner y.\"\n },\n \"x2\": {\n \"type\": \"number\",\n \"format\": \"float\",\n \"description\": \"Bottom right corner x.\"\n },\n \"y2\": {\n \"type\": \"number\",\n \"format\": \"float\",\n \"description\": \"Bottom right corner y.\"\n }\n },\n \"required\": [\"x1\", \"y1\", \"x2\", \"y2\"]\n },\n \"Point\": {\n \"title\": \"Point\",\n \"type\": \"object\",\n \"properties\": {\n \"x\": {\n \"type\": \"integer\",\n \"description\": \"X position.\"\n },\n \"y\": {\n \"type\": \"integer\",\n \"description\": \"Y position.\"\n }\n },\n \"required\": [\"x\", \"y\"]\n },\n \"EraseImageIn\": {\n \"title\": \"EraseImageIn\",\n \"type\": \"object\",\n \"properties\": {\n \"image_uri\": {\n \"type\": \"string\",\n \"description\": \"Input image.\"\n },\n \"mask_image_uri\": {\n \"type\": \"string\",\n \"description\": \"Mask image that controls which pixels are inpainted.\"\n },\n \"store\": {\n \"type\": \"string\",\n \"description\": \"Use \\\"hosted\\\" to return an image URL hosted on Substrate. You can also provide a URL to a registered [file store](https://docs.substrate.run/reference/external-files). If unset, the image data will be returned as a base64-encoded string.\"\n }\n },\n \"required\": [\"image_uri\", \"mask_image_uri\"]\n },\n \"EraseImageOut\": {\n \"title\": \"EraseImageOut\",\n \"type\": \"object\",\n \"properties\": {\n \"image_uri\": {\n \"type\": \"string\",\n \"description\": \"Base 64-encoded JPEG image bytes, or a hosted image url if `store` is provided.\"\n }\n },\n \"required\": [\"image_uri\"]\n },\n \"BigLaMaIn\": {\n \"title\": \"BigLaMaIn\",\n \"type\": \"object\",\n \"properties\": {\n \"image_uri\": {\n \"type\": \"string\",\n \"description\": \"Input image.\"\n },\n \"mask_image_uri\": {\n \"type\": \"string\",\n \"description\": \"Mask image that controls which pixels are inpainted.\"\n },\n \"store\": {\n \"type\": \"string\",\n \"description\": \"Use \\\"hosted\\\" to return an image URL hosted on Substrate. You can also provide a URL to a registered [file store](https://docs.substrate.run/reference/external-files). If unset, the image data will be returned as a base64-encoded string.\"\n }\n },\n \"required\": [\"image_uri\", \"mask_image_uri\"]\n },\n \"BigLaMaOut\": {\n \"title\": \"BigLaMaOut\",\n \"type\": \"object\",\n \"properties\": {\n \"image_uri\": {\n \"type\": \"string\",\n \"description\": \"Base 64-encoded JPEG image bytes, or a hosted image url if `store` is provided.\"\n }\n },\n \"required\": [\"image_uri\"]\n },\n \"RemoveBackgroundIn\": {\n \"title\": \"RemoveBackgroundIn\",\n \"type\": \"object\",\n \"properties\": {\n \"image_uri\": {\n \"type\": \"string\",\n \"description\": \"Input image.\"\n },\n \"return_mask\": {\n \"type\": \"boolean\",\n \"description\": \"Return a mask image instead of the original content.\",\n \"default\": false\n },\n \"invert_mask\": {\n \"type\": \"boolean\",\n \"description\": \"Invert the mask image. Only takes effect if `return_mask` is true.\",\n \"default\": false\n },\n \"background_color\": {\n \"type\": \"string\",\n \"description\": \"Hex value background color. Transparent if unset.\",\n \"x-loggable\": true\n },\n \"store\": {\n \"type\": \"string\",\n \"description\": \"Use \\\"hosted\\\" to return an image URL hosted on Substrate. You can also provide a URL to a registered [file store](https://docs.substrate.run/reference/external-files). If unset, the image data will be returned as a base64-encoded string.\"\n }\n },\n \"required\": [\"image_uri\"]\n },\n \"RemoveBackgroundOut\": {\n \"title\": \"RemoveBackgroundOut\",\n \"type\": \"object\",\n \"properties\": {\n \"image_uri\": {\n \"type\": \"string\",\n \"description\": \"Base 64-encoded JPEG image bytes, or a hosted image url if `store` is provided.\"\n }\n },\n \"required\": [\"image_uri\"]\n },\n \"DISISNetIn\": {\n \"title\": \"DISISNetIn\",\n \"type\": \"object\",\n \"properties\": {\n \"image_uri\": {\n \"type\": \"string\",\n \"description\": \"Input image.\"\n },\n \"store\": {\n \"type\": \"string\",\n \"description\": \"Use \\\"hosted\\\" to return an image URL hosted on Substrate. You can also provide a URL to a registered [file store](https://docs.substrate.run/reference/external-files). If unset, the image data will be returned as a base64-encoded string.\"\n }\n },\n \"required\": [\"image_uri\"]\n },\n \"DISISNetOut\": {\n \"title\": \"DISISNetOut\",\n \"type\": \"object\",\n \"properties\": {\n \"image_uri\": {\n \"type\": \"string\",\n \"description\": \"Base 64-encoded JPEG image bytes, or a hosted image url if `store` is provided.\"\n }\n },\n \"required\": [\"image_uri\"]\n },\n \"UpscaleImageIn\": {\n \"title\": \"UpscaleImageIn\",\n \"type\": \"object\",\n \"properties\": {\n \"prompt\": {\n \"type\": \"string\",\n \"description\": \"Prompt to guide model on the content of image to upscale.\"\n },\n \"image_uri\": {\n \"type\": \"string\",\n \"description\": \"Input image.\"\n },\n \"output_resolution\": {\n \"type\": \"integer\",\n \"description\": \"Resolution of the output image, in pixels.\",\n \"default\": 1024,\n \"minimum\": 512,\n \"maximum\": 2048,\n \"x-loggable\": true\n },\n \"store\": {\n \"type\": \"string\",\n \"description\": \"Use \\\"hosted\\\" to return an image URL hosted on Substrate. You can also provide a URL to a registered [file store](https://docs.substrate.run/reference/external-files). If unset, the image data will be returned as a base64-encoded string.\"\n }\n },\n \"required\": [\"image_uri\"]\n },\n \"UpscaleImageOut\": {\n \"title\": \"UpscaleImageOut\",\n \"type\": \"object\",\n \"properties\": {\n \"image_uri\": {\n \"type\": \"string\",\n \"description\": \"Base 64-encoded JPEG image bytes, or a hosted image url if `store` is provided.\"\n }\n },\n \"required\": [\"image_uri\"]\n },\n \"SegmentUnderPointIn\": {\n \"title\": \"SegmentUnderPointIn\",\n \"type\": \"object\",\n \"properties\": {\n \"image_uri\": {\n \"type\": \"string\",\n \"description\": \"Input image.\"\n },\n \"point\": {\n \"description\": \"Point prompt.\",\n \"type\": \"object\",\n \"$ref\": \"#/components/schemas/Point\",\n \"x-loggable\": true\n },\n \"store\": {\n \"type\": \"string\",\n \"description\": \"Use \\\"hosted\\\" to return an image URL hosted on Substrate. You can also provide a URL to a registered [file store](https://docs.substrate.run/reference/external-files). If unset, the image data will be returned as a base64-encoded string.\"\n }\n },\n \"required\": [\"image_uri\", \"point\"]\n },\n \"SegmentUnderPointOut\": {\n \"title\": \"SegmentUnderPointOut\",\n \"type\": \"object\",\n \"properties\": {\n \"mask_image_uri\": {\n \"type\": \"string\",\n \"description\": \"Detected segments in 'mask image' format. Base 64-encoded JPEG image bytes, or a hosted image url if `store` is provided.\"\n }\n },\n \"required\": [\"mask_image_uri\"]\n },\n \"SegmentAnythingIn\": {\n \"title\": \"SegmentAnythingIn\",\n \"type\": \"object\",\n \"properties\": {\n \"image_uri\": {\n \"type\": \"string\",\n \"description\": \"Input image.\"\n },\n \"point_prompts\": {\n \"description\": \"Point prompts, to detect a segment under the point. One of `point_prompts` or `box_prompts` must be set.\",\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/Point\"\n },\n \"x-loggable\": true\n },\n \"box_prompts\": {\n \"description\": \"Box prompts, to detect a segment within the bounding box. One of `point_prompts` or `box_prompts` must be set.\",\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/BoundingBox\"\n },\n \"x-loggable\": true\n },\n \"store\": {\n \"type\": \"string\",\n \"description\": \"Use \\\"hosted\\\" to return an image URL hosted on Substrate. You can also provide a URL to a registered [file store](https://docs.substrate.run/reference/external-files). If unset, the image data will be returned as a base64-encoded string.\"\n }\n },\n \"required\": [\"image_uri\"]\n },\n \"SegmentAnythingOut\": {\n \"title\": \"SegmentAnythingOut\",\n \"type\": \"object\",\n \"properties\": {\n \"mask_image_uri\": {\n \"type\": \"string\",\n \"description\": \"Detected segments in 'mask image' format. Base 64-encoded JPEG image bytes, or a hosted image url if `store` is provided.\"\n }\n },\n \"required\": [\"mask_image_uri\"]\n },\n \"TranscribeSpeechIn\": {\n \"title\": \"TranscribeSpeechIn\",\n \"type\": \"object\",\n \"properties\": {\n \"audio_uri\": {\n \"type\": \"string\",\n \"description\": \"Input audio.\"\n },\n \"prompt\": {\n \"type\": \"string\",\n \"description\": \"Prompt to guide model on the content and context of input audio.\"\n },\n \"language\": {\n \"type\": \"string\",\n \"default\": \"en\",\n \"description\": \"Language of input audio in [ISO-639-1](https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes) format.\",\n \"x-loggable\": true\n },\n \"segment\": {\n \"type\": \"boolean\",\n \"default\": false,\n \"description\": \"Segment the text into sentences with approximate timestamps.\",\n \"x-loggable\": true\n },\n \"align\": {\n \"type\": \"boolean\",\n \"default\": false,\n \"description\": \"Align transcription to produce more accurate sentence-level timestamps and word-level timestamps. An array of word segments will be included in each sentence segment.\",\n \"x-loggable\": true\n },\n \"diarize\": {\n \"type\": \"boolean\",\n \"default\": false,\n \"description\": \"Identify speakers for each segment. Speaker IDs will be included in each segment.\",\n \"x-loggable\": true\n },\n \"suggest_chapters\": {\n \"type\": \"boolean\",\n \"default\": false,\n \"description\": \"Suggest automatic chapter markers.\",\n \"x-loggable\": true\n }\n },\n \"required\": [\"audio_uri\"]\n },\n \"TranscribedWord\": {\n \"title\": \"TranscribedWord\",\n \"type\": \"object\",\n \"properties\": {\n \"word\": {\n \"type\": \"string\",\n \"description\": \"Text of word.\"\n },\n \"start\": {\n \"type\": \"number\",\n \"format\": \"float\",\n \"description\": \"Start time of word, in seconds.\"\n },\n \"end\": {\n \"type\": \"number\",\n \"format\": \"float\",\n \"description\": \"End time of word, in seconds.\"\n },\n \"speaker\": {\n \"type\": \"string\",\n \"description\": \"ID of speaker, if `diarize` is enabled.\"\n }\n },\n \"required\": [\"word\"]\n },\n \"TranscribedSegment\": {\n \"title\": \"TranscribedSegment\",\n \"type\": \"object\",\n \"properties\": {\n \"text\": {\n \"type\": \"string\",\n \"description\": \"Text of segment.\"\n },\n \"start\": {\n \"type\": \"number\",\n \"format\": \"float\",\n \"description\": \"Start time of segment, in seconds.\"\n },\n \"end\": {\n \"type\": \"number\",\n \"format\": \"float\",\n \"description\": \"End time of segment, in seconds.\"\n },\n \"speaker\": {\n \"type\": \"string\",\n \"description\": \"ID of speaker, if `diarize` is enabled.\"\n },\n \"words\": {\n \"type\": \"array\",\n \"description\": \"Aligned words, if `align` is enabled.\",\n \"items\": {\n \"$ref\": \"#/components/schemas/TranscribedWord\"\n }\n }\n },\n \"required\": [\"text\", \"start\", \"end\"]\n },\n \"ChapterMarker\": {\n \"title\": \"ChapterMarker\",\n \"type\": \"object\",\n \"properties\": {\n \"title\": {\n \"type\": \"string\",\n \"description\": \"Chapter title.\"\n },\n \"start\": {\n \"type\": \"number\",\n \"format\": \"float\",\n \"description\": \"Start time of chapter, in seconds.\"\n }\n },\n \"required\": [\"title\", \"start\"]\n },\n \"TranscribeSpeechOut\": {\n \"title\": \"TranscribeSpeechOut\",\n \"type\": \"object\",\n \"properties\": {\n \"text\": {\n \"type\": \"string\",\n \"description\": \"Transcribed text.\"\n },\n \"segments\": {\n \"type\": \"array\",\n \"description\": \"Transcribed segments, if `segment` is enabled.\",\n \"items\": {\n \"$ref\": \"#/components/schemas/TranscribedSegment\"\n }\n },\n \"chapters\": {\n \"type\": \"array\",\n \"description\": \"Chapter markers, if `suggest_chapters` is enabled.\",\n \"items\": {\n \"$ref\": \"#/components/schemas/ChapterMarker\"\n }\n }\n },\n \"required\": [\"text\"]\n },\n \"GenerateSpeechIn\": {\n \"title\": \"GenerateSpeechIn\",\n \"type\": \"object\",\n \"properties\": {\n \"text\": {\n \"type\": \"string\",\n \"description\": \"Input text.\"\n },\n \"store\": {\n \"type\": \"string\",\n \"description\": \"Use \\\"hosted\\\" to return an audio URL hosted on Substrate. You can also provide a URL to a registered [file store](https://docs.substrate.run/reference/external-files). If unset, the audio data will be returned as a base64-encoded string.\"\n }\n },\n \"required\": [\"text\"]\n },\n \"GenerateSpeechOut\": {\n \"title\": \"GenerateSpeechOut\",\n \"type\": \"object\",\n \"properties\": {\n \"audio_uri\": {\n \"type\": \"string\",\n \"description\": \"Base 64-encoded WAV audio bytes, or a hosted audio url if `store` is provided.\"\n }\n },\n \"required\": [\"audio_uri\"]\n },\n \"XTTSV2In\": {\n \"title\": \"XTTSV2In\",\n \"type\": \"object\",\n \"properties\": {\n \"text\": {\n \"type\": \"string\",\n \"description\": \"Input text.\"\n },\n \"audio_uri\": {\n \"type\": \"string\",\n \"description\": \"Reference audio used to synthesize the speaker. If unset, a default speaker voice will be used.\"\n },\n \"language\": {\n \"type\": \"string\",\n \"default\": \"en\",\n \"description\": \"Language of input text. Supported languages: `en, de, fr, es, it, pt, pl, zh, ar, cs, ru, nl, tr, hu, ko`.\",\n \"x-loggable\": true\n },\n \"store\": {\n \"type\": \"string\",\n \"description\": \"Use \\\"hosted\\\" to return an audio URL hosted on Substrate. You can also provide a URL to a registered [file store](https://docs.substrate.run/reference/external-files). If unset, the audio data will be returned as a base64-encoded string.\"\n }\n },\n \"required\": [\"text\"]\n },\n \"XTTSV2Out\": {\n \"title\": \"XTTSV2Out\",\n \"type\": \"object\",\n \"properties\": {\n \"audio_uri\": {\n \"type\": \"string\",\n \"description\": \"Base 64-encoded WAV audio bytes, or a hosted audio url if `store` is provided.\"\n }\n },\n \"required\": [\"audio_uri\"]\n },\n \"Embedding\": {\n \"title\": \"Embedding\",\n \"type\": \"object\",\n \"properties\": {\n \"vector\": {\n \"type\": \"array\",\n \"description\": \"Embedding vector.\",\n \"items\": {\n \"type\": \"number\",\n \"format\": \"float\"\n }\n },\n \"doc_id\": {\n \"type\": \"string\",\n \"description\": \"Vector store document ID.\",\n \"x-loggable\": true\n },\n \"metadata\": {\n \"type\": \"object\",\n \"description\": \"Vector store document metadata.\",\n \"additionalProperties\": true\n }\n },\n \"required\": [\"vector\"]\n },\n \"EmbedTextIn\": {\n \"title\": \"EmbedTextIn\",\n \"type\": \"object\",\n \"properties\": {\n \"text\": {\n \"type\": \"string\",\n \"description\": \"Text to embed.\"\n },\n \"collection_name\": {\n \"type\": \"string\",\n \"description\": \"Vector store name.\"\n },\n \"metadata\": {\n \"type\": \"object\",\n \"description\": \"Metadata that can be used to query the vector store. Ignored if `collection_name` is unset.\",\n \"additionalProperties\": true\n },\n \"embedded_metadata_keys\": {\n \"type\": \"array\",\n \"description\": \"Choose keys from `metadata` to embed with text.\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"doc_id\": {\n \"type\": \"string\",\n \"description\": \"Vector store document ID. Ignored if `store` is unset.\"\n },\n \"model\": {\n \"type\": \"string\",\n \"enum\": [\"jina-v2\", \"clip\"],\n \"description\": \"Selected embedding model.\",\n \"default\": \"jina-v2\",\n \"x-loggable\": true\n }\n },\n \"required\": [\"text\"]\n },\n \"EmbedTextOut\": {\n \"title\": \"EmbedTextOut\",\n \"type\": \"object\",\n \"properties\": {\n \"embedding\": {\n \"type\": \"object\",\n \"description\": \"Generated embedding.\",\n \"$ref\": \"#/components/schemas/Embedding\"\n }\n },\n \"required\": [\"embedding\"]\n },\n \"EmbedTextItem\": {\n \"type\": \"object\",\n \"title\": \"EmbedTextItem\",\n \"properties\": {\n \"text\": {\n \"type\": \"string\",\n \"description\": \"Text to embed.\"\n },\n \"metadata\": {\n \"type\": \"object\",\n \"description\": \"Metadata that can be used to query the vector store. Ignored if `collection_name` is unset.\",\n \"additionalProperties\": true\n },\n \"doc_id\": {\n \"type\": \"string\",\n \"description\": \"Vector store document ID. Ignored if `collection_name` is unset.\"\n }\n },\n \"required\": [\"text\"]\n },\n \"MultiEmbedTextIn\": {\n \"title\": \"MultiEmbedTextIn\",\n \"type\": \"object\",\n \"properties\": {\n \"items\": {\n \"type\": \"array\",\n \"description\": \"Items to embed.\",\n \"items\": {\n \"$ref\": \"#/components/schemas/EmbedTextItem\"\n }\n },\n \"collection_name\": {\n \"type\": \"string\",\n \"description\": \"Vector store name.\"\n },\n \"embedded_metadata_keys\": {\n \"type\": \"array\",\n \"description\": \"Choose keys from `metadata` to embed with text.\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"model\": {\n \"type\": \"string\",\n \"enum\": [\"jina-v2\", \"clip\"],\n \"description\": \"Selected embedding model.\",\n \"default\": \"jina-v2\",\n \"x-loggable\": true\n }\n },\n \"required\": [\"items\"]\n },\n \"MultiEmbedTextOut\": {\n \"title\": \"MultiEmbedTextOut\",\n \"type\": \"object\",\n \"properties\": {\n \"embeddings\": {\n \"type\": \"array\",\n \"description\": \"Generated embeddings.\",\n \"items\": {\n \"$ref\": \"#/components/schemas/Embedding\"\n }\n }\n },\n \"required\": [\"embeddings\"]\n },\n \"JinaV2In\": {\n \"title\": \"JinaV2In\",\n \"type\": \"object\",\n \"properties\": {\n \"items\": {\n \"type\": \"array\",\n \"description\": \"Items to embed.\",\n \"items\": {\n \"$ref\": \"#/components/schemas/EmbedTextItem\"\n }\n },\n \"collection_name\": {\n \"type\": \"string\",\n \"description\": \"Vector store name.\"\n },\n \"embedded_metadata_keys\": {\n \"type\": \"array\",\n \"description\": \"Choose keys from `metadata` to embed with text.\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\"items\"]\n },\n \"JinaV2Out\": {\n \"title\": \"JinaV2Out\",\n \"type\": \"object\",\n \"properties\": {\n \"embeddings\": {\n \"type\": \"array\",\n \"description\": \"Generated embeddings.\",\n \"items\": {\n \"$ref\": \"#/components/schemas/Embedding\"\n }\n }\n },\n \"required\": [\"embeddings\"]\n },\n \"EmbedImageIn\": {\n \"title\": \"EmbedImageIn\",\n \"type\": \"object\",\n \"properties\": {\n \"image_uri\": {\n \"type\": \"string\",\n \"description\": \"Image to embed.\"\n },\n \"collection_name\": {\n \"type\": \"string\",\n \"description\": \"Vector store name.\"\n },\n \"doc_id\": {\n \"type\": \"string\",\n \"description\": \"Vector store document ID. Ignored if `collection_name` is unset.\",\n \"x-loggable\": true\n },\n \"model\": {\n \"type\": \"string\",\n \"enum\": [\"clip\"],\n \"description\": \"Selected embedding model.\",\n \"default\": \"clip\",\n \"x-loggable\": true\n }\n },\n \"required\": [\"image_uri\"]\n },\n \"EmbedImageOut\": {\n \"title\": \"EmbedImageOut\",\n \"type\": \"object\",\n \"properties\": {\n \"embedding\": {\n \"type\": \"object\",\n \"description\": \"Generated embedding.\",\n \"$ref\": \"#/components/schemas/Embedding\"\n }\n },\n \"required\": [\"embedding\"]\n },\n \"EmbedImageItem\": {\n \"type\": \"object\",\n \"title\": \"EmbedImageItem\",\n \"properties\": {\n \"image_uri\": {\n \"type\": \"string\",\n \"description\": \"Image to embed.\"\n },\n \"doc_id\": {\n \"type\": \"string\",\n \"description\": \"Vector store document ID. Ignored if `collection_name` is unset.\"\n }\n },\n \"required\": [\"image_uri\"]\n },\n \"EmbedTextOrImageItem\": {\n \"type\": \"object\",\n \"title\": \"EmbedTextOrImageItem\",\n \"properties\": {\n \"image_uri\": {\n \"type\": \"string\",\n \"description\": \"Image to embed.\"\n },\n \"text\": {\n \"type\": \"string\",\n \"description\": \"Text to embed.\"\n },\n \"metadata\": {\n \"type\": \"object\",\n \"description\": \"Metadata that can be used to query the vector store. Ignored if `collection_name` is unset.\",\n \"additionalProperties\": true\n },\n \"doc_id\": {\n \"type\": \"string\",\n \"description\": \"Vector store document ID. Ignored if `collection_name` is unset.\"\n }\n },\n \"required\": []\n },\n \"MultiEmbedImageIn\": {\n \"title\": \"MultiEmbedImageIn\",\n \"type\": \"object\",\n \"properties\": {\n \"items\": {\n \"type\": \"array\",\n \"description\": \"Items to embed.\",\n \"items\": {\n \"$ref\": \"#/components/schemas/EmbedImageItem\"\n }\n },\n \"collection_name\": {\n \"type\": \"string\",\n \"description\": \"Vector store name.\"\n },\n \"model\": {\n \"type\": \"string\",\n \"enum\": [\"clip\"],\n \"description\": \"Selected embedding model.\",\n \"default\": \"clip\",\n \"x-loggable\": true\n }\n },\n \"required\": [\"items\"]\n },\n \"MultiEmbedImageOut\": {\n \"title\": \"MultiEmbedImageOut\",\n \"type\": \"object\",\n \"properties\": {\n \"embeddings\": {\n \"type\": \"array\",\n \"description\": \"Generated embeddings.\",\n \"items\": {\n \"$ref\": \"#/components/schemas/Embedding\"\n }\n }\n },\n \"required\": [\"embeddings\"]\n },\n \"CLIPIn\": {\n \"title\": \"CLIPIn\",\n \"type\": \"object\",\n \"properties\": {\n \"items\": {\n \"type\": \"array\",\n \"description\": \"Items to embed.\",\n \"items\": {\n \"$ref\": \"#/components/schemas/EmbedTextOrImageItem\"\n }\n },\n \"collection_name\": {\n \"type\": \"string\",\n \"description\": \"Vector store name.\"\n },\n \"embedded_metadata_keys\": {\n \"type\": \"array\",\n \"description\": \"Choose keys from `metadata` to embed with text. Only applies to text items.\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\"items\"]\n },\n \"CLIPOut\": {\n \"title\": \"CLIPOut\",\n \"type\": \"object\",\n \"properties\": {\n \"embeddings\": {\n \"type\": \"array\",\n \"description\": \"Generated embeddings.\",\n \"items\": {\n \"$ref\": \"#/components/schemas/Embedding\"\n }\n }\n },\n \"required\": [\"embeddings\"]\n },\n \"FindOrCreateVectorStoreIn\": {\n \"title\": \"FindOrCreateVectorStoreIn\",\n \"type\": \"object\",\n \"properties\": {\n \"collection_name\": {\n \"type\": \"string\",\n \"description\": \"Vector store name.\",\n \"minLength\": 1,\n \"maxLength\": 63\n },\n \"model\": {\n \"type\": \"string\",\n \"description\": \"Selected embedding model.\",\n \"enum\": [\"jina-v2\", \"clip\"],\n \"x-loggable\": true\n }\n },\n \"required\": [\"collection_name\", \"model\"]\n },\n \"FindOrCreateVectorStoreOut\": {\n \"title\": \"FindOrCreateVectorStoreOut\",\n \"type\": \"object\",\n \"properties\": {\n \"collection_name\": {\n \"type\": \"string\",\n \"description\": \"Vector store name.\",\n \"minLength\": 1,\n \"maxLength\": 63\n },\n \"model\": {\n \"type\": \"string\",\n \"description\": \"Selected embedding model.\",\n \"enum\": [\"jina-v2\", \"clip\"]\n },\n \"num_leaves\": {\n \"type\": \"integer\",\n \"description\": \"Number of leaves in the vector store.\",\n \"minimum\": 1\n }\n },\n \"required\": [\"collection_name\", \"model\"]\n },\n \"ListVectorStoresIn\": {\n \"title\": \"ListVectorStoresIn\",\n \"type\": \"object\",\n \"properties\": {}\n },\n \"ListVectorStoresOut\": {\n \"title\": \"ListVectorStoresOut\",\n \"type\": \"object\",\n \"properties\": {\n \"items\": {\n \"type\": \"array\",\n \"description\": \"List of vector stores.\",\n \"items\": {\n \"$ref\": \"#/components/schemas/FindOrCreateVectorStoreOut\"\n }\n }\n }\n },\n \"DeleteVectorStoreIn\": {\n \"title\": \"DeleteVectorStoreIn\",\n \"type\": \"object\",\n \"properties\": {\n \"collection_name\": {\n \"type\": \"string\",\n \"description\": \"Vector store name.\"\n },\n \"model\": {\n \"type\": \"string\",\n \"description\": \"Selected embedding model.\",\n \"enum\": [\"jina-v2\", \"clip\"],\n \"x-loggable\": true\n }\n },\n \"required\": [\"collection_name\", \"model\"]\n },\n \"DeleteVectorStoreOut\": {\n \"title\": \"DeleteVectorStoreOut\",\n \"type\": \"object\",\n \"properties\": {\n \"collection_name\": {\n \"type\": \"string\",\n \"description\": \"Vector store name.\"\n },\n \"model\": {\n \"type\": \"string\",\n \"description\": \"Selected embedding model.\",\n \"enum\": [\"jina-v2\", \"clip\"]\n }\n },\n \"required\": [\"collection_name\", \"model\"]\n },\n \"Vector\": {\n \"title\": \"Vector\",\n \"type\": \"object\",\n \"description\": \"Canonical representation of document with embedding vector.\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"description\": \"Document ID.\"\n },\n \"vector\": {\n \"type\": \"array\",\n \"description\": \"Embedding vector.\",\n \"items\": {\n \"type\": \"number\",\n \"format\": \"float\"\n }\n },\n \"metadata\": {\n \"type\": \"object\",\n \"description\": \"Document metadata.\",\n \"additionalProperties\": true\n }\n },\n \"required\": [\"id\", \"vector\", \"metadata\"]\n },\n \"FetchVectorsIn\": {\n \"title\": \"FetchVectorsIn\",\n \"type\": \"object\",\n \"properties\": {\n \"collection_name\": {\n \"type\": \"string\",\n \"description\": \"Vector store name.\"\n },\n \"model\": {\n \"type\": \"string\",\n \"description\": \"Selected embedding model.\",\n \"enum\": [\"jina-v2\", \"clip\"],\n \"x-loggable\": true\n },\n \"ids\": {\n \"type\": \"array\",\n \"description\": \"Document IDs to retrieve.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"x-loggable\": true\n }\n },\n \"required\": [\"collection_name\", \"model\", \"ids\"]\n },\n \"FetchVectorsOut\": {\n \"title\": \"FetchVectorsOut\",\n \"type\": \"object\",\n \"properties\": {\n \"vectors\": {\n \"type\": \"array\",\n \"description\": \"Retrieved vectors.\",\n \"items\": {\n \"$ref\": \"#/components/schemas/Vector\"\n }\n }\n },\n \"required\": [\"vectors\"]\n },\n \"UpdateVectorsOut\": {\n \"title\": \"UpdateVectorsOut\",\n \"type\": \"object\",\n \"properties\": {\n \"count\": {\n \"type\": \"integer\",\n \"description\": \"Number of vectors modified.\"\n }\n },\n \"required\": [\"count\"]\n },\n \"DeleteVectorsOut\": {\n \"title\": \"DeleteVectorsOut\",\n \"type\": \"object\",\n \"properties\": {\n \"count\": {\n \"type\": \"integer\",\n \"description\": \"Number of vectors modified.\"\n }\n },\n \"required\": [\"count\"]\n },\n \"UpdateVectorParams\": {\n \"title\": \"UpdateVectorParams\",\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"description\": \"Document ID.\"\n },\n \"vector\": {\n \"type\": \"array\",\n \"description\": \"Embedding vector.\",\n \"items\": {\n \"type\": \"number\",\n \"format\": \"float\"\n }\n },\n \"metadata\": {\n \"type\": \"object\",\n \"description\": \"Document metadata.\",\n \"additionalProperties\": true\n }\n },\n \"required\": [\"id\"]\n },\n \"UpdateVectorsIn\": {\n \"title\": \"UpdateVectorsIn\",\n \"type\": \"object\",\n \"properties\": {\n \"collection_name\": {\n \"type\": \"string\",\n \"description\": \"Vector store name.\"\n },\n \"model\": {\n \"type\": \"string\",\n \"description\": \"Selected embedding model.\",\n \"enum\": [\"jina-v2\", \"clip\"],\n \"x-loggable\": true\n },\n \"vectors\": {\n \"type\": \"array\",\n \"description\": \"Vectors to upsert.\",\n \"items\": {\n \"$ref\": \"#/components/schemas/UpdateVectorParams\"\n }\n }\n },\n \"required\": [\"collection_name\", \"model\", \"vectors\"]\n },\n \"DeleteVectorsIn\": {\n \"title\": \"DeleteVectorsIn\",\n \"type\": \"object\",\n \"properties\": {\n \"collection_name\": {\n \"type\": \"string\",\n \"description\": \"Vector store name.\"\n },\n \"model\": {\n \"type\": \"string\",\n \"description\": \"Selected embedding model.\",\n \"enum\": [\"jina-v2\", \"clip\"],\n \"x-loggable\": true\n },\n \"ids\": {\n \"type\": \"array\",\n \"description\": \"Document IDs to delete.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"x-loggable\": true\n }\n },\n \"required\": [\"collection_name\", \"model\", \"ids\"]\n },\n \"QueryVectorStoreIn\": {\n \"title\": \"QueryVectorStoreIn\",\n \"type\": \"object\",\n \"properties\": {\n \"collection_name\": {\n \"type\": \"string\",\n \"description\": \"Vector store to query against.\"\n },\n \"model\": {\n \"type\": \"string\",\n \"description\": \"Selected embedding model.\",\n \"enum\": [\"jina-v2\", \"clip\"],\n \"x-loggable\": true\n },\n \"query_strings\": {\n \"type\": \"array\",\n \"description\": \"Texts to embed and use for the query.\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"query_image_uris\": {\n \"type\": \"array\",\n \"description\": \"Image URIs to embed and use for the query.\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"query_vectors\": {\n \"type\": \"array\",\n \"description\": \"Vectors to use for the query.\",\n \"items\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"number\",\n \"format\": \"float\"\n }\n }\n },\n \"query_ids\": {\n \"type\": \"array\",\n \"description\": \"Document IDs to use for the query.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"x-loggable\": true\n },\n \"top_k\": {\n \"type\": \"integer\",\n \"minimum\": 1,\n \"maximum\": 1000,\n \"default\": 10,\n \"description\": \"Number of results to return.\",\n \"x-loggable\": true\n },\n \"ef_search\": {\n \"type\": \"integer\",\n \"minimum\": 1,\n \"maximum\": 1000,\n \"default\": 40,\n \"description\": \"The size of the dynamic candidate list for searching the index graph.\",\n \"x-loggable\": true\n },\n \"num_leaves_to_search\": {\n \"type\": \"integer\",\n \"minimum\": 1,\n \"maximum\": 1000,\n \"default\": 40,\n \"description\": \"The number of leaves in the index tree to search.\",\n \"x-loggable\": true\n },\n \"include_values\": {\n \"type\": \"boolean\",\n \"default\": false,\n \"description\": \"Include the values of the vectors in the response.\",\n \"x-loggable\": true\n },\n \"include_metadata\": {\n \"type\": \"boolean\",\n \"default\": false,\n \"description\": \"Include the metadata of the vectors in the response.\",\n \"x-loggable\": true\n },\n \"filters\": {\n \"type\": \"object\",\n \"description\": \"Filter metadata by key-value pairs.\",\n \"additionalProperties\": true\n }\n },\n \"required\": [\"collection_name\", \"model\"]\n },\n \"VectorStoreQueryResult\": {\n \"title\": \"VectorStoreQueryResult\",\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"description\": \"Document ID.\",\n \"x-loggable\": true\n },\n \"distance\": {\n \"type\": \"number\",\n \"format\": \"float\",\n \"description\": \"Similarity score.\",\n \"x-loggable\": true\n },\n \"vector\": {\n \"type\": \"array\",\n \"description\": \"Embedding vector.\",\n \"items\": {\n \"type\": \"number\",\n \"format\": \"float\"\n }\n },\n \"metadata\": {\n \"type\": \"object\",\n \"description\": \"Document metadata.\",\n \"additionalProperties\": true\n }\n },\n \"required\": [\"id\", \"distance\"]\n },\n \"QueryVectorStoreOut\": {\n \"title\": \"QueryVectorStoreOut\",\n \"type\": \"object\",\n \"properties\": {\n \"results\": {\n \"type\": \"array\",\n \"description\": \"Query results.\",\n \"items\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/VectorStoreQueryResult\"\n }\n }\n },\n \"collection_name\": {\n \"type\": \"string\",\n \"description\": \"Vector store name.\"\n },\n \"model\": {\n \"type\": \"string\",\n \"description\": \"Selected embedding model.\",\n \"enum\": [\"jina-v2\", \"clip\"]\n }\n },\n \"required\": [\"results\"]\n },\n \"SplitDocumentIn\": {\n \"title\": \"SplitDocumentIn\",\n \"type\": \"object\",\n \"properties\": {\n \"uri\": {\n \"type\": \"string\",\n \"description\": \"URI of the document.\"\n },\n \"doc_id\": {\n \"type\": \"string\",\n \"description\": \"Document ID.\"\n },\n \"metadata\": {\n \"type\": \"object\",\n \"description\": \"Document metadata.\",\n \"additionalProperties\": true\n },\n \"chunk_size\": {\n \"type\": \"integer\",\n \"minimum\": 1,\n \"description\": \"Maximum number of units per chunk. Defaults to 1024 tokens for text or 40 lines for code.\"\n },\n \"chunk_overlap\": {\n \"type\": \"integer\",\n \"minimum\": 0,\n \"description\": \"Number of units to overlap between chunks. Defaults to 200 tokens for text or 15 lines for code.\"\n }\n },\n \"required\": [\"uri\"]\n },\n \"SplitDocumentOut\": {\n \"title\": \"SplitDocumentOut\",\n \"type\": \"object\",\n \"properties\": {\n \"items\": {\n \"type\": \"array\",\n \"description\": \"Document chunks\",\n \"items\": {\n \"$ref\": \"#/components/schemas/EmbedTextItem\"\n }\n }\n },\n \"required\": [\"items\"]\n }\n }\n },\n \"paths\": {\n \"/Experimental\": {\n \"post\": {\n \"summary\": \"Experimental\",\n \"operationId\": \"Experimental\",\n \"tags\": [\"category:utility\"],\n \"description\": \"Experimental node.\",\n \"requestBody\": {\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/ExperimentalIn\"\n },\n \"example\": {\n \"name\": \"some_name\",\n \"args\": {\n \"foo\": \"bar\"\n }\n }\n }\n }\n },\n \"responses\": {\n \"200\": {\n \"description\": \"OK\",\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/ExperimentalOut\"\n },\n \"example\": {\n \"output\": {\n \"foo\": \"bar\"\n }\n }\n }\n }\n }\n }\n }\n },\n \"/Box\": {\n \"post\": {\n \"summary\": \"Box\",\n \"operationId\": \"Box\",\n \"tags\": [\"category:utility\"],\n \"description\": \"Combine multiple values into a single output.\",\n \"requestBody\": {\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/BoxIn\"\n },\n \"example\": {\n \"value\": {\n \"a\": \"b\",\n \"c\": {\n \"d\": [1, 2, 3]\n }\n }\n }\n }\n }\n },\n \"responses\": {\n \"200\": {\n \"description\": \"OK\",\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/BoxOut\"\n },\n \"example\": {\n \"value\": {\n \"a\": \"b\",\n \"c\": {\n \"d\": [1, 2, 3]\n }\n }\n }\n }\n }\n }\n }\n }\n },\n \"/If\": {\n \"post\": {\n \"summary\": \"If\",\n \"operationId\": \"If\",\n \"x-node\": \"LogicalIf\",\n \"tags\": [\"category:utility\"],\n \"description\": \"Return one of two options based on a condition.\",\n \"requestBody\": {\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/IfIn\"\n },\n \"example\": {\n \"condition\": true,\n \"value_if_true\": \"yes\",\n \"value_if_false\": \"no\"\n }\n }\n }\n },\n \"responses\": {\n \"200\": {\n \"description\": \"OK\",\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/IfOut\"\n },\n \"example\": {\n \"result\": \"yes\"\n }\n }\n }\n }\n }\n }\n },\n \"/RunPython\": {\n \"post\": {\n \"summary\": \"RunPython\",\n \"operationId\": \"RunPython\",\n \"tags\": [\"category:utility\"],\n \"description\": \"Run code using a Python interpreter.\",\n \"requestBody\": {\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/RunPythonIn\"\n },\n \"example\": {\n \"pkl_function\": \"g2UjA5fX2t3ZGVmYXVsdHNfX5ROjAxfX2RlZmF1bHRzX1+UTowKX19tb2R1bGVfX5SMCF9fbWFpbl9flIwHX19kb2NfX5ROjAtfX2Nsb3N1cmVfX5ROjBdfY2xvdWRwaWNrbGVfc3VibW9kdWxlc5RdlIwLX19nbG9iYWxzX1+UfZR1hpSGUjAu\",\n \"kwargs\": {},\n \"pip_install\": [\"numpy\"]\n }\n }\n }\n },\n \"responses\": {\n \"200\": {\n \"description\": \"OK\",\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/RunPythonOut\"\n },\n \"example\": {\n \"stdout\": \"foo\\n\",\n \"stderr\": \"\"\n }\n }\n }\n }\n }\n }\n },\n \"/ComputeText\": {\n \"post\": {\n \"summary\": \"ComputeText\",\n \"operationId\": \"ComputeText\",\n \"tags\": [\"category:language\"],\n \"description\": \"Compute text using a language model.\",\n \"requestBody\": {\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/ComputeTextIn\"\n },\n \"example\": {\n \"prompt\": \"Who is Don Quixote?\",\n \"temperature\": 0.4,\n \"max_tokens\": 800\n }\n }\n }\n },\n \"responses\": {\n \"200\": {\n \"description\": \"OK\",\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/ComputeTextOut\"\n },\n \"example\": {\n \"text\": \"Don Quixote is a fictional character in the novel of the same name by Miguel de Cervantes.\"\n }\n }\n }\n }\n }\n }\n },\n \"/MultiComputeText\": {\n \"post\": {\n \"summary\": \"MultiComputeText\",\n \"operationId\": \"MultiComputeText\",\n \"tags\": [\"category:language\"],\n \"description\": \"Generate multiple text choices using a language model.\",\n \"requestBody\": {\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/MultiComputeTextIn\"\n },\n \"example\": {\n \"prompt\": \"Who is Don Quixote?\",\n \"num_choices\": 2,\n \"max_tokens\": 800\n }\n }\n }\n },\n \"responses\": {\n \"200\": {\n \"description\": \"OK\",\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/MultiComputeTextOut\"\n },\n \"example\": {\n \"choices\": [\n {\n \"text\": \"Don Quixote is a fictional character and the protagonist of the novel Don Quixote by Miguel...\"\n },\n {\n \"text\": \"Don Quixote is a fictional character created by the Spanish author Miguel de Cervantes...\"\n }\n ]\n }\n }\n }\n }\n }\n }\n },\n \"/BatchComputeText\": {\n \"post\": {\n \"summary\": \"BatchComputeText\",\n \"operationId\": \"BatchComputeText\",\n \"tags\": [\"category:language\"],\n \"description\": \"Compute text for multiple prompts in batch using a language model.\",\n \"requestBody\": {\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/BatchComputeTextIn\"\n },\n \"example\": {\n \"prompts\": [\"Who is Don Quixote?\", \"Who is Sancho Panza?\"],\n \"max_tokens\": 800\n }\n }\n }\n },\n \"responses\": {\n \"200\": {\n \"description\": \"OK\",\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/BatchComputeTextOut\"\n },\n \"example\": {\n \"outputs\": [\n {\n \"text\": \"Don Quixote is a fictional character and the protagonist of the novel Don Quixote by Miguel...\"\n },\n {\n \"text\": \"Don Quixote is a fictional character created by the Spanish author Miguel de Cervantes...\"\n }\n ]\n }\n }\n }\n }\n }\n }\n },\n \"/BatchComputeJSON\": {\n \"post\": {\n \"summary\": \"BatchComputeJSON\",\n \"operationId\": \"BatchComputeJSON\",\n \"tags\": [\"category:language\"],\n \"description\": \"Compute JSON for multiple prompts in batch using a language model.\",\n \"requestBody\": {\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/BatchComputeJSONIn\"\n },\n \"example\": {\n \"prompts\": [\"Who is Don Quixote?\", \"Who is Sancho Panza?\"],\n \"max_tokens\": 800,\n \"json_schema\": {\n \"type\": \"object\",\n \"properties\": {\n \"name\": {\n \"type\": \"string\",\n \"description\": \"The name of the character.\"\n },\n \"bio\": {\n \"type\": \"string\",\n \"description\": \"Concise biography of the character.\"\n }\n }\n }\n }\n }\n }\n },\n \"responses\": {\n \"200\": {\n \"description\": \"OK\",\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/BatchComputeJSONOut\"\n },\n \"example\": {\n \"outputs\": [\n {\n \"json_object\": {}\n },\n {\n \"json_object\": {}\n }\n ]\n }\n }\n }\n }\n }\n }\n },\n \"/ComputeJSON\": {\n \"post\": {\n \"summary\": \"ComputeJSON\",\n \"operationId\": \"ComputeJSON\",\n \"tags\": [\"category:language\"],\n \"description\": \"Compute JSON using a language model.\",\n \"requestBody\": {\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/ComputeJSONIn\"\n },\n \"example\": {\n \"prompt\": \"Who wrote Don Quixote?\",\n \"json_schema\": {\n \"type\": \"object\",\n \"properties\": {\n \"name\": {\n \"type\": \"string\",\n \"description\": \"The name of the author.\"\n },\n \"bio\": {\n \"type\": \"string\",\n \"description\": \"Concise biography of the author.\"\n }\n }\n },\n \"temperature\": 0.4,\n \"max_tokens\": 800\n }\n }\n }\n },\n \"responses\": {\n \"200\": {\n \"description\": \"OK\",\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/ComputeJSONOut\"\n },\n \"example\": {\n \"json_object\": {}\n }\n }\n }\n }\n }\n }\n },\n \"/MultiComputeJSON\": {\n \"post\": {\n \"summary\": \"MultiComputeJSON\",\n \"operationId\": \"MultiComputeJSON\",\n \"tags\": [\"category:language\"],\n \"description\": \"Compute multiple JSON choices using a language model.\",\n \"requestBody\": {\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/MultiComputeJSONIn\"\n },\n \"example\": {\n \"prompt\": \"Who wrote Don Quixote?\",\n \"json_schema\": {\n \"type\": \"object\",\n \"properties\": {\n \"name\": {\n \"type\": \"string\",\n \"description\": \"The name of the author.\"\n },\n \"bio\": {\n \"type\": \"string\",\n \"description\": \"Concise biography of the author.\"\n }\n }\n },\n \"num_choices\": 2,\n \"temperature\": 0.4,\n \"max_tokens\": 800\n }\n }\n }\n },\n \"responses\": {\n \"200\": {\n \"description\": \"OK\",\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/MultiComputeJSONOut\"\n },\n \"example\": {\n \"choices\": [\n {\n \"json_object\": {}\n },\n {\n \"json_object\": {}\n }\n ]\n }\n }\n }\n }\n }\n }\n },\n \"/Mistral7BInstruct\": {\n \"post\": {\n \"summary\": \"Mistral7BInstruct\",\n \"operationId\": \"Mistral7BInstruct\",\n \"tags\": [\"category:language\", \"type:low-level\"],\n \"description\": \"Compute text using [Mistral 7B Instruct](https://mistral.ai/news/announcing-mistral-7b).\",\n \"requestBody\": {\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/Mistral7BInstructIn\"\n },\n \"example\": {\n \"prompt\": \"Who is Don Quixote?\",\n \"num_choices\": 2,\n \"temperature\": 0.4,\n \"max_tokens\": 800\n }\n }\n }\n },\n \"responses\": {\n \"200\": {\n \"description\": \"OK\",\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/Mistral7BInstructOut\"\n },\n \"example\": {\n \"choices\": [\n {\n \"text\": \"Don Quixote is a fictional character and the protagonist of the novel Don Quixote by Miguel...\"\n },\n {\n \"text\": \"Don Quixote is a fictional character created by the Spanish author Miguel de Cervantes...\"\n }\n ]\n }\n }\n }\n }\n }\n }\n },\n \"/Mixtral8x7BInstruct\": {\n \"post\": {\n \"summary\": \"Mixtral8x7BInstruct\",\n \"operationId\": \"Mixtral8x7BInstruct\",\n \"tags\": [\"category:language\", \"type:low-level\"],\n \"description\": \"Compute text using instruct-tuned [Mixtral 8x7B](https://mistral.ai/news/mixtral-of-experts/).\",\n \"requestBody\": {\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/Mixtral8x7BInstructIn\"\n },\n \"example\": {\n \"prompt\": \"Who is Don Quixote?\",\n \"num_choices\": 2,\n \"temperature\": 0.4,\n \"max_tokens\": 800\n }\n }\n }\n },\n \"responses\": {\n \"200\": {\n \"description\": \"OK\",\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/Mixtral8x7BInstructOut\"\n },\n \"example\": {\n \"choices\": [\n {\n \"text\": \"Don Quixote is a fictional character and the protagonist of the novel Don Quixote by Miguel...\"\n },\n {\n \"text\": \"Don Quixote is a fictional character created by the Spanish author Miguel de Cervantes...\"\n }\n ]\n }\n }\n }\n }\n }\n }\n },\n \"/Llama3Instruct8B\": {\n \"post\": {\n \"summary\": \"Llama3Instruct8B\",\n \"operationId\": \"Llama3Instruct8B\",\n \"tags\": [\"category:language\", \"type:low-level\"],\n \"description\": \"Compute text using instruct-tuned [Llama 3 8B](https://llama.meta.com/llama3/).\",\n \"requestBody\": {\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/Llama3Instruct8BIn\"\n },\n \"example\": {\n \"prompt\": \"Who is Don Quixote?\",\n \"num_choices\": 2,\n \"temperature\": 0.4,\n \"max_tokens\": 800\n }\n }\n }\n },\n \"responses\": {\n \"200\": {\n \"description\": \"OK\",\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/Llama3Instruct8BOut\"\n },\n \"example\": {\n \"choices\": [\n {\n \"text\": \"Don Quixote is a fictional character and the protagonist of the novel Don Quixote by Miguel...\"\n },\n {\n \"text\": \"Don Quixote is a fictional character created by the Spanish author Miguel de Cervantes...\"\n }\n ]\n }\n }\n }\n }\n }\n }\n },\n \"/Llama3Instruct70B\": {\n \"post\": {\n \"summary\": \"Llama3Instruct70B\",\n \"operationId\": \"Llama3Instruct70B\",\n \"tags\": [\"category:language\", \"type:low-level\"],\n \"description\": \"Compute text using instruct-tuned [Llama 3 70B](https://llama.meta.com/llama3/).\",\n \"requestBody\": {\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/Llama3Instruct70BIn\"\n },\n \"example\": {\n \"prompt\": \"Who is Don Quixote?\",\n \"num_choices\": 2,\n \"temperature\": 0.4,\n \"max_tokens\": 800\n }\n }\n }\n },\n \"responses\": {\n \"200\": {\n \"description\": \"OK\",\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/Llama3Instruct70BOut\"\n },\n \"example\": {\n \"choices\": [\n {\n \"text\": \"Don Quixote is a fictional character and the protagonist of the novel Don Quixote by Miguel...\"\n },\n {\n \"text\": \"Don Quixote is a fictional character created by the Spanish author Miguel de Cervantes...\"\n }\n ]\n }\n }\n }\n }\n }\n }\n },\n \"/Firellava13B\": {\n \"post\": {\n \"summary\": \"Firellava13B\",\n \"operationId\": \"Firellava13B\",\n \"tags\": [\"category:language\", \"type:low-level\"],\n \"description\": \"Compute text with image input using [FireLLaVA 13B](https://fireworks.ai/blog/firellava-the-first-commercially-permissive-oss-llava-model).\",\n \"requestBody\": {\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/Firellava13BIn\"\n },\n \"example\": {\n \"prompt\": \"what are these paintings of and who made them?\",\n \"image_uris\": [\n \"https://media.substrate.run/docs-fuji-red.jpg\",\n \"https://media.substrate.run/docs-fuji-blue.jpg\"\n ]\n }\n }\n }\n },\n \"responses\": {\n \"200\": {\n \"description\": \"OK\",\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/Firellava13BOut\"\n },\n \"example\": {\n \"text\": \"The artist who created these paintings is Hokusai Katsushika, a renowned Japanese artist known for his woodblock prints and paintings.\"\n }\n }\n }\n }\n }\n }\n },\n \"/GenerateImage\": {\n \"post\": {\n \"summary\": \"GenerateImage\",\n \"operationId\": \"GenerateImage\",\n \"tags\": [\"category:image\"],\n \"description\": \"Generate an image.\",\n \"requestBody\": {\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/GenerateImageIn\"\n },\n \"example\": {\n \"prompt\": \"hokusai futuristic supercell spiral cloud with glowing core over turbulent ocean\",\n \"store\": \"hosted\"\n }\n }\n }\n },\n \"responses\": {\n \"200\": {\n \"description\": \"OK\",\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/GenerateImageOut\"\n },\n \"example\": {\n \"image_uri\": \"https://assets.substrate.run/84848484.jpg\"\n }\n }\n }\n }\n }\n }\n },\n \"/MultiGenerateImage\": {\n \"post\": {\n \"summary\": \"MultiGenerateImage\",\n \"operationId\": \"MultiGenerateImage\",\n \"tags\": [\"category:image\"],\n \"description\": \"Generate multiple images.\",\n \"requestBody\": {\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/MultiGenerateImageIn\"\n },\n \"example\": {\n \"prompt\": \"hokusai futuristic supercell spiral cloud with glowing core over turbulent ocean\",\n \"num_images\": 2,\n \"store\": \"hosted\"\n }\n }\n }\n },\n \"responses\": {\n \"200\": {\n \"description\": \"OK\",\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/MultiGenerateImageOut\"\n },\n \"example\": {\n \"outputs\": [\n {\n \"image_uri\": \"https://assets.substrate.run/84848484.jpg\"\n },\n {\n \"image_uri\": \"https://assets.substrate.run/48484848.jpg\"\n }\n ]\n }\n }\n }\n }\n }\n }\n },\n \"/InpaintImage\": {\n \"post\": {\n \"summary\": \"InpaintImage\",\n \"operationId\": \"InpaintImage\",\n \"tags\": [\"category:image\"],\n \"description\": \"Edit an image using image generation inside part of the image or the full image.\",\n \"requestBody\": {\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/InpaintImageIn\"\n },\n \"example\": {\n \"image_uri\": \"https://media.substrate.run/docs-klimt-park.jpg\",\n \"mask_image_uri\": \"https://media.substrate.run/spiral-logo.jpeg\",\n \"prompt\": \"large tropical colorful bright anime birds in a dark jungle full of vines, high resolution\",\n \"store\": \"hosted\"\n }\n }\n }\n },\n \"responses\": {\n \"200\": {\n \"description\": \"OK\",\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/InpaintImageOut\"\n },\n \"example\": {\n \"image_uri\": \"https://assets.substrate.run/84848484.jpg\"\n }\n }\n }\n }\n }\n }\n },\n \"/MultiInpaintImage\": {\n \"post\": {\n \"summary\": \"MultiInpaintImage\",\n \"operationId\": \"MultiInpaintImage\",\n \"tags\": [\"category:image\"],\n \"description\": \"Edit multiple images using image generation.\",\n \"requestBody\": {\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/MultiInpaintImageIn\"\n },\n \"example\": {\n \"image_uri\": \"https://media.substrate.run/docs-klimt-park.jpg\",\n \"mask_image_uri\": \"https://media.substrate.run/spiral-logo.jpeg\",\n \"prompt\": \"large tropical colorful bright anime birds in a dark jungle full of vines, high resolution\",\n \"num_images\": 2,\n \"store\": \"hosted\"\n }\n }\n }\n },\n \"responses\": {\n \"200\": {\n \"description\": \"OK\",\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/MultiInpaintImageOut\"\n },\n \"example\": {\n \"outputs\": [\n {\n \"image_uri\": \"https://assets.substrate.run/84848484.jpg\"\n },\n {\n \"image_uri\": \"https://assets.substrate.run/48484848.jpg\"\n }\n ]\n }\n }\n }\n }\n }\n }\n },\n \"/StableDiffusionXLLightning\": {\n \"post\": {\n \"summary\": \"StableDiffusionXLLightning\",\n \"operationId\": \"StableDiffusionXLLightning\",\n \"tags\": [\"category:image\", \"type:low-level\"],\n \"description\": \"Generate an image using [Stable Diffusion XL Lightning](https://arxiv.org/abs/2402.13929).\",\n \"requestBody\": {\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/StableDiffusionXLLightningIn\"\n },\n \"example\": {\n \"prompt\": \"hokusai futuristic supercell spiral cloud with glowing core over turbulent ocean\",\n \"negative_prompt\": \"night, moon\",\n \"num_images\": 2,\n \"seeds\": [330699, 136464],\n \"store\": \"hosted\"\n }\n }\n }\n },\n \"responses\": {\n \"200\": {\n \"description\": \"OK\",\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/StableDiffusionXLLightningOut\"\n },\n \"example\": {\n \"outputs\": [\n {\n \"image_uri\": \"https://assets.substrate.run/84848484.jpg\",\n \"seed\": 330418\n },\n {\n \"image_uri\": \"https://assets.substrate.run/48484848.jpg\",\n \"seed\": 1364164\n }\n ]\n }\n }\n }\n }\n }\n }\n },\n \"/StableDiffusionXLInpaint\": {\n \"post\": {\n \"summary\": \"StableDiffusionXLInpaint\",\n \"operationId\": \"StableDiffusionXLInpaint\",\n \"tags\": [\"category:image\", \"type:low-level\"],\n \"description\": \"Edit an image using [Stable Diffusion XL](https://arxiv.org/abs/2307.01952). Supports inpainting (edit part of the image with a mask) and image-to-image (edit the full image).\",\n \"requestBody\": {\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/StableDiffusionXLInpaintIn\"\n },\n \"example\": {\n \"image_uri\": \"https://media.substrate.run/docs-klimt-park.jpg\",\n \"mask_image_uri\": \"https://media.substrate.run/spiral-logo.jpeg\",\n \"prompt\": \"large tropical colorful bright birds in a jungle, high resolution oil painting\",\n \"negative_prompt\": \"dark, cartoon, anime\",\n \"strength\": 0.8,\n \"num_images\": 2,\n \"store\": \"hosted\",\n \"seeds\": [1607280, 1720395]\n }\n }\n }\n },\n \"responses\": {\n \"200\": {\n \"description\": \"OK\",\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/StableDiffusionXLInpaintOut\"\n },\n \"example\": {\n \"outputs\": [\n {\n \"image_uri\": \"https://assets.substrate.run/84848484.jpg\",\n \"seed\": 1607326\n },\n {\n \"image_uri\": \"https://assets.substrate.run/48484848.jpg\",\n \"seed\": 1720398\n }\n ]\n }\n }\n }\n }\n }\n }\n },\n \"/StableDiffusionXLControlNet\": {\n \"post\": {\n \"summary\": \"StableDiffusionXLControlNet\",\n \"operationId\": \"StableDiffusionXLControlNet\",\n \"tags\": [\"category:image\"],\n \"description\": \"Generate an image with generation structured by an input image, using Stable Diffusion XL with [ControlNet](https://arxiv.org/abs/2302.05543).\",\n \"requestBody\": {\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/StableDiffusionXLControlNetIn\"\n },\n \"example\": {\n \"image_uri\": \"https://media.substrate.run/spiral-logo.jpeg\",\n \"prompt\": \"the futuristic solarpunk city of atlantis at sunset, cinematic bokeh HD\",\n \"control_method\": \"illusion\",\n \"conditioning_scale\": 1.0,\n \"strength\": 1.0,\n \"store\": \"hosted\",\n \"num_images\": 2,\n \"seeds\": [1607226, 1720395]\n }\n }\n }\n },\n \"responses\": {\n \"200\": {\n \"description\": \"OK\",\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/StableDiffusionXLControlNetOut\"\n },\n \"example\": {\n \"outputs\": [\n {\n \"image_uri\": \"https://assets.substrate.run/84848484.jpg\",\n \"seed\": 1607266\n },\n {\n \"image_uri\": \"https://assets.substrate.run/48484848.jpg\",\n \"seed\": 1720398\n }\n ]\n }\n }\n }\n }\n }\n }\n },\n \"/StableVideoDiffusion\": {\n \"post\": {\n \"summary\": \"StableVideoDiffusion\",\n \"operationId\": \"StableVideoDiffusion\",\n \"tags\": [\"category:image\", \"type:low-level\"],\n \"description\": \"Generates a video using a still image as conditioning frame.\",\n \"requestBody\": {\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/StableVideoDiffusionIn\"\n },\n \"example\": {\n \"image_uri\": \"https://media.substrate.run/apple-forest.jpeg\",\n \"store\": \"hosted\"\n }\n }\n }\n },\n \"responses\": {\n \"200\": {\n \"description\": \"OK\",\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/StableVideoDiffusionOut\"\n },\n \"example\": {\n \"video_uri\": \"https://assets.substrate.run/84848484.mp4\"\n }\n }\n }\n }\n }\n }\n },\n \"/InterpolateFrames\": {\n \"post\": {\n \"summary\": \"InterpolateFrames\",\n \"operationId\": \"InterpolateFrames\",\n \"tags\": [\"category:image\", \"type:low-level\"],\n \"description\": \"Generates a interpolation frames between each adjacent frames.\",\n \"requestBody\": {\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/InterpolateFramesIn\"\n },\n \"example\": {\n \"frame_uris\": [\n \"https://media.substrate.run/apple-forest2.jpeg\",\n \"https://media.substrate.run/apple-forest3.jpeg\"\n ],\n \"store\": \"hosted\"\n }\n }\n }\n },\n \"responses\": {\n \"200\": {\n \"description\": \"OK\",\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/InterpolateFramesOut\"\n },\n \"example\": {\n \"video_uri\": \"https://assets.substrate.run/84848484.mp4\"\n }\n }\n }\n }\n }\n }\n },\n \"/TranscribeSpeech\": {\n \"post\": {\n \"summary\": \"TranscribeSpeech\",\n \"operationId\": \"TranscribeSpeech\",\n \"tags\": [\"category:audio\"],\n \"description\": \"Transcribe speech in an audio or video file.\",\n \"requestBody\": {\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/TranscribeSpeechIn\"\n },\n \"example\": {\n \"audio_uri\": \"https://media.substrate.run/dfw-clip.m4a\",\n \"prompt\": \"David Foster Wallace interviewed about US culture, and Infinite Jest\",\n \"segment\": true,\n \"align\": true,\n \"diarize\": true,\n \"suggest_chapters\": true\n }\n }\n }\n },\n \"responses\": {\n \"200\": {\n \"description\": \"OK\",\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/TranscribeSpeechOut\"\n },\n \"example\": {\n \"text\": \"language like that, the wounded inner child, the inner pain, is part of a kind of pop psychological movement in the United States that is a sort of popular Freudianism that ...\",\n \"segments\": [\n {\n \"start\": 0.874,\n \"end\": 15.353,\n \"speaker\": \"SPEAKER_00\",\n \"text\": \"language like that, the wounded inner child, the inner pain, is part of a kind of pop psychological movement in the United States that is a sort of popular Freudianism that\",\n \"words\": [\n {\n \"word\": \"language\",\n \"start\": 0.874,\n \"end\": 1.275,\n \"speaker\": \"SPEAKER_00\"\n },\n {\n \"word\": \"like\",\n \"start\": 1.295,\n \"end\": 1.455,\n \"speaker\": \"SPEAKER_00\"\n }\n ]\n }\n ],\n \"chapters\": [\n {\n \"title\": \"Introduction to the Wounded Inner Child and Popular Psychology in US\",\n \"start\": 0.794\n },\n {\n \"title\": \"The Paradox of Popular Psychology and Anger in America\",\n \"start\": 16.186\n }\n ]\n }\n }\n }\n }\n }\n }\n },\n \"/GenerateSpeech\": {\n \"post\": {\n \"summary\": \"GenerateSpeech\",\n \"operationId\": \"GenerateSpeech\",\n \"tags\": [\"category:audio\", \"backend:v1\"],\n \"description\": \"Generate speech from text.\",\n \"requestBody\": {\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/GenerateSpeechIn\"\n },\n \"example\": {\n \"text\": \"Substrate: an underlying substance or layer.\",\n \"store\": \"hosted\"\n }\n }\n }\n },\n \"responses\": {\n \"200\": {\n \"description\": \"OK\",\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/GenerateSpeechOut\"\n },\n \"example\": {\n \"audio_uri\": \"https://assets.substrate.run/84848484.wav\"\n }\n }\n }\n }\n }\n }\n },\n \"/RemoveBackground\": {\n \"post\": {\n \"summary\": \"RemoveBackground\",\n \"operationId\": \"RemoveBackground\",\n \"tags\": [\"category:segmentation\"],\n \"description\": \"Remove the background from an image and return the foreground segment as a cut-out or a mask.\",\n \"requestBody\": {\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/RemoveBackgroundIn\"\n },\n \"example\": {\n \"image_uri\": \"https://media.substrate.run/apple-forest.jpeg\",\n \"store\": \"hosted\"\n }\n }\n }\n },\n \"responses\": {\n \"200\": {\n \"description\": \"OK\",\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/RemoveBackgroundOut\"\n },\n \"example\": {\n \"image_uri\": \"https://assets.substrate.run/84848484.jpg\"\n }\n }\n }\n }\n }\n }\n },\n \"/EraseImage\": {\n \"post\": {\n \"summary\": \"EraseImage\",\n \"operationId\": \"EraseImage\",\n \"tags\": [\"category:image\"],\n \"description\": \"Erase the masked part of an image, e.g. to remove an object by inpainting.\",\n \"requestBody\": {\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/EraseImageIn\"\n },\n \"example\": {\n \"image_uri\": \"https://media.substrate.run/apple-forest.jpeg\",\n \"mask_image_uri\": \"https://media.substrate.run/apple-forest-mask.jpeg\",\n \"store\": \"hosted\"\n }\n }\n }\n },\n \"responses\": {\n \"200\": {\n \"description\": \"OK\",\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/EraseImageOut\"\n },\n \"example\": {\n \"image_uri\": \"https://assets.substrate.run/84848484.jpg\"\n }\n }\n }\n }\n }\n }\n },\n \"/UpscaleImage\": {\n \"post\": {\n \"summary\": \"UpscaleImage\",\n \"operationId\": \"UpscaleImage\",\n \"tags\": [\"category:image\"],\n \"description\": \"Upscale an image using image generation.\",\n \"requestBody\": {\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/UpscaleImageIn\"\n },\n \"example\": {\n \"prompt\": \"high resolution detailed spiral shell\",\n \"image_uri\": \"https://media.substrate.run/docs-shell-emoji.jpg\",\n \"store\": \"hosted\"\n }\n }\n }\n },\n \"responses\": {\n \"200\": {\n \"description\": \"OK\",\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/UpscaleImageOut\"\n },\n \"example\": {\n \"image_uri\": \"https://assets.substrate.run/84848484.jpg\"\n }\n }\n }\n }\n }\n }\n },\n \"/SegmentUnderPoint\": {\n \"post\": {\n \"summary\": \"SegmentUnderPoint\",\n \"operationId\": \"SegmentUnderPoint\",\n \"tags\": [\"category:segmentation\"],\n \"description\": \"Segment an image under a point and return the segment.\",\n \"requestBody\": {\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/SegmentUnderPointIn\"\n },\n \"example\": {\n \"image_uri\": \"https://media.substrate.run/docs-vg-bedroom.jpg\",\n \"point\": {\n \"x\": 189,\n \"y\": 537\n },\n \"store\": \"hosted\"\n }\n }\n }\n },\n \"responses\": {\n \"200\": {\n \"description\": \"OK\",\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/SegmentUnderPointOut\"\n },\n \"example\": {\n \"mask_image_uri\": \"https://assets.substrate.run/84848484.jpg\"\n }\n }\n }\n }\n }\n }\n },\n \"/SegmentAnything\": {\n \"post\": {\n \"summary\": \"SegmentAnything\",\n \"operationId\": \"SegmentAnything\",\n \"tags\": [\"category:segmentation\", \"type:low-level\"],\n \"description\": \"Segment an image using [SegmentAnything](https://github.com/facebookresearch/segment-anything).\",\n \"requestBody\": {\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/SegmentAnythingIn\"\n },\n \"example\": {\n \"image_uri\": \"https://media.substrate.run/docs-vg-bedroom.jpg\",\n \"point_prompts\": [\n {\n \"x\": 189,\n \"y\": 537\n }\n ],\n \"store\": \"hosted\"\n }\n }\n }\n },\n \"responses\": {\n \"200\": {\n \"description\": \"OK\",\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/SegmentAnythingOut\"\n },\n \"example\": {\n \"mask_image_uri\": \"https://assets.substrate.run/84848484.jpg\"\n }\n }\n }\n }\n }\n }\n },\n \"/SplitDocument\": {\n \"post\": {\n \"summary\": \"SplitDocument\",\n \"operationId\": \"SplitDocument\",\n \"tags\": [\"category:embedding\"],\n \"description\": \"Split document into text segments.\",\n \"requestBody\": {\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/SplitDocumentIn\"\n },\n \"example\": {\n \"doc_id\": \"example_pdf\",\n \"uri\": \"https://arxiv.org/pdf/2405.07945\",\n \"metadata\": {\n \"title\": \"GRASS II: Simulations of Potential Granulation Noise Mitigation Methods\"\n }\n }\n }\n }\n },\n \"responses\": {\n \"200\": {\n \"description\": \"OK\",\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/SplitDocumentOut\"\n },\n \"example\": {\n \"items\": [\n {\n \"text\": \"This is the first chunk of the pdf\",\n \"metadata\": {\n \"title\": \"GRASS II: Simulations of Potential Granulation Noise Mitigation Methods\",\n \"chunk_id\": \"chk_asd897asdhnad0j8qd8qnd98\"\n },\n \"doc_id\": \"example_pdf\"\n },\n {\n \"text\": \"This is the second chunk of the pdf\",\n \"metadata\": {\n \"title\": \"GRASS II: Simulations of Potential Granulation Noise Mitigation Methods\",\n \"chunk_id\": \"chk_nvsiusd89adsy89dahd9abs8\"\n },\n \"doc_id\": \"example_pdf\"\n }\n ]\n }\n }\n }\n }\n }\n }\n },\n \"/EmbedText\": {\n \"post\": {\n \"summary\": \"EmbedText\",\n \"operationId\": \"EmbedText\",\n \"tags\": [\"category:embedding\"],\n \"description\": \"Generate embedding for a text document.\",\n \"requestBody\": {\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/EmbedTextIn\"\n },\n \"example\": {\n \"text\": \"Argon is the third most abundant gas in Earth's atmosphere, at 0.934% (9340 ppmv). It is more than twice as abundant as water vapor.\",\n \"model\": \"jina-v2\",\n \"collection_name\": \"smoke_tests\",\n \"metadata\": {\n \"group\": \"18\"\n },\n \"embedded_metadata_keys\": [\"group\"]\n }\n }\n }\n },\n \"responses\": {\n \"200\": {\n \"description\": \"OK\",\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/EmbedTextOut\"\n },\n \"example\": {\n \"embedding\": {\n \"vector\": [\n -0.035030052065849304, -0.04128379374742508,\n 0.05782046541571617\n ],\n \"doc_id\": \"c9de81fb98804ce0afb2b8ac17c0799b\",\n \"metadata\": {\n \"group\": \"18\",\n \"doc_id\": \"c9de81fb98804ce0afb2b8ac17c0799b\",\n \"doc\": \"group: 18\\n\\nArgon is the third most abundant gas in Earth's atmosphere, at 0.934% (9340 ppmv). It is more than twice as abundant as water vapor.\"\n }\n }\n }\n }\n }\n }\n }\n }\n },\n \"/MultiEmbedText\": {\n \"post\": {\n \"summary\": \"MultiEmbedText\",\n \"operationId\": \"MultiEmbedText\",\n \"tags\": [\"category:embedding\"],\n \"description\": \"Generate embeddings for multiple text documents.\",\n \"requestBody\": {\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/MultiEmbedTextIn\"\n },\n \"example\": {\n \"model\": \"jina-v2\",\n \"items\": [\n {\n \"text\": \"Osmium is the densest naturally occurring element. When experimentally measured using X-ray crystallography, it has a density of 22.59 g/cm3. Manufacturers use its alloys with platinum, iridium, and other platinum-group metals to make fountain pen nib tipping, electrical contacts, and in other applications that require extreme durability and hardness.\",\n \"metadata\": {\n \"group\": \"8\"\n }\n },\n {\n \"text\": \"Despite its abundant presence in the universe and Solar System—ranking fifth in cosmic abundance following hydrogen, helium, oxygen, and carbon—neon is comparatively scarce on Earth.\",\n \"metadata\": {\n \"group\": \"18\"\n }\n }\n ],\n \"collection_name\": \"smoke_tests\",\n \"embedded_metadata_keys\": [\"group\"]\n }\n }\n }\n },\n \"responses\": {\n \"200\": {\n \"description\": \"OK\",\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/MultiEmbedTextOut\"\n },\n \"example\": {\n \"embeddings\": [\n {\n \"vector\": [\n -0.035030052065849304, -0.04128379374742508,\n 0.05782046541571617\n ],\n \"doc_id\": \"c9de81fb98804ce0afb2b8ac17c0799b\",\n \"metadata\": {\n \"group\": \"8\",\n \"doc_id\": \"c9de81fb98804ce0afb2b8ac17c0799b\",\n \"doc\": \"group: 8\\n\\nOsmium is the densest naturally occurring element. When experimentally measured using X-ray crystallography, it has a density of 22.59 g/cm3. Manufacturers use its alloys with platinum, iridium, and other platinum-group metals to make fountain pen nib tipping, electrical contacts, and in other applications that require extreme durability and hardness.\"\n }\n },\n {\n \"vector\": [\n 0.0003024724137503654, -0.025219274684786797,\n -0.009984994307160378\n ],\n \"doc_id\": \"c4464f69c93946a896925589681d38b4\",\n \"metadata\": {\n \"group\": \"18\",\n \"doc_id\": \"c4464f69c93946a896925589681d38b4\",\n \"doc\": \"group: 18\\n\\nDespite its abundant presence in the universe and Solar System—ranking fifth in cosmic abundance following hydrogen, helium, oxygen, and carbon—neon is comparatively scarce on Earth.\"\n }\n }\n ]\n }\n }\n }\n }\n }\n }\n },\n \"/EmbedImage\": {\n \"post\": {\n \"summary\": \"EmbedImage\",\n \"operationId\": \"EmbedImage\",\n \"tags\": [\"category:embedding\"],\n \"description\": \"Generate embedding for an image.\",\n \"requestBody\": {\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/EmbedImageIn\"\n },\n \"example\": {\n \"image_uri\": \"https://media.substrate.run/docs-fuji-red.jpg\",\n \"collection_name\": \"smoke_tests\"\n }\n }\n }\n },\n \"responses\": {\n \"200\": {\n \"description\": \"OK\",\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/EmbedImageOut\"\n },\n \"example\": {\n \"embedding\": {\n \"vector\": [\n 0.0003024724137503654, -0.025219274684786797,\n -0.009984994307160378\n ],\n \"doc_id\": \"c4464f69c93946a896925589681d38b4\"\n }\n }\n }\n }\n }\n }\n }\n },\n \"/MultiEmbedImage\": {\n \"post\": {\n \"summary\": \"MultiEmbedImage\",\n \"operationId\": \"MultiEmbedImage\",\n \"tags\": [\"category:embedding\"],\n \"description\": \"Generate embeddings for multiple images.\",\n \"requestBody\": {\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/MultiEmbedImageIn\"\n },\n \"example\": {\n \"items\": [\n {\n \"image_uri\": \"https://media.substrate.run/docs-fuji-red.jpg\"\n },\n {\n \"image_uri\": \"https://media.substrate.run/docs-fuji-blue.jpg\"\n }\n ],\n \"collection_name\": \"smoke_tests\"\n }\n }\n }\n },\n \"responses\": {\n \"200\": {\n \"description\": \"OK\",\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/MultiEmbedImageOut\"\n },\n \"example\": {\n \"embeddings\": [\n {\n \"vector\": [\n -0.035030052065849304, -0.04128379374742508,\n 0.05782046541571617\n ],\n \"doc_id\": \"c9de81fb98804ce0afb2b8ac17c0799b\"\n },\n {\n \"vector\": [\n 0.0003024724137503654, -0.025219274684786797,\n -0.009984994307160378\n ],\n \"doc_id\": \"c4464f69c93946a896925589681d38b4\"\n }\n ]\n }\n }\n }\n }\n }\n }\n },\n \"/JinaV2\": {\n \"post\": {\n \"summary\": \"JinaV2\",\n \"operationId\": \"JinaV2\",\n \"tags\": [\"category:embedding\", \"type:low-level\"],\n \"description\": \"Generate embeddings for multiple text documents using [Jina Embeddings 2](https://arxiv.org/abs/2310.19923).\",\n \"requestBody\": {\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/JinaV2In\"\n },\n \"example\": {\n \"items\": [\n {\n \"text\": \"Hassium is a superheavy element; it has been produced in a laboratory only in very small quantities by fusing heavy nuclei with lighter ones. Natural occurrences of the element have been hypothesised but never found.\",\n \"metadata\": {\n \"group\": \"8\"\n }\n },\n {\n \"text\": \"Xenon is also used to search for hypothetical weakly interacting massive particles and as a propellant for ion thrusters in spacecraft.\",\n \"metadata\": {\n \"group\": \"18\"\n }\n }\n ],\n \"collection_name\": \"smoke_tests\",\n \"embedded_metadata_keys\": [\"group\"]\n }\n }\n }\n },\n \"responses\": {\n \"200\": {\n \"description\": \"OK\",\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/JinaV2Out\"\n },\n \"example\": {\n \"embeddings\": [\n {\n \"vector\": [\n -0.035030052065849304, -0.04128379374742508,\n 0.05782046541571617\n ],\n \"doc_id\": \"c9de81fb98804ce0afb2b8ac17c0799b\",\n \"metadata\": {\n \"group\": \"8\",\n \"doc_id\": \"c9de81fb98804ce0afb2b8ac17c0799b\",\n \"doc\": \"group: 8\\n\\nHassium is a superheavy element; it has been produced in a laboratory only in very small quantities by fusing heavy nuclei with lighter ones. Natural occurrences of the element have been hypothesised but never found.\"\n }\n },\n {\n \"vector\": [\n 0.0003024724137503654, -0.025219274684786797,\n -0.009984994307160378\n ],\n \"doc_id\": \"c4464f69c93946a896925589681d38b4\",\n \"metadata\": {\n \"group\": \"18\",\n \"doc_id\": \"c4464f69c93946a896925589681d38b4\",\n \"doc\": \"group: 18\\n\\nXenon is also used to search for hypothetical weakly interacting massive particles and as a propellant for ion thrusters in spacecraft.\"\n }\n }\n ]\n }\n }\n }\n }\n }\n }\n },\n \"/CLIP\": {\n \"post\": {\n \"summary\": \"CLIP\",\n \"operationId\": \"CLIP\",\n \"tags\": [\"category:embedding\", \"type:low-level\"],\n \"description\": \"Generate embeddings for text or images using [CLIP](https://openai.com/research/clip).\",\n \"requestBody\": {\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/CLIPIn\"\n },\n \"example\": {\n \"items\": [\n {\n \"image_uri\": \"https://media.substrate.run/docs-fuji-red.jpg\"\n },\n {\n \"image_uri\": \"https://media.substrate.run/docs-fuji-blue.jpg\"\n }\n ],\n \"collection_name\": \"smoke_tests\"\n }\n }\n }\n },\n \"responses\": {\n \"200\": {\n \"description\": \"OK\",\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/CLIPOut\"\n },\n \"example\": {\n \"embeddings\": [\n {\n \"vector\": [\n -0.035030052065849304, -0.04128379374742508,\n 0.05782046541571617\n ],\n \"doc_id\": \"c9de81fb98804ce0afb2b8ac17c0799b\"\n },\n {\n \"vector\": [\n 0.0003024724137503654, -0.025219274684786797,\n -0.009984994307160378\n ],\n \"doc_id\": \"c4464f69c93946a896925589681d38b4\"\n }\n ]\n }\n }\n }\n }\n }\n }\n },\n \"/FindOrCreateVectorStore\": {\n \"post\": {\n \"tags\": [\"category:vector-store\"],\n \"summary\": \"FindOrCreateVectorStore\",\n \"operationId\": \"FindOrCreateVectorStore\",\n \"description\": \"Find a vector store matching the given collection name, or create a new vector store.\",\n \"requestBody\": {\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/FindOrCreateVectorStoreIn\"\n },\n \"example\": {\n \"collection_name\": \"smoke_tests\",\n \"model\": \"jina-v2\"\n }\n }\n }\n },\n \"responses\": {\n \"200\": {\n \"description\": \"Vector store created.\",\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/FindOrCreateVectorStoreOut\"\n },\n \"example\": {\n \"collection_name\": \"smoke_tests\",\n \"model\": \"jina-v2\"\n }\n }\n }\n }\n }\n }\n },\n \"/ListVectorStores\": {\n \"post\": {\n \"tags\": [\"category:vector-store\"],\n \"summary\": \"ListVectorStores\",\n \"operationId\": \"ListVectorStores\",\n \"description\": \"List all vector stores.\",\n \"requestBody\": {\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/ListVectorStoresIn\"\n },\n \"example\": {}\n }\n }\n },\n \"responses\": {\n \"200\": {\n \"description\": \"List of vector stores.\",\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/ListVectorStoresOut\"\n },\n \"example\": {\n \"items\": [\n {\n \"collection_name\": \"comments\",\n \"model\": \"jina-v2\"\n },\n {\n \"collection_name\": \"images\",\n \"model\": \"jina-v2\"\n }\n ]\n }\n }\n }\n }\n }\n }\n },\n \"/DeleteVectorStore\": {\n \"post\": {\n \"tags\": [\"category:vector-store\"],\n \"summary\": \"DeleteVectorStore\",\n \"operationId\": \"DeleteVectorStore\",\n \"description\": \"Delete a vector store.\",\n \"requestBody\": {\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/DeleteVectorStoreIn\"\n },\n \"example\": {\n \"collection_name\": \"fake_store\",\n \"model\": \"jina-v2\"\n }\n }\n }\n },\n \"responses\": {\n \"200\": {\n \"description\": \"OK\",\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/DeleteVectorStoreOut\"\n },\n \"example\": {\n \"collection_name\": \"comments\",\n \"model\": \"jina-v2\"\n }\n }\n }\n }\n }\n }\n },\n \"/QueryVectorStore\": {\n \"post\": {\n \"tags\": [\"category:vector-store\"],\n \"summary\": \"QueryVectorStore\",\n \"operationId\": \"QueryVectorStore\",\n \"description\": \"Query a vector store for similar vectors.\",\n \"requestBody\": {\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/QueryVectorStoreIn\"\n },\n \"example\": {\n \"collection_name\": \"smoke_tests\",\n \"model\": \"jina-v2\",\n \"query_strings\": [\"gas\", \"metal\"],\n \"top_k\": 1,\n \"include_metadata\": true\n }\n }\n }\n },\n \"responses\": {\n \"200\": {\n \"description\": \"Query results.\",\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/QueryVectorStoreOut\"\n },\n \"example\": {\n \"results\": [\n [\n {\n \"id\": \"483e75021c9d4ad69c3d78ace76da2ea\",\n \"distance\": -0.78324556350708,\n \"metadata\": {\n \"doc\": \"group: 18\\n\\nArgon is the third most abundant gas in Earth's atmosphere, at 0.934% (9340 ppmv). It is more than twice as abundant as water vapor.\",\n \"group\": \"18\",\n \"doc_id\": \"483e75021c9d4ad69c3d78ace76da2ea\"\n }\n }\n ],\n [\n {\n \"id\": \"dd8f3774e05d42caa53cfbaa7389c08f\",\n \"distance\": -0.74278724193573,\n \"metadata\": {\n \"doc\": \"group: 8\\n\\nOsmium is the densest naturally occurring element. When experimentally measured using X-ray crystallography, it has a density of 22.59 g/cm3. Manufacturers use its alloys with platinum, iridium, and other platinum-group metals to make fountain pen nib tipping, electrical contacts, and in other applications that require extreme durability and hardness.\",\n \"group\": \"8\",\n \"doc_id\": \"dd8f3774e05d42caa53cfbaa7389c08f\"\n }\n }\n ]\n ],\n \"collection_name\": \"comments\",\n \"model\": \"jina-v2\"\n }\n }\n }\n }\n }\n }\n },\n \"/FetchVectors\": {\n \"post\": {\n \"tags\": [\"category:vector-store\"],\n \"summary\": \"FetchVectors\",\n \"operationId\": \"FetchVectors\",\n \"description\": \"Fetch vectors from a vector store.\",\n \"requestBody\": {\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/FetchVectorsIn\"\n },\n \"example\": {\n \"collection_name\": \"smoke_tests\",\n \"model\": \"jina-v2\",\n \"ids\": [\"dd8f3774e05d42caa53cfbaa7389c08f\"]\n }\n }\n }\n },\n \"responses\": {\n \"200\": {\n \"description\": \"Vector data.\",\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/FetchVectorsOut\"\n },\n \"example\": {\n \"vectors\": [\n {\n \"id\": \"dd8f3774e05d42caa53cfbaa7389c08f\",\n \"vector\": [0.036658343, -0.0066040196, 0.028221145],\n \"metadata\": {\n \"doc\": \"group: 8\\n\\nOsmium is the densest naturally occurring element. When experimentally measured using X-ray crystallography, it has a density of 22.59 g/cm3. Manufacturers use its alloys with platinum, iridium, and other platinum-group metals to make fountain pen nib tipping, electrical contacts, and in other applications that require extreme durability and hardness.\",\n \"group\": \"8\",\n \"doc_id\": \"dd8f3774e05d42caa53cfbaa7389c08f\"\n }\n }\n ]\n }\n }\n }\n }\n }\n }\n },\n \"/UpdateVectors\": {\n \"post\": {\n \"tags\": [\"category:vector-store\"],\n \"summary\": \"UpdateVectors\",\n \"operationId\": \"UpdateVectors\",\n \"description\": \"Update vectors in a vector store.\",\n \"requestBody\": {\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/UpdateVectorsIn\"\n },\n \"example\": {\n \"collection_name\": \"smoke_tests\",\n \"model\": \"jina-v2\",\n \"vectors\": [\n {\n \"id\": \"dd8f3774e05d42caa53cfbaa7389c08f\",\n \"metadata\": {\n \"appearance\": \"silvery, blue cast\"\n }\n }\n ]\n }\n }\n }\n },\n \"responses\": {\n \"200\": {\n \"description\": \"Count of updated vectors.\",\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/UpdateVectorsOut\"\n },\n \"example\": {\n \"count\": 1\n }\n }\n }\n }\n }\n }\n },\n \"/DeleteVectors\": {\n \"post\": {\n \"tags\": [\"category:vector-store\"],\n \"summary\": \"DeleteVectors\",\n \"operationId\": \"DeleteVectors\",\n \"description\": \"Delete vectors in a vector store.\",\n \"requestBody\": {\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/DeleteVectorsIn\"\n },\n \"example\": {\n \"collection_name\": \"smoke_tests\",\n \"model\": \"jina-v2\",\n \"ids\": [\n \"ac32b9a133dd4e3689004f6e8f0fd6cd\",\n \"629df177c7644062a68bceeff223cefa\"\n ]\n }\n }\n }\n },\n \"responses\": {\n \"200\": {\n \"description\": \"Count of deleted vectors.\",\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/DeleteVectorsOut\"\n },\n \"example\": {\n \"count\": 2\n }\n }\n }\n }\n }\n }\n }\n }\n}\n","import { AnyNode, NodeOutput } from \"substrate/Nodes\";\nimport { NodeError } from \"substrate/Error\";\n\n/**\n * Response to a run request.\n */\nexport class SubstrateResponse {\n public apiRequest: Request;\n public apiResponse: Response;\n public json: any;\n\n constructor(request: Request, response: Response, json: any = null) {\n this.apiRequest = request;\n this.apiResponse = response;\n this.json = json;\n }\n\n get requestId() {\n return this.apiRequest.headers.get(\"x-substrate-request-id\");\n }\n\n /**\n * Returns an error from the `Node` if there was one.\n */\n getError<T extends AnyNode>(node: T): NodeError | undefined {\n // @ts-expect-error\n return node.output() instanceof NodeError ? node.output() : undefined;\n }\n\n /**\n * Returns the result for given `Node`.\n *\n * @throws {NodeError} when there was an error running the node.\n */\n get<T extends AnyNode>(node: T): NodeOutput<T> {\n const err = this.getError(node);\n if (err) throw err;\n // @ts-expect-error\n return node.output() as NodeOutput<T>;\n }\n}\n","/**\n * @private\n *\n * Returns properties of the current environment.\n */\n\ndeclare const Deno: any;\ndeclare const EdgeRuntime: any;\n\ntype Arch = \"x32\" | \"x64\" | \"arm\" | \"arm64\" | `other:${string}` | \"unknown\";\n\ntype PlatformName =\n | \"MacOS\"\n | \"Linux\"\n | \"Windows\"\n | \"FreeBSD\"\n | \"OpenBSD\"\n | \"iOS\"\n | \"Android\"\n | `Other:${string}`\n | \"Unknown\";\n\ntype Browser = \"ie\" | \"edge\" | \"chrome\" | \"firefox\" | \"safari\";\n\ntype PlatformProperties = {\n os: PlatformName;\n arch: Arch;\n runtime:\n | \"node\"\n | \"deno\"\n | \"edge\"\n | \"workerd\"\n | `browser:${Browser}`\n | \"unknown\";\n runtimeVersion: string;\n};\n\nexport const getPlatformProperties = (): PlatformProperties => {\n if (typeof Deno !== \"undefined\" && Deno.build != null) {\n return {\n os: normalizePlatform(Deno.build.os),\n arch: normalizeArch(Deno.build.arch),\n runtime: \"deno\",\n runtimeVersion:\n typeof Deno.version === \"string\"\n ? Deno.version\n : (Deno.version?.deno ?? \"unknown\"),\n };\n }\n if (typeof EdgeRuntime !== \"undefined\") {\n return {\n os: \"Unknown\",\n arch: `other:${EdgeRuntime}`,\n runtime: \"edge\",\n runtimeVersion: process.version,\n };\n }\n // Check if Node.js\n if (\n Object.prototype.toString.call(\n typeof process !== \"undefined\" ? process : 0,\n ) === \"[object process]\"\n ) {\n return {\n os: normalizePlatform(process.platform),\n arch: normalizeArch(process.arch),\n runtime: \"node\",\n runtimeVersion: process.version,\n };\n }\n\n // https://developers.cloudflare.com/workers/runtime-apis/web-standards/#navigatoruseragent\n if (\n typeof navigator !== undefined &&\n navigator.userAgent === \"Cloudflare-Workers\"\n ) {\n return {\n os: \"Unknown\",\n arch: \"unknown\",\n runtime: \"workerd\",\n runtimeVersion: \"unknown\",\n };\n }\n\n const browserInfo = getBrowserInfo();\n if (browserInfo) {\n return {\n os: \"Unknown\",\n arch: \"unknown\",\n runtime: `browser:${browserInfo.browser}`,\n runtimeVersion: browserInfo.version,\n };\n }\n\n return {\n os: \"Unknown\",\n arch: \"unknown\",\n runtime: \"unknown\",\n runtimeVersion: \"unknown\",\n };\n};\n\ntype BrowserInfo = {\n browser: Browser;\n version: string;\n};\n\n// Note: modified from https://github.com/JS-DevTools/host-environment/blob/b1ab79ecde37db5d6e163c050e54fe7d287d7c92/src/isomorphic.browser.ts\nfunction getBrowserInfo(): BrowserInfo | null {\n if (typeof navigator === \"undefined\" || !navigator) {\n return null;\n }\n\n // NOTE: The order matters here!\n const browserPatterns = [\n { key: \"edge\" as const, pattern: /Edge(?:\\W+(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?/ },\n { key: \"ie\" as const, pattern: /MSIE(?:\\W+(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?/ },\n {\n key: \"ie\" as const,\n pattern: /Trident(?:.*rv\\:(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?/,\n },\n {\n key: \"chrome\" as const,\n pattern: /Chrome(?:\\W+(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?/,\n },\n {\n key: \"firefox\" as const,\n pattern: /Firefox(?:\\W+(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?/,\n },\n {\n key: \"safari\" as const,\n pattern:\n /(?:Version\\W+(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?(?:\\W+Mobile\\S*)?\\W+Safari/,\n },\n ];\n\n // Find the FIRST matching browser\n for (const { key, pattern } of browserPatterns) {\n const match = pattern.exec(navigator.userAgent);\n if (match) {\n const major = match[1] || 0;\n const minor = match[2] || 0;\n const patch = match[3] || 0;\n\n return { browser: key, version: `${major}.${minor}.${patch}` };\n }\n }\n\n return null;\n}\n\nconst normalizeArch = (arch: string): Arch => {\n // Node docs:\n // - https://nodejs.org/api/process.html#processarch\n // Deno docs:\n // - https://doc.deno.land/deno/stable/~/Deno.build\n if (arch === \"x32\") return \"x32\";\n if (arch === \"x86_64\" || arch === \"x64\") return \"x64\";\n if (arch === \"arm\") return \"arm\";\n if (arch === \"aarch64\" || arch === \"arm64\") return \"arm64\";\n if (arch) return `other:${arch}`;\n return \"unknown\";\n};\n\nconst normalizePlatform = (platform: string): PlatformName => {\n // Node platforms:\n // - https://nodejs.org/api/process.html#processplatform\n // Deno platforms:\n // - https://doc.deno.land/deno/stable/~/Deno.build\n // - https://github.com/denoland/deno/issues/14799\n\n platform = platform.toLowerCase();\n\n // NOTE: this iOS check is untested and may not work\n // Node does not work natively on IOS, there is a fork at\n // https://github.com/nodejs-mobile/nodejs-mobile\n // however it is unknown at the time of writing how to detect if it is running\n if (platform.includes(\"ios\")) return \"iOS\";\n if (platform === \"android\") return \"Android\";\n if (platform === \"darwin\") return \"MacOS\";\n if (platform === \"win32\") return \"Windows\";\n if (platform === \"freebsd\") return \"FreeBSD\";\n if (platform === \"openbsd\") return \"OpenBSD\";\n if (platform === \"linux\") return \"Linux\";\n if (platform) return `Other:${platform}`;\n return \"Unknown\";\n};\n","import { SubstrateError, RequestTimeoutError } from \"substrate/Error\";\nimport { VERSION } from \"substrate/version\";\nimport OpenAPIjson from \"substrate/openapi.json\";\nimport { SubstrateResponse } from \"substrate/SubstrateResponse\";\nimport { SubstrateStreamingResponse } from \"substrate/SubstrateStreamingResponse\";\nimport { Node } from \"substrate/Node\";\nimport { Future } from \"substrate/Future\";\nimport { getPlatformProperties } from \"substrate/Platform\";\nimport { deflate } from \"pako\";\nimport { randomString } from \"substrate/idGenerator\";\n\ntype Configuration = {\n /**\n * [docs/authentication](https://docs.substrate.run/#authentication)\n */\n apiKey: string | undefined;\n\n /**\n * [docs/versioning](https://docs.substrate.run/versioning)\n */\n apiVersion?: string | undefined;\n\n baseUrl?: string;\n\n /**\n * Request timeout in milliseconds. Default: 5m\n */\n timeout?: number;\n\n /**\n * Secrets for third party services.\n */\n secrets?: Secrets;\n\n /**\n * Add additional headers to each request. These may override headers set by the Substrate client.\n */\n additionalHeaders?: Record<string, string>;\n};\n\nexport type Secrets = {\n openai?: string;\n anthropic?: string;\n};\n\n/**\n * [docs/introduction](https://docs.substrate.run)\n */\nexport class Substrate {\n apiKey: Configuration[\"apiKey\"];\n baseUrl: NonNullable<Configuration[\"baseUrl\"]>;\n apiVersion: NonNullable<Configuration[\"apiVersion\"]>;\n timeout: NonNullable<Configuration[\"timeout\"]>;\n additionalHeaders: NonNullable<Configuration[\"additionalHeaders\"]>;\n\n /**\n * Initialize the Substrate SDK.\n */\n constructor({\n apiKey,\n baseUrl,\n apiVersion,\n timeout,\n secrets,\n additionalHeaders,\n }: Configuration) {\n if (!apiKey) {\n console.warn(\n \"[Substrate] An API Key is required. Specify it when constructing the client: `new Substrate({ apiKey: 'API_KEY' })`\",\n );\n }\n this.apiKey = apiKey;\n this.baseUrl = baseUrl ?? \"https://api.substrate.run\";\n this.apiVersion = apiVersion ?? OpenAPIjson[\"info\"][\"version\"];\n this.timeout = timeout ?? 300_000;\n this.additionalHeaders = additionalHeaders ?? {};\n if (secrets) {\n if (secrets.openai) {\n this.additionalHeaders[\"x-substrate-openai-api-key\"] = secrets.openai;\n }\n if (secrets.anthropic) {\n this.additionalHeaders[\"x-substrate-anthropic-api-key\"] =\n secrets.anthropic;\n }\n }\n }\n\n /**\n * Run the given nodes.\n *\n * @throws {SubstrateError} when the server response is an error.\n * @throws {RequestTimeoutError} when the client has timed out (Configured by `Substrate.timeout`).\n * @throws {Error} when the client encounters an error making the request.\n */\n async run(...nodes: Node[]): Promise<SubstrateResponse> {\n return this.runSerialized(nodes);\n }\n\n /**\n * Stream the given nodes.\n */\n async stream(...nodes: Node[]): Promise<SubstrateStreamingResponse> {\n const serialized = Substrate.serialize(...nodes);\n return this.streamSerialized(serialized);\n }\n\n /**\n * Run the given nodes, serialized using `Substrate.serialize`.\n *\n * @throws {SubstrateError} when the server response is an error.\n * @throws {RequestTimeoutError} when the client has timed out (Configured by `Substrate.timeout`).\n * @throws {Error} when the client encounters an error making the request.\n */\n async runSerialized(\n nodes: Node[],\n endpoint: string = \"/compose\",\n ): Promise<SubstrateResponse> {\n const serialized = Substrate.serialize(...nodes);\n const url = this.baseUrl + endpoint;\n const req = { dag: serialized };\n // NOTE: we're creating the signal this way instead of AbortController.timeout because it is only very\n // recently available on some environments, so this is a bit more supported.\n const abortController = new AbortController();\n const { signal } = abortController;\n const timeout = setTimeout(() => abortController.abort(), this.timeout);\n\n const request = new Request(url, this.requestOptions(req, signal));\n const requestId = request.headers.get(\"x-substrate-request-id\");\n try {\n const apiResponse = await fetch(request);\n\n if (apiResponse.ok) {\n const json = await apiResponse.json();\n const res = new SubstrateResponse(request, apiResponse, json);\n /** TODO stop setting output on node */\n\n // @ts-expect-error (accessing protected)\n for (let node of Substrate.findAllNodes(nodes)) node.response = res;\n\n return res;\n } else {\n throw new SubstrateError(\n `[Request failed] status=${apiResponse.status} statusText=${apiResponse.statusText} requestId=${requestId}`,\n );\n }\n } catch (err: unknown) {\n if (err instanceof Error) {\n if (err.name === \"AbortError\") {\n throw new RequestTimeoutError(\n `Request timed out after ${this.timeout}ms requestId=${requestId}`,\n );\n // TODO: We could propagate timeout errors to nodes too, but I'm\n // not sure yet what might be easier for the user to manage.\n }\n }\n throw err;\n } finally {\n clearTimeout(timeout);\n }\n }\n\n /**\n * Stream the given nodes, serialized using `Substrate.serialize`.\n */\n async streamSerialized(serialized: any, endpoint: string = \"/compose\") {\n const url = this.baseUrl + endpoint;\n const req = { dag: serialized };\n const abortController = new AbortController();\n const { signal } = abortController;\n const timeout = setTimeout(() => abortController.abort(), this.timeout);\n const requestOptions = this.requestOptions(req, signal);\n\n // Add Streaming Headers\n requestOptions.headers.set(\"Accept\", \"text/event-stream\");\n requestOptions.headers.set(\"X-Substrate-Streaming\", \"1\");\n\n const request = new Request(url, requestOptions);\n const requestId = request.headers.get(\"x-substrate-request-id\");\n try {\n const response = await fetch(request);\n return await SubstrateStreamingResponse.fromRequestReponse(\n request,\n response,\n );\n } catch (err: unknown) {\n if (err instanceof Error) {\n if (err.name === \"AbortError\") {\n throw new RequestTimeoutError(\n `Request timed out after ${this.timeout}ms requestId=${requestId}`,\n );\n // TODO: We could propagate timeout errors to nodes too, but I'm\n // not sure yet what might be easier for the user to manage.\n }\n }\n throw err;\n } finally {\n clearTimeout(timeout);\n }\n }\n\n /**\n * Return a set of all nodes and their dependent nodes.\n */\n static findAllNodes(fromNodes: Node[]): Set<Node> {\n const allNodes = new Set<Node>();\n for (let node of fromNodes) {\n // @ts-ignore: .references() is protected\n const refs = node.references();\n for (let n of refs.nodes) {\n allNodes.add(n);\n }\n }\n return allNodes;\n }\n\n /**\n * Return a set of all futures and their dependent futures.\n */\n static findAllFutures(fromNodes: Node[]): Set<Future<any>> {\n const allFutures = new Set<Future<any>>();\n for (let node of fromNodes) {\n // @ts-ignore: .references() is protected\n const refs = node.references();\n for (let f of refs.futures) {\n allFutures.add(f);\n }\n }\n return allFutures;\n }\n\n /**\n * Transform an array of nodes into JSON for the Substrate API\n */\n static serialize(...nodes: Node[]): any {\n const allFutures = this.findAllFutures(nodes);\n const allNodes = this.findAllNodes(nodes);\n const allEdges: Record<string, Set<string>> = {};\n for (let n of allNodes) {\n allEdges[n.id] = new Set<string>();\n for (let d of n.depends) {\n allEdges[n.id]!.add(d.id);\n }\n }\n return {\n nodes: Array.from(allNodes).map((node) => node.toJSON()),\n futures: Array.from(allFutures).map((future) => future.toJSON()),\n edges: Object.keys(allEdges).flatMap((toId: string) => {\n let fromIds: string[] = Array.from(allEdges[toId] as Set<string>);\n return fromIds.map((fromId: string) => [fromId, toId, {}]);\n }),\n initial_args: {}, // @deprecated\n };\n }\n\n /**\n * Returns a url to visualize the given nodes.\n */\n static visualize(...nodes: Node[]): string {\n const serialized = this.serialize(...nodes);\n const compressed = deflate(JSON.stringify(serialized), {\n level: 9,\n });\n const numArray = Array.from(compressed);\n const base64 = btoa(String.fromCharCode.apply(null, numArray));\n const urlEncoded = base64\n .replace(/\\+/g, \"-\")\n .replace(/\\//g, \"_\")\n .replace(/=+$/, \"\");\n const baseURL = \"https://explore.substrate.run/s/\";\n return baseURL + urlEncoded;\n }\n\n protected requestOptions(body: any, signal: AbortSignal) {\n return {\n method: \"POST\",\n headers: this.headers(),\n body: JSON.stringify(body),\n signal,\n };\n }\n\n protected headers() {\n const headers = new Headers();\n\n // API\n headers.append(\"Accept\", \"application/json\");\n headers.append(\"Content-Type\", \"application/json\");\n headers.append(\"User-Agent\", `APIClient/JS ${VERSION}`);\n headers.append(\"X-Substrate-Version\", this.apiVersion);\n headers.append(\"X-Substrate-Request-Id\", randomString(32));\n headers.append(\"X-Substrate-Backend\", \"v1\");\n\n // Auth\n headers.append(\"Authorization\", `Bearer ${this.apiKey}`);\n\n // SDK\n headers.append(\"X-Substrate-Lang\", \"js\");\n headers.append(\"X-Substrate-Package-Version\", VERSION);\n\n // Platform, Runtime\n const props = getPlatformProperties();\n headers.append(\"X-Substrate-OS\", props.os);\n headers.append(\"X-Substrate-Arch\", props.arch);\n headers.append(\"X-Substrate-Runtime\", props.runtime);\n headers.append(\"X-Substrate-Runtime-Version\", props.runtimeVersion);\n\n // User-Provided\n for (const [name, value] of Object.entries(this.additionalHeaders)) {\n headers.set(name, value);\n }\n\n return headers;\n }\n}\n","/**\n * 𐃏 Substrate TypeScript SDK\n * @generated file\n * 20240617.20240806\n */\n\nexport { SubstrateError } from \"substrate/Error\";\nexport {\n Experimental,\n Box,\n If,\n ComputeText,\n MultiComputeText,\n BatchComputeText,\n BatchComputeJSON,\n ComputeJSON,\n MultiComputeJSON,\n Mistral7BInstruct,\n Mixtral8x7BInstruct,\n Llama3Instruct8B,\n Llama3Instruct70B,\n Firellava13B,\n GenerateImage,\n MultiGenerateImage,\n InpaintImage,\n MultiInpaintImage,\n StableDiffusionXLLightning,\n StableDiffusionXLInpaint,\n StableDiffusionXLControlNet,\n StableVideoDiffusion,\n InterpolateFrames,\n TranscribeSpeech,\n GenerateSpeech,\n RemoveBackground,\n EraseImage,\n UpscaleImage,\n SegmentUnderPoint,\n SegmentAnything,\n SplitDocument,\n EmbedText,\n MultiEmbedText,\n EmbedImage,\n MultiEmbedImage,\n JinaV2,\n CLIP,\n FindOrCreateVectorStore,\n ListVectorStores,\n DeleteVectorStore,\n QueryVectorStore,\n FetchVectors,\n UpdateVectors,\n DeleteVectors,\n} from \"substrate/Nodes\";\n\nexport { sb } from \"substrate/sb\";\nexport { Substrate };\nimport { Substrate } from \"substrate/Substrate\";\nexport default Substrate;\n"],"mappings":"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","names":["randomString","node","future"]}