Skip to main content

Node.js API Reference

Clarifai Node.js API Reference


This is the API Reference documentation extracted from the source code.

App

App is a class that provides access to Clarifai API endpoints related to App information.

This is its hierarchy:

  • Lister

    App

Constructor

new App(config): App

Initializes an App object.

Example

import { App } from "clarifai-nodejs";

export const app = new App({
authConfig: {
pat: process.env.CLARIFAI_PAT!,
userId: process.env.CLARIFAI_USER_ID!,
appId: process.env.CLARIFAI_APP_ID!,
},
});

Parameters

NameTypeDescription
configAppConfigThe configuration object for the App.

Returns

App

Overrides

Lister.constructor

Defined in

src/client/app.ts:102

Properties

appInfo

Private appInfo: App

Defined in

src/client/app.ts:86

info

info: AsObject

Defined in

src/client/app.ts:87

Methods

createDataset

createDataset(«destructured»): Promise<AsObject>

Creates a dataset for the app.

Example

import { Input, App } from "clarifai-nodejs";

const app = new App({
authConfig: {
pat: process.env.CLARIFAI_PAT!,
userId: process.env.CLARIFAI_USER_ID!,
appId: process.env.CLARIFAI_APP_ID!,
},
});

const dataset = await app.createDataset({
datasetId: "dog-image-collection",
});

// Dataset is created, now let's build an image input that uses the new dataset id
const inputProto = Input.getInputFromUrl({
datasetId: dataset.id,
inputId: "dog-tiff",
imageUrl: "https://samples.clarifai.com/dog.tiff",
labels: ["dog"],
geoInfo: {
latitude: 40,
longitude: -30,
},
metadata: { Breed: "Saint Bernard" },
});

const input = new Input({
authConfig: {
pat: process.env.CLARIFAI_PAT!,
userId: process.env.CLARIFAI_USER_ID!,
appId: process.env.CLARIFAI_APP_ID!,
},
});

// upload the input by using instance of the Input class
// this input will be stored under the newly created dataset
const inputJobId = await input.uploadInputs({
inputs: [inputProto],
});

console.log(inputJobId); // job id of the input upload

Parameters

NameType
«destructured»Object
› datasetIdstring
› params?CreateDatasetParam

Returns

Promise<AsObject>

A Dataset object for the specified dataset ID.

Defined in

src/client/app.ts:429

createModel

createModel(«destructured»): Promise<AsObject>

Creates a model for the app.

Example

import { Model, App } from "clarifai-nodejs";
import {
ModelVersion,
OutputInfo,
} from "clarifai-nodejs-grpc/proto/clarifai/api/resources_pb";
import { Struct } from "google-protobuf/google/protobuf/struct_pb.js";

const app = new App({
authConfig: {
pat: process.env.CLARIFAI_PAT!,
userId: process.env.CLARIFAI_USER_ID!,
appId: process.env.CLARIFAI_APP_ID!,
},
});

// Creating a new image crop model
const newModelObject = await app.createModel({
modelId: "margin-100-image-cropper",
params: {
modelTypeId: "image-crop",
description: "Custom crop model with 100px margin",
},
});

// Initializing the newly created model
const model = new Model({
modelId: newModelObject.id,
authConfig: {
pat: process.env.CLARIFAI_PAT!,
userId: process.env.CLARIFAI_USER_ID!,
appId: process.env.CLARIFAI_APP_ID!,
},
});

// Creating a GRPC compatible outputInfo object with custom margin parameters
const outputInfo = new OutputInfo().setParams(
Struct.fromJavaScript({ margin: 1.5 }),
);
// GRPC compatible ModelVersion object with previously created output info config
const modelVersion = new ModelVersion()
.setDescription("Setting output info margin parameters to 1.5")
.setOutputInfo(outputInfo);

// Creating a new version of the model with previously created output info config
const modelObjectWithVersion = await model.createVersion(modelVersion);

console.log(modelObjectWithVersion);

Parameters

NameType
«destructured»Object
› modelIdstring
› params?CreateModelParam

Returns

Promise<AsObject>

A Model object for the specified model ID.

Defined in

src/client/app.ts:473

createModule

createModule(«destructured»): Promise<AsObject>

Creates a module for the app.

Example

import { App } from "clarifai-nodejs";

const app = new App({
authConfig: {
pat: process.env.CLARIFAI_PAT!,
userId: process.env.CLARIFAI_USER_ID!,
appId: process.env.CLARIFAI_APP_ID!,
},
});

const module = await app.createModule({
moduleId: "new-module",
description: "New module",
});

console.log(module);

Parameters

NameType
«destructured»Object
› descriptionstring
› moduleIdstring

Returns

Promise<AsObject>

A Module object for the specified module ID.

Defined in

src/client/app.ts:514

createWorkflow

createWorkflow(«destructured»): Promise<AsObject>

Creates a workflow for the app.

Example

import { App } from "clarifai-nodejs";
import path from "path";

const app = new App({
authConfig: {
pat: process.env.CLARIFAI_PAT!,
userId: process.env.CLARIFAI_USER_ID!,
appId: process.env.CLARIFAI_APP_ID!,
},
});
const workflowFile = path.resolve(__dirname, "workflow/moderation.yml");
const workflow = await app.createWorkflow({ configFilePath: workflowFile });
console.log(workflow);

/**
* Workflow config file in the path `workflow/moderation.yml`:
*/
/*
workflow:
id: test-mbmn
nodes:
- id: detector
model:
modelId: face-detection
modelVersionId: 45fb9a671625463fa646c3523a3087d5
- id: cropper
model:
modelId: margin-110-image-crop
modelVersionId: b9987421b40a46649566826ef9325303
nodeInputs:
- nodeId: detector
- id: face-sentiment
model:
modelId: face-sentiment-recognition
modelVersionId: a5d7776f0c064a41b48c3ce039049f65
nodeInputs:
- nodeId: cropper
- id: moderation
model:
modelId: moderation-recognition
modelVersionId: 7cde8e92896340b0998b8260d47f1502
*/

Parameters

NameTypeDefault value
«destructured»Objectundefined
› configFilePathstringundefined
› display?booleantrue
› generateNewId?booleanfalse

Returns

Promise<AsObject>

A Workflow object for the specified workflow config.

Defined in

src/client/app.ts:552

dataset

dataset(dataset_id): Promise<undefined | AsObject>

Returns a Dataset object for the existing dataset ID.

Example

import { App } from "clarifai-nodejs";

const app = new App({
authConfig: {
pat: process.env.CLARIFAI_PAT!,
userId: process.env.CLARIFAI_USER_ID!,
appId: process.env.CLARIFAI_APP_ID!,
},
});
const dataset = await app.dataset({
datasetId: "dataset-id",
});
console.log(dataset);

Parameters

NameTypeDescription
dataset_idObjectThe dataset ID for the dataset to interact with.
dataset_id.datasetIdstring-

Returns

Promise<undefined | AsObject>

A Dataset object for the existing dataset ID.

Defined in

src/client/app.ts:771

deleteDataset

deleteDataset(datasetId): Promise<void>

Deletes a dataset for the user.

Example

import { App } from "clarifai-nodejs";

const app = new App({
authConfig: {
pat: process.env.CLARIFAI_PAT!,
userId: process.env.CLARIFAI_USER_ID!,
appId: process.env.CLARIFAI_APP_ID!,
},
});

await app.deleteDataset({ datasetId: "dataset-id" });

Parameters

NameTypeDescription
datasetIdObjectThe dataset ID for the app to delete.
datasetId.datasetIdstring-

Returns

Promise<void>

Defined in

src/client/app.ts:800

deleteModel

deleteModel(modelId): Promise<void>

Deletes a model for the user.

Example

import { App } from "clarifai-nodejs";

const app = new App({
authConfig: {
pat: process.env.CLARIFAI_PAT!,
userId: process.env.CLARIFAI_USER_ID!,
appId: process.env.CLARIFAI_APP_ID!,
},
});

await app.deleteModel({ modelId: "modelId" });

Parameters

NameTypeDescription
modelIdObjectThe model ID for the model to delete.
modelId.modelIdstring-

Returns

Promise<void>

Defined in

src/client/app.ts:825

deleteModule

deleteModule(moduleId): Promise<void>

Deletes a module for the user.

Example

import { App } from "clarifai-nodejs";

const app = new App({
authConfig: {
pat: process.env.CLARIFAI_PAT!,
userId: process.env.CLARIFAI_USER_ID!,
appId: process.env.CLARIFAI_APP_ID!,
},
});

