Build Highly Accurate
AI-Powered Apps Fast

Clarifai offers you machine learning AI to understand image, video, text and audio data.

persona-developer-hero

One API for all your AI

Easily add AI to your software quickly to build powerful Apps to solve your specific business needs.

developers-build-apps-faster
icon-ready-to-use-models

Ready-to-use, pre-trained AI models

Get up and running quickly with pre-trained models available out of the box that require no training or specialized knowledge in data science.

icon-easy-deployment

Easy deployment anywhere

Deploy AI capabilities anywhere. Leverage our industry standard API in the cloud, on-premise or at the edge.

icon-one-api

One integrated tool for managing data

Manage your unstructured data pipeline in one API available in every major programming language.

Scale your apps with continually improving AI

Easy Deployment

Dynamic data-centric models

Create your own custom AI models for your specific use case. Deploy easily and learn from real world data so your models improve over time.

developers-data-centric-ai-models
Free AI Upgrades

Continually learning AI

Experience bleeding edge performance. Our public models upgrade automatically and model architectures continually improve alongside cutting edge research in AI.

developers-continually-learning-ai-upgrades

Start building high performance apps today

Get started with 1,000 free operations each month. Request a free API key and start building today.

response = stub.PostModelOutputs(
    service_pb2.PostModelOutputsRequest(
        model_id="{THE_MODEL_ID}",
        inputs=[
            resources_pb2.Input(
                data=resources_pb2.Data(
                    image=resources_pb2.Image(
                        url="https://samples.clarifai.com/metro-north.jpg"
                    )
                )
            )
        ]
    ),
    metadata=metadata
)
print("Predicted concepts:")
for concept in response.outputs[0].data.concepts:
    print(concept.name + " " + str(concept.value))
curl -X POST
    -H 'Authorization: Key YOUR_API_KEY'
    -H "Content-Type: application/json"
    -d '
    {
      "inputs": [
        {
          "data": {
            "image": {
              "url": "https://samples.clarifai.com/metro-north.jpg"
            }
          }
        }
      ]
    }'
    https://api.clarifai.com/v2/models/e0be3b9d6a454f0493ac3a30784001ff/outputs

 

MultiOutputResponse response = stub.postModelOutputs(
PostModelOutputsRequest.newBuilder()
.setModelId("aaa03c23b3724a16a56b629203edc62c")
.addInputs(
Input.newBuilder().setData(
Data.newBuilder().setImage(
Image.newBuilder().setUrl("YOUR_IMAGE_URL")
)
)
)
.build()
);
const request = new service.PostModelOutputsRequest();
request.setModelId("aaa03c23b3724a16a56b629203edc62c");
request.addInputs(
    new resources.Input()
        .setData(
            new resources.Data()
                .setImage(
                    new resources.Image()
                        .setUrl("https://samples.clarifai.com/dog2.jpeg")
                )
        )
)
[$response, $status] = $client->PostModelOutputs(
new PostModelOutputsRequest([
'model_id' => 'aaa03c23b3724a16a56b629203edc62c',
'inputs' => [
new Input([
'data' => new Data([
'image' => new Image([
'url' => 'https://samples.clarifai.com/dog2.jpeg'
])
])
])
]
]),
$metadata
)->wait();
var GeneralModelId = "aaa03c23b3724a16a56b629203edc62c"
response, err := client.PostModelOutputs(
ctx,
&api.PostModelOutputsRequest{
ModelId: GeneralModelId,
Inputs: []*api.Input{
{
Data: &api.Data{
Image: &api.Image{
Url: "https://samples.clarifai.com/dog2.jpeg",
},
},
},
},
},
)
const GENERAL_MODEL_ID: &str = "aaa03c23b3724a16a56b629203edc62c";

let request = service::PostModelOutputsRequest {
model_id: GENERAL_MODEL_ID.to_string(),
inputs: RepeatedField::from(vec![resources::Input {
data: SingularPtrField::some(resources::Data {
image: SingularPtrField::some(resources::Image {
url: "https://samples.clarifai.com/dog2.jpeg".to_string(),
..Default::default()
}),
..Default::default()
}),
..Default::default()
}]),
..Default::default()
};
string GENERAL_MODEL_ID = "aaa03c23b3724a16a56b629203edc62c";

PostModelOutputsRequest request;
request.set_model_id(GENERAL_MODEL_ID);

Input* input = request.add_inputs();
Data* data = input->mutable_data();
Image* image = data->mutable_image();
image->set_url("https://samples.clarifai.com/dog2.jpeg");

MultiOutputResponse response;
grpc::Status status = stub->PostModelOutputs(context.get(), request, &response);

if (!status.ok()) {
cout << "Failure: " << status.error_code() << " " << status.error_message() << endl;
exit(1);
}

if (response.status().code() != status::StatusCode::SUCCESS) {
cout << "Error response: " << response.status().code() << " " << response.status().description() << " " << response.status().details() << endl;
exit(1);
}

Data response_data = response.outputs(0).data();
cout << "Predicted concepts:" << endl;
for (int i = 0; i < response_data.concepts_size(); i++) {
const Concept& c = response_data.concepts(i);
cout << "\t" << c.name() << ": " << c.value() << endl;
}
var response = client.PostModelOutputs(
new PostModelOutputsRequest()
{
ModelId = "aaa03c23b3724a16a56b629203edc62c",
Inputs =
{
new List<Input>()
{
new Input()
{
Data = new Data()
{
Image = new Image()
{
Url = "https://samples.clarifai.com/dog2.jpeg"
}
}
}
}
}
},
metadata
);
let response = try client.postModelOutputs(
Clarifai_Api_PostModelOutputsRequest.with {
$0.modelID = "aaa03c23b3724a16a56b629203edc62c";
$0.inputs = [
Clarifai_Api_Input.with {
$0.data = Clarifai_Api_Data.with {
$0.image = Clarifai_Api_Image.with {
$0.url = "https://samples.clarifai.com/dog2.jpeg"
}
}
}
]
}
).response.wait()
file folder icon

Platform Documentation

Get up and running with Clarifai fast and become a machine learning expert.

question mark icon

Clarifai Help Center

Get answers to the most common questions and troubleshooting topics.

Join Clarifai Users

Clarifai User Slack Channel

Sign up to join our Slack channel and meet other Clarifai users. Post questions, follow discussions and share knowledge.

Clarifai slack user interface

Getting started is easy.

Start building AI-powered apps today.

If you are a customer and need support, we'll be happy to help. Contact support

×