FAQs

Find answers to common questions about our services here. If you need further information, feel free to reach out.

For product-specific questions, visit FAQs on the product pages on the following links.

Credits and pricing

Why use our products instead of others on the market?
  1. Decade-long Expertise: We have almost 10 years of experience in developing machine learning-based systems for image recognition and classification of living beings, including plants, insects, mushrooms, and more.
  2. Collaboration with Domain Experts: We collaborate with knowledgeable domain experts for each of these groups. They have helped us annotate hundreds of thousands of images, and their invaluable insights help us design our products.
  3. Cutting-edge Technology: We keep up with the latest research and trends in the world of machine learning. This enables us to develop world-class machine learning models, even in such a rapidly evolving field.
  4. Ease of Integration & Maintenance: Our products are designed to be easy to integrate and maintain. We provide dedicated support and extensive code examples to facilitate a smooth implementation process.
  5. Reliability & Security: We guarantee excellent uptime, efficient traffic management, and high levels of data security and compliance.
How do the credits work?

Once you sign up for the API access, you will automatically receive 100 free credits for testing to get you started.
The identifications are credit-based. Each successful identification deducts a credit from the account, and if you are using the Health Assessment feature, another credit is taken.

The cost of obtaining plant information from the Detail endpoints (for plants, mushrooms, insects, crops) using the Search feature is 0.5 credits.

No credits are taken for calling our endpoint for retrieval and deleting of the identification, obtaining usage info, sending feedback, and searching endpoint.

What is the pricing?

The price range per credit is €0.05 (€50 for 1000 credits) to €.01 (€10 for 1000 credits), depending on the volume of credits purchased.

We offer special pricing for beneficiary projects. We offer pre-paid pricing, where the credits are purchased in advance and deducted accordingly from your account. The second option is retroactive pricing, where you pay only for the actual credits used, and receive an invoice from us automatically at the beginning of each month. This pricing is based on special requirements. Please contact us at business@kindwise.com if you wish to discuss the above.

Are there long-term contractual commitments or minimum usage requirements?

We don't require long-term contractual commitments or minimum usage requirements. However, we are open to negotiating such commitments if you would like to achieve a better price per credit.

Will I get a refund for any downtime I experience?

We are doing our best to keep downtime to a minimum. API incidents are listed here.

If we do not meet the guaranteed targets in a given calendar month, the performance degradation percentage will be deducted from the API availability as stated in our SLA.

When we deploy a new version of the system (about twice a month) we are unavailable for about 20 s. This is manifested by the API returning a code indicating its inaccessibility. 

Can I see legal-related documents?

For businesses using our products, we have the following:

For end users, who are using this website and demo sites, we have the following:

Identification performance

Can I increase identification accuracy?
  • Photo quality:
    • Submit photos of a focused and well-lit object, see examples.
    • Photos should be in good quality and resolution, but not too large to avoid delays.
    • A general view of the object in one photo and various details (such as flowers or fruit) in the other photos works best.
  • Include GPS coordinates (latitude and longitude) and time (datetime), see for example the Plant.id documentation.

Do you have specific needs? We are flexible: we can build a specific model explicitly focused on your use case - for example, Mediterranean crops, Canadian weeds, or European trees. If you have your own data set, we can even use it to improve the model.

How to increase identification speed?

Identification Speed (overall duration) includes:

  • Identification Time (usually 200-400 ms): this is how long it takes to process the identification using 1-3 photos.
  • Transaction Delay (100 ms and more): this is the time it takes for input data to be sent to us and for a response to be sent back to you.

How to Minimize Identification Time

  • Resize Photo Dimensions: Ensure that the longer side of the photo is approximately 800px. If the subject in the photo is too small, allow users to zoom in on it and crop out the rest before sending the photo for identification. If your photos are too large, we need to spend extra (milli)seconds reducing their size.
  • Adhere to SLA Limits: Ensure you do not exceed the Service Level Agreement (SLA) limits. Exceeding these limits can cause your identifications to be queued, although this is rare unless multiple requests are sent per second.