await app.deleteModule({ moduleId: "moduleId" });

Parameters

NameTypeDescription
moduleIdObjectThe module ID for the module to delete.
moduleId.moduleIdstring-

Returns

Promise<void>

Defined in

src/client/app.ts:875

deleteWorkflow

deleteWorkflow(workflowId): Promise<void>

Deletes a workflow for the user.

Example

import { App } from "clarifai-nodejs";

const app = new App({
authConfig: {
pat: process.env.CLARIFAI_PAT!,
userId: process.env.CLARIFAI_USER_ID!,
appId: process.env.CLARIFAI_APP_ID!,
},
});

await app.deleteWorkflow({ workflowId: "workflowId" });

Parameters

NameTypeDescription
workflowIdObjectThe workflow ID for the workflow to delete.
workflowId.workflowIdstring-

Returns

Promise<void>

Defined in

src/client/app.ts:850

listConcepts

listConcepts(«destructured»?): AsyncGenerator<AsObject[], void, unknown>

Lists all the concepts for the app.

Example

import { App } from "clarifai-nodejs";

const app = new App({
authConfig: {
pat: process.env.CLARIFAI_PAT!,
userId: process.env.CLARIFAI_USER_ID!,
appId: process.env.CLARIFAI_APP_ID!,
},
});
const list = await app.listConcepts().next();
const concepts = list.value;
console.log(concepts);

Parameters

NameType
«destructured»Object
› pageNo?number
› perPage?number

Returns

AsyncGenerator<AsObject[], void, unknown>

Yields

Concepts in the app.

Defined in

src/client/app.ts:391

listDataSets

listDataSets(«destructured»?): AsyncGenerator<AsObject[], void, unknown>

Lists all the datasets for the app.

Example

import { App } from "clarifai-nodejs";

const app = new App({
authConfig: {
pat: process.env.CLARIFAI_PAT!,
userId: process.env.CLARIFAI_USER_ID!,
appId: process.env.CLARIFAI_APP_ID!,
},
});
const list = await app.listDataSets().next();
const datasets = list.value;
console.log(datasets);

Parameters

NameType
«destructured»Object
› pageNo?number
› params?ListDatasetsParam
› perPage?number

Returns

AsyncGenerator<AsObject[], void, unknown>

Yields

Dataset - Dataset objects for the datasets in the app.

Notes

Defaults to 16 per page

Defined in

src/client/app.ts:136

listInstalledModuleVersions

listInstalledModuleVersions(«destructured»?): AsyncGenerator<AsObject[], void, unknown>

Lists all installed module versions in the app.

Example

import { App } from "clarifai-nodejs";

const app = new App({
authConfig: {
pat: process.env.CLARIFAI_PAT!,
userId: process.env.CLARIFAI_USER_ID!,
appId: process.env.CLARIFAI_APP_ID!,
},
});
const list = await app.listInstalledModuleVersions().next();
const moduleVersions = list.value;
console.log(moduleVersions);

Parameters

NameType
«destructured»Object
› pageNo?number
› params?ListInstalledModuleVersionsParam
› perPage?number

Returns

AsyncGenerator<AsObject[], void, unknown>

Yields

Module - Module objects for the installed module versions in the app.

Notes

Defaults to 16 per page

Defined in

src/client/app.ts:342

listModels

listModels(«destructured»?): AsyncGenerator<AsObject[], void, unknown>

Lists all the available models for the user.

Example

import { App } from "clarifai-nodejs";

const app = new App({
authConfig: {
pat: process.env.CLARIFAI_PAT!,
userId: process.env.CLARIFAI_USER_ID!,
appId: process.env.CLARIFAI_APP_ID!,
},
});
const list = await app.listModels().next();
const models = list.value;
console.log(models);

Parameters

NameTypeDefault value
«destructured»Object{}
› onlyInApp?booleantrue
› pageNo?numberundefined
› params?ListModelsParam{}
› perPage?numberundefined

Returns

AsyncGenerator<AsObject[], void, unknown>

Notes

Defaults to 16 per page

Defined in

src/client/app.ts:180

listModules

listModules(«destructured»?): AsyncGenerator<AsObject[], void, unknown>

Lists all the available modules for the user.

Example

import { App } from "clarifai-nodejs";

const app = new App({
authConfig: {
pat: process.env.CLARIFAI_PAT!,
userId: process.env.CLARIFAI_USER_ID!,
appId: process.env.CLARIFAI_APP_ID!,
},
});
const list = await app.listModules().next();
const modules = list.value;
console.log(modules);

Parameters

NameType
«destructured»Object
› onlyInApp?boolean
› pageNo?number
› params?ListModulesParam
› perPage?number

Returns

AsyncGenerator<AsObject[], void, unknown>

Yields

Module - Module objects for the modules in the app.

Notes

Defaults to 16 per page

Defined in

src/client/app.ts:291

listTrainableModelTypes

listTrainableModelTypes(): string[]

Returns

string[]

Defined in

src/client/app.ts:415

listWorkflows

listWorkflows(«destructured»?): AsyncGenerator<AsObject[], void, unknown>

Lists all the available workflows for the user.

Example

import { App } from "clarifai-nodejs";

const app = new App({
authConfig: {
pat: process.env.CLARIFAI_PAT!,
userId: process.env.CLARIFAI_USER_ID!,
appId: process.env.CLARIFAI_APP_ID!,
},
});
const list = await app.listWorkflows().next();
const workflows = list.value;
console.log(workflows);

Parameters

NameTypeDefault value
«destructured»Object{}
› onlyInApp?booleantrue
› pageNo?numberundefined
› params?ListWorkflowsParam{}
› perPage?numberundefined

Returns

AsyncGenerator<AsObject[], void, unknown>

Yields

Workflow - Workflow objects for the workflows in the app.

Notes

Defaults to 16 per page

Defined in

src/client/app.ts:238

model

model(«destructured»): Promise<undefined | AsObject>

Returns a Model object for the existing model ID.

Example

import { App } from "clarifai-nodejs";

const app = new App({
authConfig: {
pat: process.env.CLARIFAI_PAT!,
userId: process.env.CLARIFAI_USER_ID!,
appId: process.env.CLARIFAI_APP_ID!,
},
});
const model = await app.model({
modelId: "custom-crop-model",
modelVersionId: "0.0.1",
});
console.log(model);

Parameters

NameType
«destructured»Object
› modelIdstring
› modelUserAppId?Object
› modelUserAppId.appIdstring
› modelUserAppId.userIdstring
› modelVersionId?string

Returns

Promise<undefined | AsObject>

A model object for the specified model ID.

Defined in

src/client/app.ts:693

workflow

workflow(workflowId): Promise<undefined | AsObject>

Returns a Workflow object for the existing workflow ID.

Example

import { App } from "clarifai-nodejs";

const app = new App({
authConfig: {
pat: process.env.CLARIFAI_PAT!,
userId: process.env.CLARIFAI_USER_ID!,
appId: process.env.CLARIFAI_APP_ID!,
},
});

const workflow = await app.workflow({ workflowId: "workflowId" });
console.log(workflow);

Parameters

NameTypeDescription
workflowIdObjectThe workflow ID for a existing workflow.
workflowId.workflowIdstring-

Returns

Promise<undefined | AsObject>

A workflow object for the specified workflow ID.

Defined in

src/client/app.ts:741

Dataset

Dataset is a class that provides access to Clarifai API endpoints related to Dataset information.

This is its hierarchy:

  • Lister

    Dataset

Constructor

new Dataset(«destructured»): Dataset

Parameters

NameType
«destructured»DatasetConfig

Returns

Dataset

Overrides

Lister.constructor

Defined in

src/client/dataset.ts:39

Properties

STUB

Protected STUB: V2Stub

Inherited from

Lister.STUB

Defined in

src/client/base.ts:27

authHelper

Protected authHelper: ClarifaiAuthHelper

Inherited from

Lister.authHelper

Defined in

src/client/base.ts:26

base

Protected base: string

Inherited from

Lister.base

Defined in

src/client/base.ts:31

batchSize

Private batchSize: number = 128

Defined in

src/client/dataset.ts:36

defaultPageSize

defaultPageSize: number

Inherited from

Lister.defaultPageSize

Defined in

src/client/lister.ts:10

info

Private info: Dataset

Defined in

src/client/dataset.ts:35

input

Private input: Input

Defined in

src/client/dataset.ts:37

metadata

Protected metadata: [string, string][]

Inherited from

Lister.metadata

Defined in

src/client/base.ts:28

pat

Protected pat: string

Inherited from

Lister.pat

Defined in

