# 開発者向け

> REST API、TypeScript SDK、CLI を使って Nodaro の上にプロダクトを構築します。API トークンや OAuth で認証し、OpenAPI からクライアントを生成し、MCP で AI エージェントを接続します。

Source: https://nodaro.ai/ja/docs/developers

Nodaro は **REST ファースト**で作られています。Nodaro エディター、TypeScript SDK、CLI はすべて同じ HTTP API と通信するため、Nodaro でできることは何でも、ベアラートークンと JSON リクエストで自動化できます。このセクションでは、その API とそのクライアント、認証の方法、Nodaro を自分のプロダクトに組み込む方法を説明します。AI アシスタントも、[MCP サーバー](https://nodaro.ai/docs/mcp)を通じて同じワークフローとモデルにアクセスします。

## 3 つの入り口
| 入り口 | インストール | 用途 |
| --- | --- | --- |
| [REST API](https://nodaro.ai/docs/developers/api) | 不要：`https://app.nodaro.ai/v1/` に HTTPS リクエストを送るだけ | どんな言語、どんなプラットフォームでも |
| [TypeScript SDK](https://nodaro.ai/docs/developers/sdk) | `npm install @nodaro/sdk` | Node、ブラウザー、React Native、エッジランタイムでの型付きコード |
| [CLI](https://nodaro.ai/docs/developers/cli) | `npm install -g @nodaro/cli`、またはスタンドアロンのバイナリ | ターミナル、cron ジョブ、CI パイプライン |

SDK は `fetch` と `URL` を使うので、Node.js 20 以降、ブラウザー、React Native、Cloudflare Workers、Deno、Bun で動作します。CLI は SDK の薄いラッパーです。CLI でできることは、SDK でもすべてできます。

保存したワークフローを実行する、同じ呼び出しを 3 通りで示します。

**curl**

```bash
curl -s -X POST https://app.nodaro.ai/v1/workflows/8c2d7f1e-3a4b-4c5d-9e6f-7a8b9c0d1e2f/run \
  -H "Authorization: Bearer $NODARO_API_KEY"
# {"executionId":"3f9e2b1a-…","status":"pending"}
```

**TypeScript SDK**

```ts

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

const { executionId } = await client.workflows.run('8c2d7f1e-3a4b-4c5d-9e6f-7a8b9c0d1e2f')
```

**CLI**

```bash
nodaro auth login --token "$NODARO_API_KEY"
nodaro workflows run 8c2d7f1e-3a4b-4c5d-9e6f-7a8b9c0d1e2f --watch
```

3 つのことは、どこでも同じように動作します。

- **何でも実行できます。**保存した[ワークフロー](https://nodaro.ai/docs/developers/api/workflows)、公開された[アプリ](https://nodaro.ai/docs/developers/embed/miniapps)、または `POST /v1/<node-type>` で単一の[ノード](https://nodaro.ai/docs/developers/api/nodes)を、ワークフローを組まずに実行できます。
- **結果はポーリングします。**生成には数秒から数分かかるため、実行を開始するとすぐに ID が返り、その[ジョブ](https://nodaro.ai/docs/developers/api/jobs)または[実行](https://nodaro.ai/docs/developers/api/executions)をポーリングします。SDK と CLI は、代わりに待つこともできます。
- **トークンなしで調べられます。**`GET /v1/nodes` と `GET /v1/models` は、すべてのノードとモデルを、その設定とクレジット料金とともに一覧表示します。

## 認証する
| 認証情報 | 形式 | 使う場面 |
| --- | --- | --- |
| 個人用 API トークン | `ndr_…` | 自分のサーバー、スクリプト、CI ジョブが、自分のアカウントで Nodaro を呼び出す場合です。**設定 › APIトークン**で作成します。 |
| OAuth アクセストークン | `ndr_app_…` | プロダクトが、ユーザー自身の Nodaro アカウントで、その同意のもとにワークフローを実行する場合です。 |
| セッションの JWT | JWT | セルフホスティングの Community エディションを自分用に運用する場合です。 |

API トークンは、Nodaro Cloud と Business エディションで利用できます。セルフホスティング環境でも、個人用 API トークンを使えば、OAuth なしで生成を Nodaro Cloud 上で実行できます。[認証](https://nodaro.ai/docs/developers/api/authentication)と [OAuth アプリ](https://nodaro.ai/docs/developers/oauth)を参照してください。

## OpenAPI 仕様
サーバーは、API のコア部分の OpenAPI 3.1 仕様を `https://app.nodaro.ai/v1/openapi.json` で公開しています。ここから、Go、Rust、Python など、どの言語の型付きクライアントも生成できます。[OpenAPI 仕様](https://nodaro.ai/docs/developers/api/openapi)を参照してください。

## AI エージェント向け
- **MCP。**Claude、ChatGPT、Cursor などの MCP クライアントで、`https://mcp.nodaro.ai/mcp` をカスタムコネクタとして追加します。アシスタントはあなたの Nodaro アカウントでログインし、メディアの生成、ワークフローの作成と実行、キャラクターなどのアセットの管理を行うツールを使えるようになります。[MCP](https://nodaro.ai/docs/mcp) を参照してください。
- **エージェントスキル。**スキルファイルは、Claude Code や Cursor などのコーディングアシスタントに、SDK の使い方と OAuth アプリの作り方を教えます。[エージェントスキル](https://nodaro.ai/docs/developers/agent-skills)を参照してください。

## Nodaro を自分のプロダクトに組み込む
- **アプリを埋め込みます。**公開された Nodaro のアプリを、自分の Web インターフェースやモバイルインターフェースから実行します。[埋め込み](https://nodaro.ai/docs/developers/embed)を参照してください。
- **ピッカーを自分で作ります。**クリエイティブコントロールのカタログは `@nodaro/shared` の中にデータとして同梱されているので、自分のアプリでも同じ選択肢を提示し、同じプロンプトを書けます。[ピッカーカタログ](https://nodaro.ai/docs/developers/picker-catalogs)を参照してください。
- **自分の ID プロバイダーでユーザーをログインさせます。**[SSO](https://nodaro.ai/docs/developers/sso) を参照してください。
- **自分のウォレットで課金します。**デプロイメントは、各顧客の支出を自分のウォレットで承認できます。[外部ウォレット](https://nodaro.ai/docs/developers/external-wallet)を参照してください。

## 開発者向けドキュメントを見る
  - [REST API](https://nodaro.ai/docs/developers/api): 
HTTPS 経由で、ワークフローとノードの実行、ジョブのポーリング、メディアのアップロード、アセットの管理を行います。
  
  - [TypeScript SDK](https://nodaro.ai/docs/developers/sdk): 
@nodaro/sdk：Node、ブラウザー、エッジランタイム向けの、型付きメソッド、型付きエラー、ポーリング用のヘルパーです。
  
  - [CLI](https://nodaro.ai/docs/developers/cli): 
@nodaro/cli：ターミナルや CI ジョブから、ワークフロー、アプリ、単一のノードを実行します。
  
  - [OAuth アプリ](https://nodaro.ai/docs/developers/oauth): 
ユーザーが、自分の Nodaro アカウントをスコープ付きトークンでプロダクトに接続できるようにします。
  
  - [SSO](https://nodaro.ai/docs/developers/sso): 
信頼できる ID プロバイダーで、ユーザーを自分の Nodaro インストール環境にログインさせます。
  
  - [ピッカーカタログ](https://nodaro.ai/docs/developers/picker-catalogs): 
公開されているカタログから、クリエイティブコントロールのピッカーを自分のアプリに実装します。
  
  - [埋め込み](https://nodaro.ai/docs/developers/embed): 
公開されたアプリを自分のインターフェースから実行するか、対話型の 3D プレビューを埋め込みます。
  
  - [外部ウォレット](https://nodaro.ai/docs/developers/external-wallet): 
各顧客の支出を、デプロイメント自身のウォレットで承認します。
  
  - [エージェントスキル](https://nodaro.ai/docs/developers/agent-skills): 
コーディングアシスタントに、SDK の使い方と OAuth アプリの作り方を教えるスキルファイルです。

## Frequently asked questions

### Nodaro に API はありますか？

はい。https://app.nodaro.ai/v1/ にある Nodaro の REST API は、ワークフローと単一のノードを実行し、ジョブのステータスを報告し、メディアを保存し、キャラクターなどのアセットを管理します。JSON とベアラートークンを使い、同じ API がセルフホスティング環境でも動作します。

### Nodaro API の公式 SDK はありますか？

はい、TypeScript と JavaScript 向けの @nodaro/sdk です。Node.js 20 以降のほか、ブラウザー、React Native、Cloudflare Workers、Deno、Bun など、グローバルな fetch と URL を持つあらゆるランタイムで動作します。

### AI エージェントは、どうやって Nodaro を使いますか？

https://mcp.nodaro.ai/mcp にある Nodaro MCP サーバーを通じてです。Claude、ChatGPT、Cursor などのアシスタントが、あなたの Nodaro アカウントでログインすると、メディアの生成、ワークフローの作成と実行ができるようになります。

### セルフホスティングの Community エディションでも API を使えますか？

はい。Community エディションのインストール環境は同じエンドポイントを提供し、認証にはログイン中のセッションの JWT を使います。API トークンには Business エディションか Nodaro Cloud が必要で、クレジットは Nodaro Cloud にしかありません。

### API トークンと OAuth のどちらを使うべきですか？

自分のサーバーが自分のアカウントで Nodaro を呼び出す場合は、個人用 API トークンを使います。プロダクトを構築し、そのユーザーがそれぞれ自分の Nodaro アカウントをプロダクトに接続する場合は、OAuth を使います。
