Nodaro ドキュメント
ドキュメントノードリファレンスモデルAI エージェント(MCP)開発者向けセルフホスティングリサーチ
REST API

キャラクター学習

REST API でキャラクターの高精度モデルを学習させ、学習の状況をポーリングし、モデルを削除します。画像生成ノードが学習済みモデルを使う条件も説明します。

Nodaro Cloud で利用できます

キャラクター学習は、1 人のキャラクターの画像から、そのキャラクター専用のモデルを作ります。画像生成(Generate Image)で、最も高い再現度を得るためのものです。1 回の呼び出しで学習を開始し、終わるまでポーリングして、不要になったらモデルを削除します。学習後は、プロンプトがそのキャラクターをメンションするたびに、画像生成ノードが自動で学習済みモデルを使います。

キャラクター学習は Nodaro Cloud でのみ実行できます。セルフホスティング環境にはこれらのルートがなく、404 が返されます。セルフホスティング環境では、キャラクターで説明しているとおり、承認済みのポートレートとリファレンス画像で、キャラクターの一貫性を保ってください。これらのルートはベアラートークンを受け付け、あなた自身のキャラクターだけを操作します。認証を参照してください。

エンドポイント

メソッドパス内容
POST/v1/characters/:id/train学習を開始します。1,500 クレジットを確保します。
GET/v1/characters/:id/training学習のステータスを取得します。
DELETE/v1/characters/:id/lora進行中の学習をキャンセルするか、学習済みモデルを削除します。

学習の前に

キャラクターには、4 枚以上の異なる画像が必要です。Nodaro は、次の順序でキャラクターから画像を集め、重複を除いて、最大 20 枚で学習します。

  1. 承認済みのポートレート。
  2. リファレンス写真。
  3. 表情、ポーズ、頭部のアングル、全身のアングル。
  4. ライティングのバリエーション。

キャラクターシートは、そのビューがアングルと重複するため、数に含まれません。キャラクターの画像が 4 枚未満の場合は、先に POST /v1/generate-character-asset で、いくつかのアングルと表情を生成してください。キャラクターを参照してください。

学習を開始する

POST /v1/characters/:id/train は、1,500 クレジットを確保して学習を開始します。レスポンスは 202 で、学習のジョブ ID、学習の ID、キャラクターのトリガーワードが返されます。トリガーワードを入力する必要はありません。Nodaro がプロンプトに自動で追加します。

curl -X POST https://app.nodaro.ai/v1/characters/3f6c2a9e-8d41-4b7a-9c35-1e2f7a6b0d94/train \
  -H "Authorization: Bearer $NODARO_API_KEY"
import { createClient, StaticTokenAuth } from '@nodaro/sdk'

const client = createClient({
  baseUrl: 'https://app.nodaro.ai',
  auth: new StaticTokenAuth(process.env.NODARO_API_KEY!),
})

// The SDK has no training methods yet; its generic request method calls the route.
const training = await client.request('POST', `/v1/characters/${characterId}/train`)
{
  "jobId": "7a9c1e3b-5d2f-4b8a-9c6e-1f3d5b7a9c2e",
  "trainingId": "q4m8x2k6p1",
  "triggerWord": "TOK_kira_a1b2c3"
}

ダブルクリックしても問題ありません。学習がキュー待ちか実行中の間に、もう一度開始しようとすると 409 already_training_or_not_found が返され、何も確保されません。各トークンが開始できる学習は、1 分あたり 3 回までです。

学習の状況を確認する

GET /v1/characters/:id/training は、学習の状態を返します。学習には約 15 分かかります。数秒ごとにポーリングしてください。エディターは、8 秒ごとにポーリングしています。

curl https://app.nodaro.ai/v1/characters/3f6c2a9e-8d41-4b7a-9c35-1e2f7a6b0d94/training \
  -H "Authorization: Bearer $NODARO_API_KEY"
type Training = { status: string; error: string | null; triggerWord: string | null }

