- Complete PHP web application for video enhancement using Topaz Labs API - Features include multiple AI models, resolution scaling, and real-time progress tracking - Microsoft authentication integration with secure session management - Comprehensive README with installation and configuration guide - Security-focused .gitignore to protect sensitive configuration 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
52 lines
No EOL
1.5 KiB
PHP
52 lines
No EOL
1.5 KiB
PHP
<?php
|
|
require_once 'config.php';
|
|
require_once 'logger.php';
|
|
require_once 'api_client.php';
|
|
|
|
header('Content-Type: application/json');
|
|
session_start();
|
|
|
|
try {
|
|
$requestId = $_GET['requestId'] ?? null;
|
|
if (!$requestId) {
|
|
throw new Exception('No request ID provided');
|
|
}
|
|
|
|
// Verify the request ID matches the one in session
|
|
if (!isset($_SESSION['current_request_id']) || $_SESSION['current_request_id'] !== $requestId) {
|
|
throw new Exception('Invalid request ID');
|
|
}
|
|
|
|
$apiClient = new TopazApiClient(Config::API_KEY);
|
|
$status = $apiClient->getStatus($requestId);
|
|
|
|
Logger::log("Status check for request $requestId: " . $status['status']);
|
|
|
|
// Handle failed state
|
|
if ($status['status'] === 'failed') {
|
|
$errorMessage = $status['message'] ?? 'Processing failed';
|
|
throw new Exception($errorMessage);
|
|
}
|
|
|
|
// Add more detailed information to the response
|
|
$response = [
|
|
'status' => $status['status'],
|
|
'progress' => $status['progress'] ?? 0,
|
|
'message' => $status['message'] ?? '',
|
|
'outputSize' => $status['outputSize'] ?? '0 KB',
|
|
'averageFps' => $status['averageFps'] ?? 0,
|
|
'download' => $status['download'] ?? null
|
|
];
|
|
|
|
echo json_encode($response);
|
|
|
|
} catch (Exception $e) {
|
|
Logger::log('Error checking status: ' . $e->getMessage(), 'ERROR');
|
|
http_response_code(400);
|
|
echo json_encode([
|
|
'error' => $e->getMessage(),
|
|
'status' => 'failed',
|
|
'progress' => 0
|
|
]);
|
|
}
|
|
?>
|