skylab/studio

此包的最新版本(0.0.2)没有提供许可信息。

studio.skylabtech.ai PHP客户端

0.0.2 2024-04-25 20:18 UTC

This package is auto-updated.

Last update: 2024-10-01 00:09:26 UTC


README

studio.skylabtech.ai

安装

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密钥正确
  • 记录并检查响应正文