A pretrained roof shingles classifier that sorts an image into one of 3 categories — what type of roof shingle it is. Use the roof shingles API immediately, no training required, then adapt it to your own data when you need more.
Drop in a photo and get the prediction back. No signup, no setup.
A sample of the 15 labels this pretrained classifier chooses between.
Need a label that isn't here? Clone the classifier into your Nyckel console and edit the label set to fit your data.
Get your own copy of this classifier behind your own endpoint — callable from any HTTP client:
curl -X POST "https://www.nyckel.com/v1/functions/YOUR_FUNCTION_ID/invoke" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"data": "https://example.com/photo.jpg"}'
import requests
response = requests.post(
"https://www.nyckel.com/v1/functions/YOUR_FUNCTION_ID/invoke",
headers={"Authorization": "Bearer YOUR_ACCESS_TOKEN"},
json={"data": "https://example.com/photo.jpg"},
)
print(response.json())
const response = await fetch("https://www.nyckel.com/v1/functions/YOUR_FUNCTION_ID/invoke", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_ACCESS_TOKEN",
"Content-Type": "application/json",
},
body: JSON.stringify({ data: "https://example.com/photo.jpg" }),
});
console.log(await response.json());
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://www.nyckel.com/v1/functions/YOUR_FUNCTION_ID/invoke');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"data": "https://example.com/photo.jpg"}');
$headers = array();
$headers[] = 'Authorization: Bearer YOUR_ACCESS_TOKEN';
$headers[] = 'Content-Type: application/json';
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$result = curl_exec($ch);
curl_close($ch);
echo $result;
Example response
{
"labelName": "Asphalt shingles",
"labelId": "label_...",
"confidence": 0.92
}
Trained on a Nyckel-curated dataset covering 3 roof shingles categories, served on Nyckel's own infrastructure — your image stays on Nyckel.
Send an image URL or file to the invoke endpoint; the response is a label with a confidence score.
Clone it, then correct predictions and add your own samples in the console — Nyckel retrains automatically, turning this into a custom model tuned to your data.
This function can be utilized by roofing companies to automate the inspection process of roof shingles. By analyzing images of roofs, the system can quickly classify the type of shingles, allowing inspectors to focus on specific areas that may need repairs, thus enhancing efficiency and reducing manual labor.
Insurance companies can leverage this image classification to accurately assess claims related to roof damage. By classifying the type of shingles, insurers can determine coverage eligibility and expedite the claims process, improving customer satisfaction.
Real estate appraisal firms can employ this function to assess the quality and type of roofing in residential properties. An accurate classification can help in determining property value and informing potential buyers about maintenance needs.
Construction companies can use this function to manage their material inventory by identifying the types of shingles currently available. This helps in planning future projects by ensuring that the correct materials are ordered and on hand for roofing jobs.
Home improvement platforms can provide homeowners with tailored recommendations based on the type of roof shingles detected in their homes. This classification can guide them in making informed decisions about repairs or upgrades, enhancing user experience on the platform.
Environmental agencies can use this function to classify roofing materials across different regions. This data can aid in understanding the environmental impact of various roofing types and guide policies aimed at promoting sustainable building practices.
The function can assist underwriters in creating risk profiles based on the type of roofing material used in insured properties. By analyzing roof shingles type, insurance providers can better assess risk levels and set appropriate premiums for homeowners.
A zero-shot classifier uses a large foundation model's general knowledge to pick between your labels — no task-specific training, so new or edited labels work immediately. A Nyckel-trained classifier has been trained on labeled examples and runs on Nyckel's own infrastructure, which typically makes it faster, cheaper per call, and more accurate on data that resembles its training set. The "Under the hood" section on this page shows which kind this classifier is, and any classifier can be adapted into a trained one by adding your own examples.
Honestly: we can't know in advance — it depends on your data stream and how closely it resembles what this classifier has seen. The reliable way to find out is to measure it on your own data: start invoking the classifier with real traffic, or upload and annotate a set of images in the console — make sure they look like your production data, not idealized examples. Nyckel's evaluation metrics then show you exactly how it performs on that data before you rely on it.
No classifier is perfect, so Nyckel is built around the correction loop: invokes can be captured for review, you confirm or correct predictions in the console, and corrections become training data. Over time the model adapts to your data distribution — accuracy on your traffic improves with use rather than staying fixed.
No. This roof shingles classifier works out of the box — clone it into your console and you'll have your own API endpoint in under a minute. Training data only enters the picture when you want to adapt it: your corrected predictions and uploaded samples improve the model, and you can also edit the label set to match your needs.
Trying the classifier on this page is free with no signup. Cloning it requires a free account, and the free tier covers your first API calls each month — see nyckel.com/pricing for current limits and paid tiers.
Add this pretrained classifier to your Nyckel console — you'll get a live API endpoint in under a minute, and a path to a custom model when you need one.