src/client/base.ts:29

rootCertificatesPath

Protected rootCertificatesPath: string

Inherited from

Lister.rootCertificatesPath

Defined in

src/client/base.ts:32

userAppId

Protected userAppId: UserAppIDSet

Inherited from

Lister.userAppId

Defined in

src/client/base.ts:30

Methods

convertStringToTimestamp

convertStringToTimestamp(dateStr): Timestamp

Converts a string to a Timestamp object.

Parameters

NameTypeDescription
dateStrstringThe string to convert.

Returns

Timestamp

A Timestamp object representing the given date string.

Inherited from

Lister.convertStringToTimestamp

Defined in

src/client/base.ts:100

createVersion

createVersion(«destructured»): Promise<AsObject>

Parameters

NameType
«destructured»Object
› descriptionstring
› idstring
› metadata?Record<string, JavaScriptValue>

Returns

Promise<AsObject>

Defined in

src/client/dataset.ts:58

deleteVersion

deleteVersion(versionId): Promise<void>

Parameters

NameType
versionIdstring

Returns

Promise<void>

Defined in

src/client/dataset.ts:93

grpcRequest

grpcRequest<TRequest, TResponseObject, TResponse>(endpoint, requestData): Promise<TResponse>

Makes a gRPC request to the API.

Type parameters

NameType
TRequestextends Message
TResponseObjectextends Object
TResponseextends Object

Parameters

NameType
endpoint(request: TRequest, metadata: Metadata, options: Partial<CallOptions>) => Promise<TResponse>
requestDataTRequest

Returns

Promise<TResponse>

A Promise resolving to the result of the gRPC method call.

Inherited from

Lister.grpcRequest

Defined in

src/client/base.ts:77

listPagesData

listPagesData<TRequest, TResponseObject, TResponse>(endpoint, requestData, pageNo?, perPage?): Promise<TResponse>

Type parameters

NameType
TRequestextends Message
TResponseObjectextends Object
TResponseextends Object

Parameters

NameTypeDefault value
endpoint(request: TRequest, metadata: Metadata, options: Partial<CallOptions>) => Promise<TResponse>undefined
requestDataTRequestundefined
pageNonumber1
perPagenumberundefined

Returns

Promise<TResponse>

Inherited from

Lister.listPagesData

Defined in

src/client/lister.ts:92

listPagesGenerator

listPagesGenerator<TRequest, TResponseObject, TResponse>(endpoint, requestData, pageNo?, perPage?): AsyncGenerator<TResponse, void, unknown>

Type parameters

NameType
TRequestextends Message
TResponseObjectextends Object
TResponseextends Object

Parameters

NameTypeDefault value
endpoint(request: TRequest, metadata: Metadata, options: Partial<CallOptions>) => Promise<TResponse>undefined
requestDataTRequestundefined
pageNonumber1
perPagenumberundefined

Returns

AsyncGenerator<TResponse, void, unknown>

Inherited from

Lister.listPagesGenerator

Defined in

src/client/lister.ts:23

listVersions

listVersions(pageNo?, perPage?): AsyncGenerator<AsObject[], void, unknown>

Parameters

NameType
pageNo?number
perPage?number

Returns

AsyncGenerator<AsObject[], void, unknown>

Defined in

src/client/dataset.ts:113

uploadFromCSV

uploadFromCSV(«destructured»): Promise<void>

Parameters

NameTypeDefault value
«destructured»Objectundefined
› batchSize?number128
› csvPathstringundefined
› csvType"url" | "raw" | "file"undefined
› inputType?"image" | "text" | "video" | "audio""text"
› labels?booleantrue
› uploadProgressEmitter?InputBulkUploadundefined

Returns

Promise<void>

Defined in

src/client/dataset.ts:176

uploadFromFolder

uploadFromFolder(«destructured»): Promise<void>

Parameters

NameTypeDefault value
«destructured»Objectundefined
› batchSize?numberundefined
› folderPathstringundefined
› inputType"image" | "text"undefined
› labels?booleanfalse
› uploadProgressEmitter?InputBulkUploadundefined

Returns

Promise<void>

Defined in

src/client/dataset.ts:138

Input

Input is a class that provides access to Clarifai API endpoints related to Input information.

This is its hierarchy:

  • Lister

    Input

Constructor

new Input(params): Input

Initializes an input object.

Example

import { Input } from "clarifai-nodejs";

export const input = new Input({
authConfig: {
pat: process.env.CLARIFAI_PAT!,
userId: process.env.CLARIFAI_USER_ID!,
appId: process.env.CLARIFAI_APP_ID!,
},
});

Parameters

NameTypeDescription
paramsObjectThe parameters for the Input object.
params.authConfig?AuthConfig-

Returns

Input

Overrides

Lister.constructor

Defined in

src/client/input.ts:101

Properties

numOfWorkers

Private numOfWorkers: number

Defined in

src/client/input.ts:87

Methods

bulkUpload

bulkUpload(«destructured»): Promise<void>

Parameters

NameTypeDefault value
«destructured»Objectundefined
› batchSize?number128
› inputsInput[]undefined
› uploadProgressEmitter?InputBulkUploadundefined

Returns

Promise<void>

Defined in

src/client/input.ts:1038

deleteFailedInputs

deleteFailedInputs(«destructured»): Promise<Input[]>

Parameters

NameType
«destructured»Object
› inputsInput[]

Returns

Promise<Input[]>

Defined in

src/client/input.ts:1165

patchInputs

patchInputs(«destructured»): Promise<string>

Parameters

NameTypeDefault value
«destructured»Objectundefined
› action?string"merge"
› inputsInput[]undefined

Returns

Promise<string>

Defined in

src/client/input.ts:970

retryUploads

retryUploads(«destructured»): Promise<void>

Parameters

NameType
«destructured»Object
› failedInputsInput[]

Returns

Promise<void>

Defined in

src/client/input.ts:1209

uploadAnnotations

uploadAnnotations(«destructured»): Promise<Annotation[]>

Parameters

NameTypeDefault value
«destructured»Objectundefined
› batchAnnotAnnotation[]undefined
› showLog?booleantrue

Returns

Promise<Annotation[]>

Defined in

src/client/input.ts:1006

uploadBatch

uploadBatch(«destructured»): Promise<Input[]>

Parameters

NameType
«destructured»Object
› inputsInput[]

Returns

Promise<Input[]>

Defined in

src/client/input.ts:1090

uploadFromBytes

uploadFromBytes(«destructured»): Promise<string>

Parameters

NameTypeDefault value
«destructured»Objectundefined
› audioBytes?null | Uint8Arraynull
› datasetId?null | stringnull
› geoInfo?null | AsObjectnull
› imageBytes?null | Uint8Arraynull
› inputIdstringundefined
› labels?null | string[]null
› metadata?null | Record<string, JavaScriptValue>null
› textBytes?null | Uint8Arraynull
› videoBytes?null | Uint8Arraynull

Returns

Promise<string>

Defined in

src/client/input.ts:918

uploadFromFile

uploadFromFile(«destructured»): Promise<string>

Parameters

NameTypeDefault value
«destructured»Objectundefined
› audioFile?null | stringnull
› datasetId?null | stringnull
› geoInfo?null | AsObjectnull
› imageFile?null | stringnull
› inputIdstringundefined
› labels?null | string[]null
› metadata?null | Record<string, JavaScriptValue>null
› textFile?null | stringnull
› videoFile?null | stringnull

Returns

Promise<string>

Defined in

src/client/input.ts:883

uploadFromUrl

uploadFromUrl(«destructured»): Promise<string>

Parameters

NameTypeDefault value
«destructured»Objectundefined
› audioUrl?null | stringnull
› datasetId?null | stringnull
› geoInfo?null | AsObjectnull
› imageUrl?null | stringnull
› inputIdstringundefined
› labels?null | string[]null
› metadata?null | Record<string, JavaScriptValue>null
› textUrl?null | stringnull
› videoUrl?null | stringnull

Returns

Promise<string>

Defined in

src/client/input.ts:848

uploadInputs

uploadInputs(«destructured»): Promise<string>

Parameters

NameTypeDefault value
«destructured»Objectundefined
› inputsInput[]undefined
› showLog?booleantrue

Returns

Promise<string>

Defined in

src/client/input.ts:804

uploadText

uploadText(«destructured»): Promise<string>

Parameters

NameTypeDefault value
«destructured»Objectundefined
› datasetId?null | stringnull
› inputIdstringundefined
› rawTextstringundefined

Returns

Promise<string>

Defined in

src/client/input.ts:953

waitForInputs

