import requests
from requests.exceptions import RequestException
def safe_upload(filepath):
"""Upload file with error handling"""
url = "https://api.edenai.run/v3/upload"
headers = {"Authorization": "Bearer YOUR_API_KEY"}
try:
with open(filepath, "rb") as f:
files = {"file": f}
response = requests.post(url, headers=headers, files=files)
response.raise_for_status()
result = response.json()
return {
"success": True,
"file_id": result["file_id"],
"filename": result["filename"]
}
except FileNotFoundError:
return {"success": False, "error": "File not found"}
except RequestException as e:
return {"success": False, "error": str(e)}
except Exception as e:
return {"success": False, "error": f"Unexpected error: {str(e)}"}
# Usage
result = safe_upload("document.pdf")
if result["success"]:
print(f"Uploaded: {result['file_id']}")
else:
print(f"Error: {result['error']}")