Registry / ai-ml / clarifai-nodejs-grpc

clarifai-nodejs-grpc

JSON →
library12.4.1jsnpmunverified

Official Clarifai gRPC client for Node.js to interact with the Clarifai AI recognition API. Version 12.4.1 as of the metadata, with frequent releases aligned to API backend versioning (X.Y.Z where X.Y matches API version, Z for library-specific fixes). Supports image, video, and text recognition via computer vision and NLP. Provides two usage approaches: dynamic (quick, no type safety) and static (TypeScript declarations for autocomplete). Key differentiator: direct gRPC access to Clarifai API with low-level control, unlike the higher-level REST client 'clarifai'. Requires API key for authentication. Maintained by Clarifai.

npm install clarifai-nodejs-grpc
INSTALL
IMPORT
SIG · CLARIFAI-NODEJS-GR
C
clarifai-nodejs-grpc
ai-mljavascriptv12.4.1
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

ClarifaiStub
const { ClarifaiStub } = require('clarifai-nodejs-grpc');
import { ClarifaiStub } from 'clarifai-nodejs-grpc';
This package is CommonJS only; ESM import will fail. Use require().
grpc
const { grpc } = require('clarifai-nodejs-grpc');
const grpc = require('@grpc/grpc-js');
Do not require @grpc/grpc-js directly; it leads to Metadata mismatch errors when multiple versions are installed. Always destructure from clarifai-nodejs-grpc.
V2Client
const { V2Client } = require('clarifai-nodejs-grpc/proto/clarifai/api/service_pb');
const { V2Client } = require('clarifai-nodejs-grpc');
V2Client is only available via the static (proto) import path, not from the main package export.
StatusCode
const { StatusCode } = require('clarifai-nodejs-grpc/proto/clarifai/api/status/status_code_pb');
const { StatusCode } = require('clarifai-nodejs-grpc');
StatusCode enum is also in proto subpath only.

Predict concepts in an image using Clarifai's general model. Uses dynamic stub approach with gRPC metadata for authentication.

const { ClarifaiStub, grpc } = require('clarifai-nodejs-grpc'); const stub = ClarifaiStub.grpc(); const metadata = new grpc.Metadata(); metadata.set('authorization', 'Key ' + (process.env.CLARIFAI_API_KEY ?? '')); stub.PostModelOutputs( { model_id: 'aaa03c23b3724a16a56b629203edc62c', inputs: [{ data: { image: { url: 'https://samples.clarifai.com/dog2.jpeg' } } }] }, metadata, (err, response) => { if (err) { console.log('Error:', err); return; } if (response.status.code !== 10000) { console.log('Request failed:', response.status.description, response.status.details); return; } const concepts = response.outputs[0].data.concepts; console.log('Predicted concepts:'); concepts.forEach(c => console.log(c.name + ': ' + c.value)); } );
Debug
Known issues
gotchaDo not require @grpc/grpc-js directly; use the grpc object from clarifai-nodejs-grpc to avoid Metadata inconsistencies.
fix
Always destructure grpc: const { grpc } = require('clarifai-nodejs-grpc');
affects: >=0.0.0
deprecatedThe dynamic approach (ClarifaiStub) may be deprecated in future versions; prefer the static approach with V2Client for type safety.
fix
Use V2Client and proto imports for upcoming API changes.
affects: >=12.0.0
gotchaModel ID 'aaa03c23b3724a16a56b629203edc62c' is for Clarifai's general image recognition model; using other IDs may return errors if model is not available.
fix
Check model existence via ListModels or use public model ID.
affects: >=0.0.0
breakingThe response status code 10000 indicates success; any other code means failure. This is undocumented in some versions.
fix
Always check response.status.code === 10000 before processing outputs.
affects: >=0.0.0
Errors
Common errors & fixes
Error: Cannot find module 'google-protobuf'
Missing peer dependency google-protobuf.
fix
Run: npm install google-protobuf
Error: Received failed status: PERMISSION_DENIED
Invalid or missing API key in metadata.
fix
Ensure you set metadata with 'authorization' header: metadata.set('authorization', 'Key YOUR_API_KEY');
TypeError: grpc.Metadata is not a constructor
grpc imported from wrong module (e.g., @grpc/grpc-js directly).
fix
Use const { grpc } = require('clarifai-nodejs-grpc'); instead of direct require('@grpc/grpc-js').
Upgrade
Version history
12.4.1latest on npm
Audit
Dependencies
@grpc/grpc-jsrequiredgRPC transport layer used for API calls
google-protobufrequiredProtocol Buffers serialization for API messages
Agent activity
19 hits · last 30 days
node
16
OpenAI (training)
2
Resources
clarifai-nodejs-grpc — npm install clarifai-nodejs-grpc · libregistry