waitForInputs(«destructured»): Promise<boolean>

Parameters

NameType
«destructured»Object
› inputJobIdstring

Returns

Promise<boolean>

Defined in

src/client/input.ts:1101

getBboxProto

getBboxProto(«destructured»): Annotation

Parameters

NameType
«destructured»Object
› bboxnumber[]
› inputIdstring
› labelstring

Returns

Annotation

Defined in

src/client/input.ts:719

getImageInputsFromFolder

getImageInputsFromFolder(«destructured»): Input[]

Upload image inputs from folder.

Example

import { Input, Model } from "clarifai-nodejs";
import path from "path";

// Generate a new GRPC compatible Input object from buffer
const imageInputs = Input.getImageInputsFromFolder({
// Ensure the directory contains a list of images
folderPath: path.resolve(__dirname, "path/to/imageFolder"),
});

// The input can now be used as an input for a model prediction methods
const model = new Model({
authConfig: {
pat: process.env.CLARIFAI_PAT!,
userId: process.env.CLARIFAI_USER_ID!,
appId: process.env.CLARIFAI_APP_ID!,
},
modelId: "multimodal-clip-embed",
});
const prediction = await model.predict({
inputs: imageInputs,
});
console.log(prediction);

Parameters

NameTypeDefault value
«destructured»Objectundefined
› datasetId?null | stringnull
› folderPathstringundefined
› labels?booleanfalse

Returns

Input[]

Defined in

src/client/input.ts:433

getInputFromBytes

getInputFromBytes(«destructured»): Input

Creates an input proto from bytes.

Example

import { Input, Model } from "clarifai-nodejs";
import * as fs from "fs";

const imageBuffer = fs.readFileSync("path/to/image.jpg");

// Generate a new GRPC compatible Input object from buffer
const imageInput = Input.getInputFromBytes({
inputId: "demo",
imageBytes: imageBuffer,
});

// The input can now be used as an input for a model prediction methods
const model = new Model({
authConfig: {
pat: process.env.CLARIFAI_PAT!,
userId: process.env.CLARIFAI_USER_ID!,
appId: process.env.CLARIFAI_APP_ID!,
},
modelId: "multimodal-clip-embed",
});
const prediction = await model.predict({
inputs: [imageInput],
});
console.log(prediction);

Parameters

NameTypeDefault value
«destructured»Objectundefined
› audioBytes?null | Uint8Arraynull
› datasetId?null | stringnull
› geoInfo?null | AsObjectnull
› imageBytes?null | Uint8Arraynull
› inputIdstringundefined
› labels?null | string[]null
› metadata?null | Record<string, JavaScriptValue>null
› textBytes?null | Uint8Arraynull
› videoBytes?null | Uint8Arraynull

Returns

Input

An Input object for the specified input ID.

Defined in

src/client/input.ts:231

getInputFromFile

getInputFromFile(«destructured»): Input

Create input proto from files.

Example

import { Input, Model } from "clarifai-nodejs";
import path from "path";

// Generate a new GRPC compatible Input object from buffer
const imageInput = Input.getInputFromFile({
inputId: "demo",
imageFile: path.resolve(__dirname, "path/to/image.jpg"),
});

// The input can now be used as an input for a model prediction methods
const model = new Model({
authConfig: {
pat: process.env.CLARIFAI_PAT!,
userId: process.env.CLARIFAI_USER_ID!,
appId: process.env.CLARIFAI_APP_ID!,
},
modelId: "multimodal-clip-embed",
});
const prediction = await model.predict({
inputs: [imageInput],
});
console.log(prediction);

Parameters

NameTypeDefault value
«destructured»Objectundefined
› audioFile?null | stringnull
› datasetId?null | stringnull
› geoInfo?null | AsObjectnull
› imageFile?null | stringnull
› inputIdstringundefined
› labels?null | string[]null
› metadata?null | Record<string, JavaScriptValue>null
› textFile?null | stringnull
› videoFile?null | stringnull

Returns

Input

  • An Input object for the specified input ID.

Defined in

src/client/input.ts:295

getInputFromUrl

getInputFromUrl(«destructured»): Input

Upload input from URL.

Example

import { Input, Model } from "clarifai-nodejs";

// Generate a new GRPC compatible Input object from buffer
const imageInput = Input.getInputFromUrl({
inputId: "demo",
imageUrl: "https://samples.clarifai.com/dog2.jpeg",
});

// The input can now be used as an input for a model prediction methods
const model = new Model({
authConfig: {
pat: process.env.CLARIFAI_PAT!,
userId: process.env.CLARIFAI_USER_ID!,
appId: process.env.CLARIFAI_APP_ID!,
},
modelId: "multimodal-clip-embed",
});
const prediction = await model.predict({
inputs: [imageInput],
});
console.log(prediction);

Parameters

NameTypeDefault value
«destructured»Objectundefined
› audioUrl?null | stringnull
› datasetId?null | stringnull
› geoInfo?null | AsObjectnull
› imageUrl?null | stringnull
› inputIdstringundefined
› labels?null | string[]null
› metadata?null | Record<string, JavaScriptValue>null
› textUrl?null | stringnull
› videoUrl?null | stringnull

Returns

Input

  • Job ID for the upload request.

Defined in

src/client/input.ts:359

getInputsFromCsv

getInputsFromCsv(«destructured»): Promise<Input[]>

Create Input proto from CSV File. Supported columns are: 'inputid', 'input', 'concepts', 'metadata', 'geopoints'

Parameters

NameTypeDefault value
«destructured»Objectundefined
› csvPathstringundefined
› csvType"url" | "raw" | "file""raw"
› datasetId?null | stringnull
› inputType"image" | "text" | "video" | "audio""text"
› labelsbooleantrue

Returns

Promise<Input[]>

  • An array of Input objects for the specified input ID.

Defined in

src/client/input.ts:573

getMaskProto

getMaskProto(«destructured»): Annotation

Parameters

NameType
«destructured»Object
› inputIdstring
› labelstring
› polygonsPolygon[]

Returns

Annotation

Defined in

src/client/input.ts:760

getMultimodalInput

getMultimodalInput(«destructured»): Input

Create input proto for text and image from bytes or url

Parameters

NameTypeDefault value
«destructured»Objectundefined
› datasetId?null | stringnull
› imageBytes?null | Uint8Arraynull
› imageUrl?null | stringnull
› inputIdstringundefined
› labels?null | string[]null
› rawText?null | stringnull
› textBytes?null | Uint8Arraynull

Returns

Input

  • An Input object for the specified input ID.

Defined in

src/client/input.ts:513

getProto

getProto(«destructured»): Input

Create input proto for image data type.

Parameters

NameTypeDefault value
«destructured»Objectundefined
› audioPb?null | { base64: string }null
› datasetId?null | stringnull
› geoInfo?null | AsObjectnull
› imagePb?null | { base64: string ; url?: undefined } | { base64?: undefined ; url: string }null
› inputIdstringundefined
› labels?null | string[]null
› metadata?null | Record<string, JavaScriptValue>null
› textPb?null | { raw: string }null
› videoPb?null | { base64: string }null

Returns

Input

  • An Input object for the specified input ID.

Defined in

src/client/input.ts:119

getTextInput

getTextInput(«destructured»): Input

Create input proto for text data type from raw text.

Example

import { Input, Model } from "clarifai-nodejs";

// Generate a new GRPC compatible Input object from buffer
const textInput = Input.getTextInput({
inputId: "demo",
rawText: "Sample text for input generation",
});

// The input can now be used as an input for a model prediction methods
const model = new Model({
authConfig: {
pat: process.env.CLARIFAI_PAT!,
userId: process.env.CLARIFAI_USER_ID!,
appId: process.env.CLARIFAI_APP_ID!,
},
modelId: "multimodal-clip-embed",
});
const prediction = await model.predict({
inputs: [textInput],
});
console.log(prediction);

Parameters

NameTypeDefault value
«destructured»Objectundefined
› datasetId?null | stringnull
› geoInfo?null | AsObjectnull
› inputIdstringundefined
› labels?null | string[]null
› metadata?null | Record<string, JavaScriptValue>null
› rawTextstringundefined

Returns

Input

  • An Input object for the specified input ID.

Defined in

src/client/input.ts:476

getTextInputsFromFolder

getTextInputsFromFolder(«destructured»): Input[]

Parameters

NameTypeDefault value
«destructured»Objectundefined
› datasetIdnull | stringnull
› folderPathstringundefined
› labelsbooleanfalse

Returns

Input[]

Defined in

src/client/input.ts:688

Model