const path = `/v1/characters/${characterId}/training`
let state = await client.request<Training>('GET', path)
while (state.status === 'queued' || state.status === 'training') {
  await new Promise((resolve) => setTimeout(resolve, 8000))
  state = await client.request<Training>('GET', path)
}
{
  "status": "succeeded",
  "trainingId": "q4m8x2k6p1",
  "error": null,
  "trainedAt": "2026-09-20T11:42:08Z",
  "version": "b81f4c0e9d27",
  "triggerWord": "TOK_kira_a1b2c3",
  "imageCount": 12
}
フィールド内容
statusuntrained、queued、training、succeeded、failed、cancelled のいずれかです。
trainingId現在または直近の学習です。なければ null です。
error学習が失敗した理由です。なければ null です。
trainedAtモデルの学習が完了した日時です。なければ null です。
version学習済みモデルのバージョンです。なければ null です。
triggerWord学習済みモデルでキャラクターを呼び出す単語です。なければ null です。
imageCountモデルの学習に使った画像の枚数です。なければ null です。

学習済みモデルで画像を生成する

ステータスが succeeded になったら、学習済みのキャラクターを @ でちょうど 1 人メンションするプロンプトで、画像生成を実行します。そのキャラクターは、ノードに接続しておきます。すると Nodaro は、選択したモデルとリファレンス画像の代わりに、学習済みモデルを使います。

  • 自動で処理されます:トリガーワードはプロンプトの先頭に自動で入り、@ メンションはテキストから削除されます。
  • 画像 1 枚あたり 20 クレジット:選択したモデルの料金の代わりに、学習済みモデルの料金がかかります。
  • 学習済みのキャラクターは一度に 1 人:プロンプトが学習済みのキャラクターを 2 人以上メンションしている場合、画像生成ノードは、選択したモデルをリファレンス画像とともに使う方式に戻ります。
  • 画像生成ノードのみ:画像修正(Modify Image)や動画ノードなど、ほかのノードは、引き続きキャラクターのリファレンス画像を使います。

画像生成のリクエストについては 1 つのノードを実行するを、エディターでの同じ機能についてはキャラクター学習を参照してください。

再学習またはモデルの削除

  • 再学習:学習が成功、失敗、キャンセルのいずれかで終わった後なら、いつでも学習をもう一度開始できます。毎回 1,500 クレジットかかり、以前のモデルは置き換えられます。
  • 削除:DELETE /v1/characters/:id/lora は、進行中の学習をキャンセルしてそのクレジットを返還し、学習済みモデルを削除して、キャラクターの学習関連のフィールドをクリアします。{ ok: true } を返します。以降の生成は、リファレンス画像を使う方式に戻ります。
  • キャラクターのアーカイブ:キャラクターをアーカイブした場合も、進行中の学習がキャンセルされてクレジットが返還され、学習済みモデルが削除されます。
curl -X DELETE https://app.nodaro.ai/v1/characters/3f6c2a9e-8d41-4b7a-9c35-1e2f7a6b0d94/lora \
  -H "Authorization: Bearer $NODARO_API_KEY"

クレジット

操作クレジット
学習1,500。学習が失敗した場合やキャンセルされた場合は返還されます。
再学習毎回 1,500。
学習済みモデルで作る画像選択したモデルの料金の代わりに、1 枚あたり 20。

残高と取引履歴については、クレジットを参照してください。

エラー

ステータスコード意味
400insufficient_training_imagesキャラクターの異なる画像が 4 枚未満です。アングルや表情を追加してから、もう一度試してください。
401unauthorizedトークンがないか、無効か、取り消されています。
402insufficient_creditsアカウントの残高が、1,500 クレジットに足りません。
404not_foundあなたが所有するキャラクターの中に該当するものがないか、インスタンスが Nodaro Cloud ではありません。
409already_training_or_not_foundこのキャラクターの学習がすでにキュー待ちか実行中であるか、キャラクターがあなたのものではありません。
429—このトークンから、1 分間に 3 回を超えて学習を開始しようとしました。
502training_dispatch_failed学習サービスがリクエストを拒否しました。クレジットは返還されます。
503public_url_not_configured, webhook_not_configuredこのインスタンスでは、学習が設定されていません。

よくある質問

最終更新

目次