生成タスクの作成
このドキュメントを読むことで、SDKを使用せずにタスクを作成・生成する方法を学ぶことができます。
GraphQLを理解しよう
PixAIプラットフォームのAPIはGraphQLで構成されています。GraphQLはAPIのためのクエリ言語であり、既存のデータを使ってクエリを実行するためのランタイムです。
WGraphQLを使えば、特別に気にする必要がある部分だけに集中することができる。
APIエンドポイント
TAPIエンドポイントはhttps://api.pixai.art/graphql
。このエンドポイントにGraphQLクエリでPOSTリクエストを送信できます。
また、サブスクリプション用にWebSocketを対応しています。リアルタイムでタスクの更新をサブスクリプトすることができます。WebSocketのエンドポイントはwss://gw.pixai.art/graphql
.
生成タスクの作成
生成タスクを作成するには、Mutation.createGenerationTask
ミューテーションにアクセスしてパラメータを渡す必要があります。指定するパラメータは”parameters”だけ。このパラメータで対応するフィールドの数が多く、頻繁に変更されるため、GraphQLの型を定義していません。代わりにJSONオブジェクトを使います。詳細なパラメータリストについては、ドキュメントのタスクパラメーターを参照してください。
mutation createGenerationTask($parameters: JSONObject!) { createGenerationTask(parameters: $parameters) { id }}
ほとんどのパラメータは必須ではありません。単に prompts
パラメータを埋めるだけで、すぐに始められます。
{ "parameters": { "prompts": "1girl" }}
タスクの完了を待つ
生成タスクを作成したら、Query.task
を通してGraphQLからタスクを呼び出すことができます。
query getTaskById($id: String!) { task(id: $id) { id status outputs }}
Task
オブジェクトのstatus
フィールドはタスクのステータスである。outputs
フィールドはタスクの出力結果である。status
フィールドを確認することで、タスクが完了したかどうかを判断することができる。タスクが完了した場合、status
フィールドはcompleted
になります。次にoutputs
フィールドにアクセスして、タスクの出力結果を得られます。最も単純な方法は、タスクのステータスをポーリングして生成が完了するのを待つことである。
しかし、WebSocketに基づくGraphQLサブスクリプションを使用することもできます。
subscription subscribeMyTaskUpdated { personalEvents { taskUpdated { id outputs status } }}
こうすることで、ほぼリアルタイムでタスク完了を知ることができます。
次のステップ
タスクが完了したら、次のドキュメントを参照して、生成された画像をダウンロードすることができます。