Model is a class that provides access to Clarifai API endpoints related to Model information.

This is its hierarchy:

  • Lister

    Model

Constructor

new Model(config): Model

Initializes a Model object.

Example

import { Model } from "clarifai-nodejs";

export const model = new Model({
modelId: "face-detection",
authConfig: {
pat: process.env.CLARIFAI_PAT!,
userId: process.env.CLARIFAI_USER_ID!,
appId: process.env.CLARIFAI_APP_ID!,
},
});

Parameters

NameType
configModelConfig

Returns

Model

Overrides

Lister.constructor

Defined in

src/client/model.ts:132

Properties

appId

Private appId: string

Defined in

src/client/model.ts:111

id

Private id: string

Defined in

src/client/model.ts:112

modelInfo

modelInfo: Model

Defined in

src/client/model.ts:115

modelUserAppId

Private modelUserAppId: undefined | UserAppIDSet

Defined in

src/client/model.ts:113

modelVersion

Private modelVersion: undefined | { id: string }

Defined in

src/client/model.ts:114

runner

Private runner: undefined | RunnerSelector

Defined in

src/client/model.ts:117

trainingParams

Private trainingParams: Record<string, unknown>

Defined in

src/client/model.ts:116

Methods

availableMethods

availableMethods(): Promise<string[]>

Returns

Promise<string[]>

Defined in

src/client/model.ts:647

constructRequestWithMethodSignature

constructRequestWithMethodSignature(request, config): Promise<PostModelOutputsRequest>

Parameters

NameType
requestPostModelOutputsRequest
configTextModelPredictConfig

Returns

Promise<PostModelOutputsRequest>

Defined in

src/client/model.ts:663

createVersion

createVersion(modelVersion): Promise<undefined | AsObject>

Creates a model version for the Model.

Example

import { Model } from "clarifai-nodejs";
import {
ModelVersion,
OutputInfo,
} from "clarifai-nodejs-grpc/proto/clarifai/api/resources_pb";
import { Struct } from "google-protobuf/google/protobuf/struct_pb.js";

export const model = new Model({
modelId: "margin-100-image-cropper",
authConfig: {
pat: process.env.CLARIFAI_PAT!,
userId: process.env.CLARIFAI_USER_ID!,
appId: process.env.CLARIFAI_APP_ID!,
},
});

// Creating a GRPC compatible outputInfo object with custom margin parameters
const outputInfo = new OutputInfo().setParams(
Struct.fromJavaScript({ margin: 1.5 }),
);
// GRPC compatible ModelVersion object with previously created output info config
const modelVersion = new ModelVersion()
.setDescription("Setting output info margin parameters to 1.5")
.setOutputInfo(outputInfo);

// Creating a new version of the model with previously created output info config
const modelObjectWithVersion = await model.createVersion(modelVersion);

console.log(modelObjectWithVersion);

Parameters

NameType
modelVersionModelVersion

Returns

Promise<undefined | AsObject>

Defined in

src/client/model.ts:545

deleteVersion

deleteVersion(versionId): Promise<void>

Deletes a model version for the Model.

Example

import { Model } from "clarifai-nodejs";

export const model = new Model({
modelId: "face-detection",
authConfig: {
pat: process.env.CLARIFAI_PAT!,
userId: process.env.CLARIFAI_USER_ID!,
appId: process.env.CLARIFAI_APP_ID!,
},
});

model.deleteVersion("version_id");

Parameters

NameTypeDescription
versionIdstringThe version ID to delete.

Returns

Promise<void>

Defined in

src/client/model.ts:514

generate

generate(«destructured»): AsyncGenerator<AsObject[], any, unknown>

Parameters

NameType
«destructured»TextModelPredictConfig

Returns

AsyncGenerator<AsObject[], any, unknown>

Defined in

src/client/model.ts:1120

generateGrpc

generateGrpc(«destructured»): AsyncGenerator<AsObject | ["deploying", AsObject], any, unknown>

Parameters

NameType
«destructured»TextModelPredictConfig

Returns

AsyncGenerator<AsObject | ["deploying", AsObject], any, unknown>

Defined in

src/client/model.ts:848

getParamInfo

getParamInfo(param): Promise<Record<string, any>>

Returns the param info for the model.

Example

import { Model } from "clarifai-nodejs";

export const model = new Model({
modelId: "face-detection",
authConfig: {
pat: process.env.CLARIFAI_PAT!,
userId: process.env.CLARIFAI_USER_ID!,
appId: process.env.CLARIFAI_APP_ID!,
},
});

model.getParamInfo("template");

Parameters

NameType
paramstring

Returns

Promise<Record<string, any>>

Defined in

src/client/model.ts:446

getParams

getParams(template?, saveTo?): Promise<Record<string, any>>

Returns the model params for the model type as object & also writes to a yaml file

Example

import { Model } from "clarifai-nodejs";

export const model = new Model({
modelId: "face-detection",
authConfig: {
pat: process.env.CLARIFAI_PAT!,
userId: process.env.CLARIFAI_USER_ID!,
appId: process.env.CLARIFAI_APP_ID!,
},
});

const modelParams = await model.getParams("face-detection", "params.yml");
console.log(modelParams);

Parameters

NameTypeDefault valueDescription
templatenull | stringnullThe training template to use for the model type.
saveTostring"params.yaml"The file path to save the yaml file.

Returns

Promise<Record<string, any>>

  • A promise that resolves to the model params for the model type.

Defined in

src/client/model.ts:336

getRunner

getRunner(): undefined | AsObject

Returns the runner for the model.

Returns

undefined | AsObject

  • The runner for the model.

Defined in

src/client/model.ts:230

listTrainingTemplates

listTrainingTemplates(): Promise<string[]>

Lists all the training templates for the model type.

Example

import { Model } from "clarifai-nodejs";

export const model = new Model({
modelId: "face-detection",
authConfig: {
pat: process.env.CLARIFAI_PAT!,
userId: process.env.CLARIFAI_USER_ID!,
appId: process.env.CLARIFAI_APP_ID!,
},
});

const trainingTemplates = await model.listTrainingTemplates();
console.log(trainingTemplates);

Returns

Promise<string[]>

  • A promise that resolves to a list of training templates for the model type.

Defined in

src/client/model.ts:289

listVersions

listVersions(«destructured»?): AsyncGenerator<AsObject[], void, void>

Lists all the versions for the model.

Example

import { Model } from "clarifai-nodejs";

export const model = new Model({
modelId: "lvm-dummy-test",
authConfig: {
pat: process.env.CLARIFAI_PAT!,
userId: process.env.CLARIFAI_USER_ID!,
appId: process.env.CLARIFAI_APP_ID!,
},
});

const versions = await model.listVersions().next();

console.log(versions);

Parameters

NameType
«destructured»Object
› pageNo?number
› perPage?number

Returns

AsyncGenerator<AsObject[], void, void>

Notes

Defaults to 16 per page if pageNo is not specified

Defined in

src/client/model.ts:589

loadInfo

loadInfo(): Promise<void>

Loads the current model info. Usually called internally by other methods, to ensure the model info is loaded with latest data.

Returns

Promise<void>

Defined in

src/client/model.ts:238

methodSignatures

methodSignatures(): Promise<AsObject[]>

Returns

Promise<AsObject[]>

Defined in

src/client/model.ts:625

overrideModelVersion

overrideModelVersion(«destructured»): void

Overrides the model version.

Parameters

NameType
«destructured»Object
› inferenceParams?Record<string, JavaScriptValue>
› outputConfig?OutputConfig

Returns

void

Defined in

src/client/model.ts:1314

predict

predict(predictArgs): Promise<AsObject[]>

Predicts the model based on the given inputs. Useful for chat / text based llms

Parameters

NameType
predictArgsTextModelPredictConfig

Returns

Promise<AsObject[]>

Defined in

src/client/model.ts:740

predict(«destructured»): Promise<AsObject[]>

Predicts the model based on the given inputs. Use the Input module to create the input objects.

Example

import { Model, Input } from "clarifai-nodejs";

export const model = new Model({
modelId: "multimodal-clip-embed",
authConfig: {
pat: process.env.CLARIFAI_PAT!,
userId: process.env.CLARIFAI_USER_ID!,
appId: process.env.CLARIFAI_APP_ID!,
},
});

const input = Input.getInputFromBytes({
inputId: "intro-text",
textBytes: Buffer.from("Hi my name is Jim."),
});

const textPrediction = await model.predict({
inputs: [input],
});

console.log(textPrediction);

