If you've already landed on our Pricing Page you may have noticed that there are a lot of handy tables there, which hopefully have steered you in the right direction. If they didn't though...fear not! We have some in-depth explanations here below:

Operations vs. Inputs: Explained Further

If you're still not sure about these two items, let's try to break them down a bit:


An Operation is an action that is performed via our API or User Interface, and includes the following:

  • Predictions (to get tags)
  • Searches (to get similarity results)
  • Image Uploads to our Cloud
  • Custom Model "Trains" (i.e. any time you re-train a model)
  • Concept or Metadata Patches, and
  • Model Evaluations

Predictions and Searches are pretty standard. If you make a call to a Public or Custom model to get a prediction from it, it's an operation. And if you perform a visual search to get the most similar-looking items from your Collection, that's also an operation.

The third item - Image Uploads - are needed when using our Custom Training or Visual Search tools, and they are stored on our Cloud. Whenever you upload an image to our Cloud it incurs an Operation. Storing the images does not incur an operation though.

The fourth item applies to Custom Models. Every time you re-train your model and make it smarter it incurs an Operation.

For item #5, every time you add a Concept to a custom model or change an Image's concepts or metadata it also incurs an Operation. 

And finally, whenever you use our new Model Evaluation feature to analyze a Custom Model, that incurs an Operation as well.


An Input is simply the alias that we give to Images that are uploaded to our cloud. They are needed for:

  • Custom Training, and
  • Visual Search

...and that's basically it. If you're only getting predictions from one of our Public Models like Food or Logos, you won't need Inputs or incur any costs related to them. You'll only pay for Operations.

Inputs incur a monthly cost at the time of your billing cycle. If you have 15,000 images in your collection when billing time comes, you'll only get charged for 5,000 of them since 10,000 are free. Isn't that neat?

Now let's take a look at some examples:

Pricing Scenario #1: Public Model Predictions

If you're only doing Public Model predictions, your costs will be pretty simple.

Let's suppose you need to:

  •  Make 250,000 predictions with our Food Model each month

Your monthly cost would be:

  • 250,000 operations - 5,000 free operations = 245,000 * (.0012) = $294

And that's it! 

Pricing Scenario #2: Visual Search + Public Model Predictions

Let’s suppose you want to: 

  • Upload 20,000 images (inputs) to our platform
  • Perform 15,000 visual searches on those inputs
  • Make 15,000 separate predictions on our public Food Model every month

Your per-month long-term cost would be:

  • 20,000 inputs - 10,000 free inputs = 10,000 * (.0008) = $8
  • 15,000 search operations - 5,000 free operations = 10,000 * (.0012) = $12
  • 15,000 predict operations = 15,000 * (.0012) = $18

   ...for a total price of 8 + 12 + 18 = $38

However, in month #1 you would also incur an additional one-time cost to upload 20,000 inputs. These 20,000 additional operations will yield a one-time fee of 20,000 * (.0012) = $24.

Pricing Scenario #3: Custom Training + Custom Predictions

Let’s use a Custom Training example now. 

Suppose you want to:

  • Upload 20,000 images to our platform to train a model on
  • Create 20 custom concepts in that model, and
  • Make 10,000 calls to that model every month.

Your monthly cost would roughly* be:

  • 20,000 inputs - 10,000 free inputs = 10,000 * (.0008) = $8
  • 20 concepts - 10 free concepts = 10 * (0.46) = $4.60
  • 10,000 custom predict operations - 5,000 free operations = 5,000 * (.0032) = $16

   = $28.60

Additionally, you would have an initial one-time upload cost of 20,000 operations = 20,000 * (.0012) = $24.

* We say roughly here because training a model also incurs an operation, so it might be a little higher depending on how many times you're doing that.

Did this answer your question?