apyhub
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)
http://localhost:8080/apyhub/detect-logos-and-brands/file
QUICKSTARTGUIDE

Quickstart

Upload an image file to detect logos and brands.

curl -X POST "http://localhost:8080/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

ParameterTypeMandatoryDescription
fileStringYesBinary file upload.
azure_keyStringNoAzure key value.
google_keyStringNoGoogle key value.
azure_regionStringNoAzure region.
azure_endpointStringNoAzure endpoint URL.
azure_account_idStringNoAzure account ID.
requested_serviceENUMNoWhich service to use: azure, google, or apyhub. Default: apyhub.
azure_access_tokenStringNoAzure 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.

AttributeTypeMandatoryDescription
dataObjectNoContainer for provider-specific detection results.
data.azureObjectNoResponse object from Microsoft Azure Computer Vision.
data.apyhubObjectNoResponse object from ApyHub Vision detector.
data.googleObjectNoResponse object from Google Cloud Vision.

Body

Name
Type
Description
bodyREQUIRED
object

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)
http://localhost:8080/apyhub/detect-logos-and-brands/url
QUICKSTARTGUIDE

Quickstart

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

curl -X POST "http://localhost:8080/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.
Azure account ID.
OAuth access token for Azure service.
google
Custom credentials for Google services.
Target language locale.
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

ParameterTypeMandatoryDescription
urlStringYesImage URL to analyze. Must be a valid URI.
azureObjectNoCustom credentials for Azure services.
azure.keyStringNoAzure subscription key.
azure.regionStringNoAzure service region.
azure.endpointStringNoAzure endpoint URL.
azure.account_idStringNoAzure account ID.
azure.access_tokenStringNoOAuth access token for Azure service.
googleObjectNoCustom credentials for Google services.
google.google_languageStringNoTarget language locale.
google.google_credential_jsonObjectNoGoogle service account credential JSON. See schema for nested fields.
requested_serviceENUMNoService 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.

AttributeTypeMandatoryDescription
dataObjectNoContainer for provider-specific response objects.
data.azureObjectNoResponse object from Microsoft Azure Computer Vision.
data.apyhubObjectNoResponse object from ApyHub Vision detector.
data.googleObjectNoResponse object from Google Cloud Vision.

Body

Name
Type
Description
bodyREQUIRED
object
▣ 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.