const imageInput = Input.getInputFromUrl({
inputId: "test-image",
imageUrl:
"https://goldenglobes.com/wp-content/uploads/2023/10/17-tomcruiseag.jpg",
});

const imagePrediction = await model.predict({
inputs: [imageInput],
});

console.log(imagePrediction);

Parameters

NameType
«destructured»GeneralModelPredictConfig

Returns

Promise<AsObject[]>

  • A promise that resolves to the model prediction.

Defined in

src/client/model.ts:758

predictByBytes

predictByBytes(«destructured»): Promise<AsObject[]>

Predicts the model based on the given inputs. Inputs can be provided as a Buffer.

Parameters

NameType
«destructured»Object
› inferenceParams?Record<string, JavaScriptValue>
› inputBytesBuffer
› inputType"image" | "text" | "video" | "audio"
› outputConfig?OutputConfig

Returns

Promise<AsObject[]>

  • A promise that resolves to the model prediction.

Defined in

src/client/model.ts:1255

predictByFilepath

predictByFilepath(«destructured»): Promise<AsObject[]>

Predicts the model based on the given inputs. Inputs can be provided as a filepath which can be read.

Parameters

NameType
«destructured»Object
› filepathstring
› inferenceParams?Record<string, JavaScriptValue>
› inputType"image" | "text" | "video" | "audio"
› outputConfig?OutputConfig

Returns

Promise<AsObject[]>

  • A promise that resolves to the model prediction.

Defined in

src/client/model.ts:1221

predictByUrl

predictByUrl(«destructured»): Promise<AsObject[]>

Predicts the model based on the given inputs. Inputs can be provided as a URL.

Parameters

NameType
«destructured»Object
› inferenceParams?Record<string, JavaScriptValue>
› inputType"image" | "text" | "video" | "audio"
› outputConfig?OutputConfig
› urlstring

Returns

Promise<AsObject[]>

  • A promise that resolves to the model prediction.

Defined in

src/client/model.ts:1179

setRunner

setRunner(runner): void

Sets the runner for the model.

Parameters

NameType
runnerSubset<AsObject>

Returns

void

Defined in

src/client/model.ts:202

stream

stream(config): Promise<{ end: () => void ; iterator: AsyncGenerator<AsObject[], any, unknown> ; send: (request: PostModelOutputsRequest) => void }>

Parameters

NameType
configTextModelPredictConfig

Returns

Promise<{ end: () => void ; iterator: AsyncGenerator<AsObject[], any, unknown> ; send: (request: PostModelOutputsRequest) => void }>

Defined in

src/client/model.ts:1034

streamWithControl

streamWithControl(«destructured»): Object

Parameters

NameType
«destructured»TextModelPredictConfig

Returns

Object

NameType
end() => void
iteratorAsyncGenerator<AsObject | ["deploying", AsObject], any, unknown>
send(request: PostModelOutputsRequest) => void

Defined in

src/client/model.ts:931

updateParams

updateParams(modelParams): void

Updates the model params for the model.

Example

import { Model } from "clarifai-nodejs";

export const model = new Model({
modelId: "face-detection",
authConfig: {
pat: process.env.CLARIFAI_PAT!,
userId: process.env.CLARIFAI_USER_ID!,
appId: process.env.CLARIFAI_APP_ID!,
},
});

model.updateParams({
batchSize: 8,
datasetVersion: "version_id",
});

Parameters

NameTypeDescription
modelParamsRecord<string, unknown>The model params to update.

Returns

void

Defined in

src/client/model.ts:415

getOutputDataFromModelResponse

getOutputDataFromModelResponse(outputs): undefined | AsObject

Parameters

NameType
outputsAsObject[]

Returns

undefined | AsObject

Defined in

src/client/model.ts:641

RAG

RAG is a class that provides access to Clarifai API endpoints related to RAG information.

Constructor

new RAG(«destructured»): RAG

Parameters

NameType
«destructured»RAGConfig

Returns

RAG

Defined in

src/client/rag.ts:67

Properties

app

app: App

Defined in

src/client/rag.ts:65

authConfig

Private authConfig: AuthConfig

Defined in

src/client/rag.ts:61

promptWorkflow

promptWorkflow: Workflow

Defined in

src/client/rag.ts:63

Methods

chat

chat(«destructured»): Promise<Message[]>

Parameters

NameTypeDefault value
«destructured»Objectundefined
› clientManageState?booleantrue
› messagesMessage[]undefined

Returns

Promise<Message[]>

Defined in

src/client/rag.ts:405

upload

upload(«destructured»): Promise<void>

Parameters

NameTypeDefault value
«destructured»Objectundefined
› batchSize?number128
› chunkOverlap?number200
› chunkSize?number1024
› datasetId?stringundefined
› filePath?stringundefined
› folderPath?stringundefined
› metadata?Record<string, JavaScriptValue>undefined
› url?stringundefined

Returns

Promise<void>

Defined in

src/client/rag.ts:283

validateInputs

validateInputs(workflowUrl?, workflow?, authConfig?): void

Parameters

NameType
workflowUrl?string
workflow?Workflow
authConfig?AuthConfig | UrlAuthConfig

Returns

void

Defined in

src/client/rag.ts:89

setup

setup(«destructured»): Promise<RAG>

Parameters

NameTypeDefault value
«destructured»Objectundefined
› appUrl?$\{string}://$\{string}/$\{string}/$\{string}\undefined
› authConfig?AuthAppConfig | Omit<AuthConfig, "appId"> & { appId?: undefined }undefined
› baseWorkflow?string"Text"
› llmUrl?ClarifaiUrlmistral-7B-Instruct
› maxResults?number5
› minScore?number0.95
› promptTemplate?stringDEFAULT_RAG_PROMPT_TEMPLATE
› workflowId?stringundefined
› workflowYamlFilename?string"prompter_wf.yaml"

Returns

Promise<RAG>

Defined in

src/client/rag.ts:109

Search is a class that provides access to Clarifai API endpoints related to Search information.

This is its hierarchy:

  • Lister

    Search

Constructor

new Search(«destructured»): Search

Parameters

NameTypeDefault value
«destructured»Objectundefined
› algorithm?SupportedAlgorithmDEFAULT_SEARCH_ALGORITHM
› authConfig?AuthConfigundefined
› metric?SupportedMetricDEFAULT_SEARCH_METRIC
› topK?numberDEFAULT_TOP_K

Returns

Search

Overrides

Lister.constructor

Defined in

src/client/search.ts:59

Properties

algorithm

Private algorithm: SupportedAlgorithm

Defined in

src/client/search.ts:57

dataProto

Private dataProto: Data

Defined in

src/client/search.ts:55

inputProto

Private inputProto: Input

Defined in

src/client/search.ts:56

metricDistance

Private metricDistance: "COSINE_DISTANCE" | "EUCLIDEAN_DISTANCE"

Defined in

src/client/search.ts:54

topK

Private topK: number

Defined in

src/client/search.ts:53

Methods

getAnnotProto

getAnnotProto(args): Annotation

Parameters

NameType
argsObject
args.concepts?{ id?: string ; language?: string ; name?: string ; value?: number }[]
args.geoPoint?Object
args.geoPoint.geoLimitnumber
args.geoPoint.latitudenumber
args.geoPoint.longitudenumber
args.imageBytes?unknown
args.imageUrl?string
args.inputDatasetIds?string[]
args.inputStatusCode?number
args.inputTypes?("image" | "text" | "video" | "audio")[]
args.metadata?Record<string, unknown>
args.textRaw?string

Returns

Annotation

Defined in

src/client/search.ts:94

getGeoPointProto

getGeoPointProto(longitude, latitude, geoLimit): Geo

Parameters

NameType
longitudenumber
latitudenumber
geoLimitnumber

Returns

Geo

Defined in

src/client/search.ts:204

getInputProto

getInputProto(args): Input

Parameters

NameType
argsObject
args.concepts?{ id?: string ; language?: string ; name?: string ; value?: number }[]
args.geoPoint?Object
args.geoPoint.geoLimitnumber
args.geoPoint.latitudenumber
args.geoPoint.longitudenumber
args.imageBytes?unknown
args.imageUrl?string
args.inputDatasetIds?string[]
args.inputStatusCode?number
args.inputTypes?("image" | "text" | "video" | "audio")[]
args.metadata?Record<string, unknown>
args.textRaw?string

Returns

Input

Defined in

src/client/search.ts:168

listAllPagesGenerator

listAllPagesGenerator<T>(«destructured»): AsyncGenerator<AsObject, void, void>

Type parameters

NameType
Textends PostAnnotationsSearchesRequest | PostInputsSearchesRequest