How to Minimize Transaction Delays

  • Optimize Connection Quality: Although transaction delay is largely out of our control, you can ensure that the connection from your client to our server is fast and stable.
  • Proximity to Data Center: Ensure you are not too far from our data center in Central Europe. Visit our status page to see how distance affects transaction delay.
  • Session Reuse: If you are located far from our data center, consider using your backend to reuse HTTP sessions. This can reduce transaction delay by approximately 50%. Refer to our Python example for details on this mechanism.
  • Dedicated Backend Option: For a fee, we can establish a dedicated backend in your region, potentially reducing the transaction delay to around 100 ms, you can contact us on business@kindwise.com for such an option.

What size of photos is best?

Providing suitable image size is essential for obtaining maximum from our APIs. Too low resolution can harm model accuracy; too high resolution increases response time. Optimal resolution is between 1MP and 2MP (megapixels).

The identification models do not always use the full resolution of the image. The exact resolution that is used can vary between different systems (e.g. plant and insect identification) and between different versions of a model.

Therefore, large images will only slow down image processing and overall API response time and will not benefit model accuracy. Images should never be larger than 2MP (e.g. 2000×1000 or ~1600×1250). There is also no response time guarantee for large images in our SLAs.

What are the Suggestion filters

Suggestion filters allow you to select specific classes from our database based on pre-defined criteria. This selection is applied to the model output. As a result, other classes are not displayed and the confidence percentages are recalculated.

This feature enables you to select particular species, such as trees, house plants, vegetables or wild plants in North America. You can also combine different lists by using logical operators AND (classes in both lists) and OR (classes at least in one list), and brackets. The result is a response adapted to your use case, with increased accuracy and higher confidence of the model.

Some categories, especially Houseplant, Ornamental garden plant, Weedy plant and Culinary herb, are rather fuzzy. For example, the common ragweed (Ambrosia artemisiifolia) is considered a noxious weed in temperate regions but not in the tropics. We wanted to reflect the prevailing view in the northern hemisphere, where most of our customers are located.

How are genera (e.g. Ambrosia) handled? If any species is included in a particular Suggestion filter if, then the genera are also included. For example, even though only some Ambrosia species are considered weeds, the genus is included in the Weedy plant Suggestion filter.

This feature is currently available only for Plant.id. See the documentation here. You can find all the Suggestion filters here.

API integration

Do you have API documentation available?

Yes, we do:

Compatibility is ensured by the widely adopted REST API https-based protocol. Easy integration is allowed by the Postman tool which generates client code examples in 30+ programming languages.

Do you have a demo? How can I test the features?

We do have a demo version available for all of our products:

You can register there and test the identification process, without actually creating and implementing the API key to your project. Each demo has 10 identifications per month.

The results will show only some of the details that you can receive during the identification process. You can specify the particular details in the API call.

Are there SDKs or libraries for my development?

We have Python SDK to help integrate our products: plant, insect, and mushroom identification.

How is access to the API authenticated and authorized?

Access is authenticated by a unique API key created in the admin panel after registration. A separate API key is required for each of our products, but multiple API keys can be created for each product.

Can I use a single API key across all your products?

You will need a separate API key for each of our products (Plant.id, Insect.id and Mushroom.id, crop.health). However, you can use both Plant.id Species Identification and Health Assessment with a single API key.

How are updates and changes to the API communicated?

We strive to keep the changes to a necessary minimum. Critical changes are communicated through email. Minor changes, such as new attributes or features, are communicated via a newsletter or blog post.

Is there an Admin panel for the management of my API keys?

Yes, we do have an intuitive dashboard where you can manage your API keys, purchase credits, monitor your traffic, or even display individual identification.

Are there any limitations on API requests?

There are no limits or caps on the number of API requests. Our solution is robust enough to handle high volumes of requests, and scalable if required. This is done via an increased number of workers and the tier of our database, which is a matter of minutes.

However, our guarantees of minimum API availability and maximum time to process an identification request are subject to certain conditions. In fact, the API will still work, it may just be slower. Details are set out in our SLA.

What latency times can be expected?

The average transaction delay from Europe is ~150ms and the average identification takes ~350ms. So usually the overall latency is around 0.5 second. Details about transaction delays from different locations can be found at our status page.

Check also: How to increase identification speed?

What guarantees are provided regarding API availability and uptime?

