Overview
ViscribeAI provides a RESTful API for analyzing images using advanced AI models. All endpoints are authenticated and return structured JSON responses.Base URL
All API requests should be made to:/v1. For example:
- Image endpoints:
/v1/images/describe,/v1/images/extract, etc. - User endpoints:
/v1/credits,/v1/feedback
Authentication
All API endpoints require authentication using theVISCRIBE-APIKEY header. This header must be included in every request:
Endpoints
ViscribeAI offers five main image analysis endpoints:Describe Image
Generate detailed textual descriptions of images with optional tags and SEO optimization.
Extract Data
Extract structured data from receipts, invoices, forms, and documents.
Classify Image
Classify images into predefined categories with zero-shot learning support.
Ask Question
Ask specific questions about image content for detailed visual analysis.
Compare Images
Compare two images side-by-side to identify similarities and differences.
User Endpoints
Get Credits
Check your remaining credits and total usage.
Submit Feedback
Provide feedback on API responses to help improve the service.
Request Format
All requests (GET and POST) must include:VISCRIBE-APIKEY: YOUR_API_KEYheader (required for all endpoints)Content-Type: application/jsonheader (required for POST requests)- JSON body with required parameters (for POST requests)
Response Format
All successful responses return JSON with the following structure:Error Handling
The API uses standard HTTP status codes:200- Success400- Bad Request (invalid parameters)401- Unauthorized (invalid or missing API key)402- Payment Required (insufficient credits)422- Unprocessable Entity (validation errors)500- Internal Server Error
Rate Limits
Rate limits vary by subscription plan:- Free Trial: 5 requests per minute
- Starter: 10 requests per minute
- Growth: 30 requests per minute
- Pro: 100 requests per minute
X-RateLimit-Limit: Maximum requests per minuteX-RateLimit-Remaining: Remaining requests in current windowX-RateLimit-Reset: Unix timestamp when the limit resets
Credits
Each API call consumes credits based on the endpoint:- Describe: 1 credit
- Extract: 1 credit
- Classify: 1 credit
- Ask: 1 credit
- Compare: 2 credits (counts as 2 images)
Image Input
You can provide images in two ways:-
Image URL: Provide a publicly accessible URL
-
Base64 Encoding: Encode your image as base64 (with data URI prefix)
You must provide either
image_url or image_base64, not both. For the Compare endpoint, you can mix and match (e.g., image1_url with image2_base64).data:image/{format};base64,{base64_encoded_data}
For example:
- JPEG:
data:image/jpeg;base64,/9j/4AAQSkZJRg... - PNG:
data:image/png;base64,iVBORw0KGgoAAAANSUhEUg... - WebP:
data:image/webp;base64,UklGRiQAAABXRUJQVlA4...
SDKs
Official SDKs are available to simplify integration: For detailed SDK documentation and examples, see the SDK Guide.OpenAPI Specification
FastAPI automatically generates an OpenAPI specification for all endpoints. You can access it at:- OpenAPI JSON:
https://api.viscribe.ai/openapi.json - Interactive Docs:
https://api.viscribe.ai/docs(Swagger UI) - ReDoc:
https://api.viscribe.ai/redoc