apyhub
Back
▣ ARTIFICIAL INTELLIGENCE · IMAGE PROCESSING

AI Image Brand/Logo Detection API

Hosted on ApyHub

What it does

Logo Brand Detector identifies logos and brand marks from an uploaded image or an image URL. Send a file to /file or provide a URL to /url, and the response includes detection results from the requested vision service: azure, google, or apyhub.

Use it when you need to recognise brand assets in product photos, screenshots, ads, or user-generated content. The file endpoint accepts a binary file and optional provider credentials such as azure_key, google_key, azure_region, azure_endpoint, azure_account_id, azure_access_token, and requested_service. The URL endpoint accepts a url, optional azure and google credential objects, and requested_service.

The response is a data object with provider-specific results under azure, apyhub, and google. That makes it straightforward to compare outputs across providers or standardise a single detection workflow in your app.

If you are building moderation, asset tagging, competitor monitoring, or e-commerce catalogue tooling, this endpoint gives you a direct way to detect brand presence from images without adding your own computer vision pipeline.

Provider (requested_service)Atoms
Azure500
Google500
ApyHub2000
▣ ENDPOINT 01 / 02
POST
Detect logos and brands (file upload)
https://api.eu.apyhub.com/apyhub/detect-logos-and-brands/file

QUICKSTART

GUIDE

Quickstart

Upload an image file to detect logos and brands.

curl -X POST "https://api.eu.apyhub.com/apyhub/detect-logos-and-brands/file" \
  -H "apy-token: $APY_TOKEN" \
  -F "file=@/path/to/image.jpg"

What you'll get back

Returns a JSON object with a data object field. Inside data, the response may include azure, apyhub, and google objects, depending on the detector used.

{
  "data": {
    "azure": {},
    "apyhub": {},
    "google": {}
  }
}
TRY ITLIVE · 500 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.
Max 100MB total per request (all files combined). Larger? Use this API's URL-based endpoint instead, if it has one.
body*

About this endpoint

What it does

Uploads a file and runs logo/brand detection against the selected service. The response returns a JSON object containing a data object with provider-specific result objects for azure, apyhub, and google.

Request Body

ParameterTypeDescription
fileBinaryBinary file upload.
azure_keyStringAzure key value.
google_keyStringGoogle key value.
azure_regionStringAzure region.
azure_endpointStringAzure endpoint URL.
azure_account_idStringAzure account ID.
requested_serviceENUMWhich service to use: azure, google, or apyhub. Default: apyhub.
azure_access_tokenStringAzure access token.

Response

Returns a JSON object with a data object field. Inside data, the schema declares three provider result objects: azure, apyhub, and google. The endpoint's exact success status code is not declared in the schema.

AttributeTypeDescription
dataObjectContainer for provider-specific detection results.
data.azureObjectResponse object from Microsoft Azure Computer Vision.
data.apyhubObjectResponse object from ApyHub Vision detector.
data.googleObjectResponse object from Google Cloud Vision.

Max 100MB total per request (all files combined). Larger? Use this API's URL-based endpoint instead, if it has one.

▣ ENDPOINT 02 / 02
POST
Detect logos and brands (URL input)
https://api.eu.apyhub.com/apyhub/detect-logos-and-brands/url

QUICKSTART

GUIDE

Quickstart

Send an image URL to detect brands and logos in it.

curl -X POST "https://api.eu.apyhub.com/apyhub/detect-logos-and-brands/url" \
  -H "apy-token: $APY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://assets.apyhub.com/samples/sample.png","requested_service":"apyhub"}'

What you'll get back

Returns a JSON object with a top-level data object. That data object may contain azure, apyhub, and google response objects, depending on the service used.

{
  "data": {
    "azure": {},
    "apyhub": {},
    "google": {}
  }
}
TRY ITLIVE · 500 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.
body*
azure
Custom credentials for Azure services.
Azure subscription key.
Azure service region.
Azure endpoint URL.
google
Custom credentials for Google services.
google_credential_json

About this endpoint

What it does

Detects logos and brands from an image URL. The request sends the image url and, if needed, service-specific credentials or provider selection; the response returns a JSON object with a data object containing provider-specific result objects.

Request Body

ParameterTypeDescription
urlStringImage URL to analyze. Must be a valid URI.
azureObjectCustom credentials for Azure services.
azure.keyStringAzure subscription key.
azure.regionStringAzure service region.
azure.endpointStringAzure endpoint URL.
azure.account_idStringAzure account ID.
azure.access_tokenStringOAuth access token for Azure service.
googleObjectCustom credentials for Google services.
google.google_languageStringTarget language locale.
google.google_credential_jsonObjectGoogle service account credential JSON. See schema for nested fields.
requested_serviceENUMService to use for detection. Allowed values: azure, google, apyhub. Default: apyhub.

Response

Returns a JSON object with a data object field. The data object can contain provider-specific result objects for azure, apyhub, and google.

AttributeTypeDescription
dataObjectContainer for provider-specific response objects.
data.azureObjectResponse object from Microsoft Azure Computer Vision.
data.apyhubObjectResponse object from ApyHub Vision detector.
data.googleObjectResponse object from Google Cloud Vision.
▣ COMMON ERRORS

Errors any endpoint can return

400bad_request

Required parameter missing or malformed body.

401unauthorized

API key missing, revoked, or not authorized for this service.

429rate_limited

Your plan's per-second rate exceeded. Retry with exponential backoff.

503upstream_busy

Backend temporarily unavailable. Try again in a few seconds.