If the SLA is met, we guarantee the following:

  • API availability is more than 99.5%
  • Maximum time for processing one identification request is three seconds
  • Identification answer availability: at least 3 months from submission of the request
How are data protected during transmission and storage?

We enforce the use of https (TLS) for both API communication and Admin Panel usage. The client is authorized by a secret token unique to each API key.

For photos, we use Google Cloud Storage. For relational data, we use managed database on DigitalOcean.

Access to both of the services is limited to dedicated ops personnel and authorized clients, IAM policy is enforced and server-side encryption is enforced.

Please be aware that the communication from the mobile app can be intercepted by the attacker who is running the app. That is why we don't recommend call kindwise backend directly from the app to avoid API key being compromised.

How to keep the API key secure?

Here are some critical guidelines on how to securely manage your API key:

  1. Encrypted Storage: Never hardcode your API key directly into your application without implementing robust encryption mechanisms. Storing keys in plain text can lead to easy exposure through reverse engineering or unauthorized access.
  2. Avoid Direct Server Calls from the App: Making server calls directly from client-side applications, such as mobile apps, can be risky. Attackers could potentially install your application on their devices, bypass SSL by accepting a rogue certificate, and intercept communications—including HTTPS encrypted data—to steal the API key. This attack vector is very simple.
  3. Use Your Own Backend as a Proxy: We strongly recommend that all API calls be made through your own backend server rather than directly from client devices. This approach not only secures the API key from direct exposure but also offers performance benefits, see How to increase identification speed?

If you need to avoid having your own backend as a proxy, check out our experimental alternative authentication methods.

Do you allow alternative authentication methods?

Yes, we do offer alternative authentication method that enhances security and provides a robust defense against potential security breaches, such as man-in-the-middle attacks. This experimental method employs HMAC (Hash-Based Message Authentication Code) with SHA256 to securely sign the requests. Here's a brief overview of how it works:

  1. Dual Token System: For enhanced security, we provide each API key entity with two new tokens—a 'key' and a 'secret'. The 'key' functions similarly to the traditional API key, while the 'secret' is used to generate a secure hash and should be kept confidential.
  2. Secure Request Signing: Each API request must include the following headers:
    • Api-Key: Contains the new 'key'.
    • Hmac-Message: This is a UNIX timestamp to verify the timeliness of the request.
    • Hmac-Hash: A HMAC SHA256 hash of the 'secret' and the timestamp (Hmac-Message), ensuring that the request could only have come from the holder of the 'secret'.

This method ensures that even if the 'key' is intercepted, without the 'secret' the information remains secure. It is especially effective against interception and unauthorized request modifications, making it suitable even for systems without their own backend, provided that the new keys are securely encrypted within the application.

If you are interested in using this authentication method, please let us know at business@kindwise.com for further details and integration guidance. This method offers a relatively secure way to protect your communications and data integrity.

Product-related questions

Can I get images similar to the ones I submitted?

Our API offers a unique feature: along with the identification result, it displays similar-looking images to the submitted photo(s). These images are dynamically selected based on their similarity to the photos uploaded by the end user. This allows the customer to easily compare and verify the suggested identification. This feature has been shown to significantly improve user satisfaction. Watch the video tutorial.

The feature can be used by the similar_images parameter.

Let us illustrate on dandelion:

There are three different identifications of three different photographs of a dandelion. The first shows a fluffy ball of seeds, the second a plant in full bloom, and the third a rosette of leaves. You are welcome to use our images in your application, we provide you with a licence to do so. 

Can I get a list of all the classes that you can identify?

Full lists are considered our trade secrets. We do not provide them publicly, but only in response to well-founded requests and after the signing of an NDA.

What is the license of the content you provide?

In general, we provide our clients with content that is mostly in the public domain. The only exception is similar images that are owned by us. 70% of these images are subject to a license described in our T&C. The remaining 30% are images under the CC-BY license, which requires that the author’s name and license name be included with the image. Sometimes the license doesn’t allow any kind of remixing (indicated by the SA element).

We have made sure that all content can be used for commercial purposes. Details of the license can be found in our terms and conditions.

We are currently working with no more than these licenses:

By clicking “Accept All Cookies”, you agree to the storing of cookies on your device to enhance site navigation, analyze site usage, and assist in our marketing efforts. View our Privacy Policy for more information.