Parameters

NameTypeDefault value
«destructured»Objectundefined
› endpoint(request: T, metadata: Metadata, options: Partial<CallOptions>) => Promise<MultiSearchResponse>undefined
› page?number1
› perPage?numberundefined
› requestDataTundefined

Returns

AsyncGenerator<AsObject, void, void>

Defined in

src/client/search.ts:221

query

query(«destructured»): AsyncGenerator<AsObject, void, void>

Parameters

NameType
«destructured»Object
› filters?{ concepts?: { id?: string ; language?: string ; name?: string ; value?: number }[] ; geoPoint?: { geoLimit: number ; latitude: number ; longitude: number } ; imageBytes?: unknown ; imageUrl?: string ; inputDatasetIds?: string[] ; inputStatusCode?: number ; inputTypes?: ("image" | "text" | "video" | "audio")[] ; metadata?: Record<string, unknown> ; textRaw?: string }[]
› page?number
› perPage?number
› ranks?{ concepts?: { id?: string ; language?: string ; name?: string ; value?: number }[] ; geoPoint?: { geoLimit: number ; latitude: number ; longitude: number } ; imageBytes?: unknown ; imageUrl?: string ; inputDatasetIds?: string[] ; inputStatusCode?: number ; inputTypes?: ("image" | "text" | "video" | "audio")[] ; metadata?: Record<string, unknown> ; textRaw?: string }[]

Returns

AsyncGenerator<AsObject, void, void>

Defined in

src/client/search.ts:290

User

User is a class that provides access to Clarifai API endpoints related to user information.

This is its hierarchy:

  • Lister

    User

Constructor

new User(authConfig?): User

Initializes a User object with the specified authentication configuration.

Example

import { User } from "clarifai-nodejs";

export const user = new User({
pat: process.env.CLARIFAI_PAT!,
userId: process.env.CLARIFAI_USER_ID!,
appId: process.env.CLARIFAI_APP_ID!,
});

Parameters

NameTypeDescription
authConfigAuthConfigAn object containing the authentication configuration. Defaults to an empty object.

Returns

User

Overrides

Lister.constructor

Defined in

src/client/user.ts:45

Methods

app

app(appId): Promise<undefined | AsObject>

Returns an App object for the specified app ID.

Example

import { User } from "clarifai-nodejs";

export const user = new User({
pat: process.env.CLARIFAI_PAT!,
userId: process.env.CLARIFAI_USER_ID!,
appId: process.env.CLARIFAI_APP_ID!,
});
const app = await user.app({
appId: "app_id",
});
console.log(app);

Parameters

NameTypeDescription
appIdObjectThe app ID for the app to interact with.
appId.appIdstring-

Returns

Promise<undefined | AsObject>

An App object for the specified app ID.

Defined in

src/client/user.ts:240

createApp

createApp(«destructured»): Promise<AsObject>

Creates an app for the user.

Example

import { User } from "clarifai-nodejs";

export const user = new User({
pat: process.env.CLARIFAI_PAT!,
userId: process.env.CLARIFAI_USER_ID!,
appId: process.env.CLARIFAI_APP_ID!,
});
const app = await user.createApp({
appId: "app_id",
baseWorkflow: "Universal",
});
console.log(app);

Parameters

NameTypeDefault value
«destructured»Objectundefined
› appIdstringundefined
› baseWorkflow?string"Empty"

Returns

Promise<AsObject>

An App object for the specified app ID.

Defined in

src/client/user.ts:141

createRunner

createRunner(«destructured»): Promise<AsObject>

Creates a runner for the user.

Example

import { User } from "clarifai-nodejs";

export const user = new User({
pat: process.env.CLARIFAI_PAT!,
userId: process.env.CLARIFAI_USER_ID!,
appId: process.env.CLARIFAI_APP_ID!,
});
const runner = await user.createRunner({
runnerId: "runner_id",
labels: ["label to link runner"],
description: "laptop runner",
});
console.log(runner);

Parameters

NameType
«destructured»Object
› descriptionstring
› labelsstring[]
› runnerIdstring

Returns

Promise<AsObject>

A runner object for the specified Runner ID.

Defined in

src/client/user.ts:192

deleteApp

deleteApp(appId): Promise<void>

Deletes an app for the user.

Parameters

NameTypeDescription
appIdObjectThe app ID for the app to delete.
appId.appIdstring-

Returns

Promise<void>

Example

examples/user/deleteApp.ts

Defined in

src/client/user.ts:304

deleteRunner

deleteRunner(runnerId): Promise<void>

Deletes a runner for the user.

Example

import { User } from "clarifai-nodejs";

export const user = new User({
pat: process.env.CLARIFAI_PAT!,
userId: process.env.CLARIFAI_USER_ID!,
appId: process.env.CLARIFAI_APP_ID!,
});
await user.deleteRunner({ runnerId: "runner_id" });

Parameters

NameTypeDescription
runnerIdObjectThe runner ID to delete.
runnerId.runnerIdstring-

Returns

Promise<void>

Defined in

src/client/user.ts:331

listApps

listApps(«destructured»?): AsyncGenerator<AsObject[], void, unknown>

Lists all the apps for the user.

Example

import { User } from "clarifai-nodejs";

export const user = new User({
pat: process.env.CLARIFAI_PAT!,
userId: process.env.CLARIFAI_USER_ID!,
appId: process.env.CLARIFAI_APP_ID!,
});
const list = await user
.listApps({
pageNo: 1,
perPage: 20,
params: {
sortAscending: true,
},
})
.next();
const apps = list.value;
console.log(apps);

Parameters

NameType
«destructured»Object
› pageNo?number
› params?ListAppsRequestParams
› perPage?number

Returns

AsyncGenerator<AsObject[], void, unknown>

Yields

App objects for the user.

Note

Defaults to 16 per page if pageNo is specified and perPage is not specified. If both pageNo and perPage are None, then lists all the resources.

Defined in

src/client/user.ts:62

listRunners

listRunners(«destructured»?): AsyncGenerator<AsObject, void, unknown>

Lists all the runners for the user.

Example

import { User } from "clarifai-nodejs";

export const user = new User({
pat: process.env.CLARIFAI_PAT!,
userId: process.env.CLARIFAI_USER_ID!,
appId: process.env.CLARIFAI_APP_ID!,
});
const list = await user.listRunners().next();
const runners = list.value;
console.log(runners);

Parameters

NameType
«destructured»Object
› pageNo?number
› params?ListRunnersRequestParams
› perPage?number

Returns

AsyncGenerator<AsObject, void, unknown>

Yields

Runner objects for the user.

Note

Defaults to 16 per page if perPage is not specified.

Defined in

src/client/user.ts:103

runner

runner(runnerId): Promise<undefined | AsObject>

Returns a Runner object if exists.

Example

import { User } from "clarifai-nodejs";

export const user = new User({
pat: process.env.CLARIFAI_PAT!,
userId: process.env.CLARIFAI_USER_ID!,
appId: process.env.CLARIFAI_APP_ID!,
});
const runner = await user.runner({ runnerId: "runner_id" });
console.log(runner);

Parameters

NameTypeDescription
runnerIdObjectThe runner ID to interact with.
runnerId.runnerIdstring-

Returns

Promise<undefined | AsObject>

A Runner object for the existing runner ID.

Defined in

src/client/user.ts:272

Workflow

Workflow is a class that provides access to Clarifai API endpoints related to workflow information.

This is its hierarchy:

  • Lister

    Workflow

Constructor

new Workflow(«destructured»): Workflow

Parameters

NameType
«destructured»WorkflowConfig

Returns

Workflow

Overrides

Lister.constructor

Defined in

src/client/workflow.ts:55

Properties

appId

appId: string

Defined in

src/client/workflow.ts:52

id

id: string

Defined in

src/client/workflow.ts:51

outputConfig

Private outputConfig: OutputConfig

Defined in

src/client/workflow.ts:53

versionId

Private versionId: string

Defined in

src/client/workflow.ts:50

Methods

exportWorkflow

exportWorkflow(outPath): Promise<void>

Exports the workflow to a yaml file.

Parameters

NameTypeDescription
outPathstringThe path to save the yaml file to.

Returns

Promise<void>

Example

import { Workflow } from "./workflow";

const workflow = new Workflow("https://clarifai.com/clarifai/main/workflows/Demographics");
await workflow.export("out_path.yml");

Defined in

src/client/workflow.ts:267

listVersions

listVersions(«destructured»): AsyncGenerator<AsObject, void, void>

Parameters

NameType
«destructured»Object
› pageNo?number
› perPage?number

