skylab / studio
此包的最新版本(0.0.2)没有提供许可信息。
studio.skylabtech.ai PHP客户端
0.0.2
2024-04-25 20:18 UTC
Requires
- guzzlehttp/guzzle: ^7.0
- jcupitt/vips: 2.3.0
Requires (Dev)
- phpunit/phpunit: ^11.0
README
安装
composer require skylab/studio
示例用法
确保在composer.json
中正确配置了自动加载
{ "autoload": { "psr-4": { "Skylab\\Studio\\": "src/" } } }
require './vendor/autoload.php'; use Skylab\Studio\SkylabStudio; $api = new SkylabStudio('your-api-key'); // CREATE PROFILE $profilePayload = [ 'name' => 'profile name', 'enable_crop' => false, 'enable_retouch' => true ]; $profile = $api->createProfile($profilePayload); // CREATE JOB $jobPayload = [ 'name' => 'job name', 'profile_id' => $profile['id'] ]; $job = $api->createJob($jobPayload); // UPLOAD JOB PHOTO(S) $filePath = '/path/to/photo'; $api->uploadJobPhoto($filePath, $job['id']); // QUEUE JOB $payload = [ 'callback_url' => 'YOUR_CALLBACK_ENDPOINT' ]; $api->queueJob($job['id'], $payload); // NOTE: Once the job is queued, it will transition to processed and then completed // We will send a response to the specified callback_url with the output photo download urls
工作
列出所有工作
列出最后30个工作。
$api->listJobs();
创建工作
$payload = [ 'name' => 'your unique job name', 'profile_id' => 123 ] $api->createJob($payload);
有关所有有效负载选项,请参阅API文档。
获取工作
$api->getJob($jobId);
按名称获取工作
$api->getJobByName($name);
更新工作
$payload = [ 'name' => 'your updated job name', 'profile_id' => 123 ] $api->updateJob($jobId, $payload);
有关所有有效负载选项,请参阅API文档。
排队工作
$payload = [ 'callback_url' => 'YOUR_CALLBACK_ENDPOINT' ] $api->queueJob($jobId, $payload);
前方工作
$api->getJobsInFront($jobId);
删除工作
$api->deleteJob($jobId);
取消工作
$api->cancelJob($jobId);
配置文件
列出所有配置文件
$api->listProfiles();
创建配置文件
$api->createProfile([ 'name' => 'My Profile' ]);
有关所有有效负载选项,请参阅API文档。
获取配置文件
$api->getProfile($profileId);
更新配置文件
$payload = [ 'name' => 'My updated profile name', ]; $api->updateProfile($profileId, $payload);
有关所有有效负载选项,请参阅API文档。
照片
上传工作照片
此函数处理验证照片、创建照片对象并将其上传到您的作业/配置文件的s3存储桶。如果存储桶上传过程失败,它会重试3次;如果持续失败,则会删除照片对象。
$api->uploadJobPhoto($photoPath, $jobId);
返回:{ photo: { photoObject }, uploadResponse: bucketUploadResponseStatus }
如果上传失败,我们会为您删除照片对象。如果上传成功,后来您决定不再包含该图像,请使用delete_photo删除它。
获取照片
$api->getPhoto($photoId);
删除照片
$api->deletePhoto($photoId);
故障排除
一般故障排除
- 启用调试模式
- 捕获响应数据并检查您的日志 - 通常这会有确切错误
启用调试模式
调试模式会打印出底层请求信息以及发送到Skylab的数据有效负载。您很可能会在日志中找到这些信息。要启用它,只需在实例化API对象时将参数设置为true
即可。
$api = new SkylabStudio("your-api-key", true);
响应范围
SkylabTech的API通常将这些范围内的响应发回
- 2xx – 成功请求
- 4xx – 失败请求(客户端错误)
- 5xx – 失败请求(服务器错误)
如果您收到400响应范围内的错误,请执行以下步骤
- 请仔细检查传递给Skylab的数据和ID
- 确保您的API密钥正确
- 记录并检查响应正文