0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

高火力 DOKをJavaScriptから操作するためのSDK(野良)を開発しています

Last updated at Posted at 2025-05-09

高火力 DOKはさくらインターネットの提供するGPUコンテナサービスです。DockerイメージをGPUを使って実行します。

高火力 DOKではAPIが公開されているので、操作しやすくするためのSDKを「野良」で作成し始めました。Pythonでも良いのですが、せっかくなら別言語ということで、JavaScript/TypeScriptで作成しています。

現在はデータ取得系の一部ができた段階ですが、使い方を解説します。

必要な情報

SDKを利用する際には、さくらのクラウドのアクセストークンとシークレットアクセストークンが必要です。どちらもさくらのクラウドのAPIキーの中で作成できます。

インストール

SDKのインストールは npm で行います。

npm install @goofmint/dok-sdk

初期化

先ほど作成したアクセストークンとシークレットアクセストークンで初期化します。

import DOK from '@goofmint/dok-sdk';

const dok = new DOK({
  accessToken: 'your_access_token',
  accessTokenSecret: 'your_access_token_secret',
});

タスクの取得

タスクというのは、DOKの実行単位です。過去に実行したタスクの一覧が取得できます。

const { tasks, meta } = await dok.tasks();

meta はページネーションの情報が入っています。 tasksTask クラスのインスタンスの配列です。

タスクの取得(1件)

特定のタスク情報だけを得る場合には、タスクIDを引数に指定します。

const task = await dok.task(taskId);

アーティファクトの取得

アーティファクトというのは、タスクの実行結果として得られる成果物です。たとえば画像生成した結果の画像だったり、動画などです。

const { artifacts, meta } = await dok.artifacts();

こちらも meta はページネーションデータ、 artifacts はアーティファクトの配列です。

コード

コードはGitHubで公開しています。ライセンスはMIT Licenseです。

@goofmint/dok-js

まとめ

高火力 DOKのAPIでは、タスクの作成やキャンセルなども行えます。Webサービスの中でタスクを作成したり、その完了を監視するようなこともできるでしょう。

高火力 DOK自体はバッチ処理など、非同期処理に向いたサービスになります。都度管理画面をチェックしたりするのは面倒なので、APIを使うのが便利そうです。

高火力 DOK APIドキュメント

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?