Returns

AsyncGenerator<AsObject, void, void>

Defined in

src/client/workflow.ts:221

predict

predict(«destructured»): Promise<AsObject>

Parameters

NameType
«destructured»Object
› inputsInput[]
› workflowStateId?string

Returns

Promise<AsObject>

Defined in

src/client/workflow.ts:84

predictByBytes

predictByBytes(inputBytes, inputType): Promise<AsObject>

Parameters

NameType
inputBytesBuffer
inputType"image" | "text" | "video" | "audio"

Returns

Promise<AsObject>

Defined in

src/client/workflow.ts:160

predictByUrl

predictByUrl(url, inputType): Promise<AsObject>

Parameters

NameType
urlstring
inputType"image" | "text" | "video" | "audio"

Returns

Promise<AsObject>

Defined in

src/client/workflow.ts:199

Type Aliases

AppConfig

Ƭ AppConfig: { authConfig: AuthAppConfig ; url: ClarifaiAppUrl } | { authConfig: AuthConfig ; url?: undefined }

Defined in

src/client/app.ts:55

AuthAppConfig

Ƭ AuthAppConfig: Object

Type declaration

NameType
appId?undefined
baseundefined | string
patstring
rootCertificatesPathundefined | string
tokenundefined | string
uiundefined | string
userId?undefined

Defined in

src/client/app.ts:50

CreateDatasetParam

Ƭ CreateDatasetParam: Object

Type declaration

NameType
appIdundefined | string
bookmarkOriginundefined | AsObject
createdAtundefined | AsObject
defaultAnnotationFilterundefined | AsObject
defaultProcessingInfoundefined | AsObject
descriptionundefined | string
imageundefined | AsObject
isStarredundefined | boolean
metadataundefined | AsObject
modifiedAtundefined | AsObject
notesundefined | string
starCountundefined | number
userIdundefined | string
versionundefined | AsObject
visibilityundefined | AsObject

Defined in

src/client/app.ts:75

CreateModelParam

Ƭ CreateModelParam: Object

Type declaration

NameType
appIdundefined | string
billingTypeundefined | BillingType
bookmarkOriginundefined | AsObject
checkConsentsListundefined | string[]
createdAtundefined | AsObject
creatorundefined | string
defaultEvalInfoundefined | AsObject
deployRestrictionundefined | DeployRestriction
descriptionundefined | string
displayNameundefined | string
featuredOrderundefined | AsObject
imageundefined | AsObject
isStarredundefined | boolean
languagesFullListundefined | AsObject[]
languagesListundefined | string[]
licenseTypeundefined | LicenseType
metadataundefined | AsObject
modelTypeIdundefined | string
modelVersionundefined | AsObject
modifiedAtundefined | AsObject
nameundefined | string
notesundefined | string
outputInfoundefined | AsObject
presetsundefined | AsObject
replicaCountundefined | number
sourceundefined | Source
starCountundefined | number
taskundefined | string
toolkitsListundefined | string[]
useCasesListundefined | string[]
userIdundefined | string
versionCountundefined | number
visibilityundefined | AsObject
workflowRecommendedundefined | AsObject

Defined in

src/client/app.ts:79

InputBulkUpload

Ƭ InputBulkUpload: Object

Type declaration

NameType
[captureRejectionSymbol]undefined | <K>(error: Error, event: string | symbol, ...args: AnyRest) => void
addListener<K>(eventName: string | symbol, listener: (...args: any[]) => void) => this
emit<K>(eventName: string | symbol, ...args: AnyRest) => boolean & <K>(event: K, payload: UploadEvents[K]) => boolean
eventNames() => (string | symbol)[]
getMaxListeners() => number
listenerCount<K>(eventName: string | symbol, listener?: Function) => number
listeners<K>(eventName: string | symbol) => Function[]
off<K>(eventName: string | symbol, listener: (...args: any[]) => void) => this
on<K>(eventName: string | symbol, listener: (...args: any[]) => void) => this & <K>(event: K, listener: (payload: UploadEvents[K]) => void) => void
once<K>(eventName: string | symbol, listener: (...args: any[]) => void) => this
prependListener<K>(eventName: string | symbol, listener: (...args: any[]) => void) => this
prependOnceListener<K>(eventName: string | symbol, listener: (...args: any[]) => void) => this
rawListeners<K>(eventName: string | symbol) => Function[]
removeAllListeners(eventName?: string | symbol) => this
removeListener<K>(eventName: string | symbol, listener: (...args: any[]) => void) => this
setMaxListeners(n: number) => this

Defined in

src/client/input.ts:80

ListAppsRequestParams

Ƭ ListAppsRequestParams: Object

Type declaration

NameType
additionalFieldsListundefined | string[]
featuredOnlyundefined | boolean
idundefined | string
nameundefined | string
pageundefined | number
queryundefined | string
searchundefined | string
sortAscendingundefined | boolean
sortByCreatedAtundefined | boolean
sortByIdundefined | boolean
sortByModifiedAtundefined | boolean
sortByNameundefined | boolean
sortByStarCountundefined | boolean
starredOnlyundefined | boolean
templateOnlyundefined | boolean

Defined in

src/client/user.ts:22

ListDatasetsParam

Ƭ ListDatasetsParam: Object

Type declaration

NameType
additionalFieldsListundefined | string[]
bookmarkundefined | boolean
idundefined | string
pageundefined | number
searchundefined | string
sortAscendingundefined | boolean
sortByCreatedAtundefined | boolean
sortByIdundefined | boolean
sortByModifiedAtundefined | boolean
sortByStarCountundefined | boolean
starredOnlyundefined | boolean

Defined in

src/client/app.ts:65

ListInstalledModuleVersionsParam

Ƭ ListInstalledModuleVersionsParam: Object

Type declaration

NameType
pageundefined | number

Defined in

src/client/app.ts:73

ListModelsParam

Ƭ ListModelsParam: Object

Type declaration

NameType
additionalFieldsListundefined | string[]
bookmarkundefined | boolean
creatorundefined | string
dontFetchFromMainundefined | boolean
featuredOnlyundefined | boolean
filterByUserIdundefined | boolean
inputFieldsListundefined | string[]
languagesListundefined | string[]
licenseundefined | string
licenseTypeundefined | LicenseType
minReplicasundefined | number
modelTypeIdundefined | string
modelVersionIdsListundefined | string[]
nameundefined | string
outputFieldsListundefined | string[]
pageundefined | number
queryundefined | string
searchundefined | string
showReplicasundefined | boolean
sortAscendingundefined | boolean
sortByCreatedAtundefined | boolean
sortByModifiedAtundefined | boolean
sortByNameundefined | boolean
sortByNumInputsundefined | boolean
sortByStarCountundefined | boolean
sourceundefined | number
starredOnlyundefined | boolean
toolkitsListundefined | string[]
trainedOnlyundefined | boolean
useCasesListundefined | string[]

Defined in

src/client/app.ts:67

ListModulesParam

Ƭ ListModulesParam: Object

Type declaration

NameType
additionalFieldsListundefined | string[]
bookmarkundefined | boolean
filterByUserIdundefined | boolean
nameundefined | string
pageundefined | number
searchundefined | string
sortAscendingundefined | boolean
sortByCreatedAtundefined | boolean
sortByIdundefined | boolean
sortByModifiedAtundefined | boolean
sortByStarCountundefined | boolean
starredOnlyundefined | boolean

Defined in

src/client/app.ts:71

ListRunnersRequestParams

Ƭ ListRunnersRequestParams: Object

Type declaration

NameType
computeClusterIdundefined | string
minReplicasundefined | number
modelVersionIdsListundefined | string[]
nodepoolIdundefined | string
pageundefined | number

Defined in

src/client/user.ts:24

ListWorkflowsParam

Ƭ ListWorkflowsParam: Object

Type declaration

NameType
additionalFieldsListundefined | string[]
bookmarkundefined | boolean
featuredOnlyundefined | boolean
idundefined | string
pageundefined | number
queryundefined | string
searchundefined | string
searchTermundefined | string
sortAscendingundefined | boolean
sortByCreatedAtundefined | boolean
sortByIdundefined | boolean
sortByModifiedAtundefined | boolean
sortByStarCountundefined | boolean
starredOnlyundefined | boolean

Defined in

src/client/app.ts:69

UserConfig

Ƭ UserConfig: Object

Type declaration

NameType
appIdstring
baseundefined | string
patstring
rootCertificatesPathundefined | string
tokenundefined | string
uiundefined | string
userIdstring

Defined in

src/client/user.ts:21