Spaces:
Runtime error
Runtime error
| import os | |
| import requests | |
| from dotenv import load_dotenv | |
| load_dotenv() | |
| def caption_from_url(image_url): | |
| """ | |
| Generates a caption for an image using the Azure Computer Vision API. | |
| Parameters: | |
| image_url (str): The URL of the image for which a caption should be generated. | |
| Returns: | |
| str: The generated caption for the image. | |
| Raises: | |
| requests.exceptions.HTTPError: If the request to the Azure API fails. | |
| """ | |
| subscription_key = os.getenv('AZURE_SUBSCRIPTION_KEY') | |
| endpoint = 'https://icmvp.cognitiveservices.azure.com/' | |
| analyze_url = endpoint + "computervision/imageanalysis:analyze?api-version=2023-10-01" | |
| headers = { | |
| "Content-Type": "application/json", | |
| 'Ocp-Apim-Subscription-Key': subscription_key | |
| } | |
| params = { | |
| 'features': 'caption' | |
| } | |
| data = {'url': image_url} | |
| response = requests.post(analyze_url, headers=headers, params=params, json=data) | |
| response.raise_for_status() | |
| analysis = response.json() | |
| # Extract the description from the returned JSON | |
| description = analysis['captionResult']['text'] | |
| return description | |