メインコンテンツへスキップ

はじめに

Nano Banana は Ace Data Cloud が提供する AI 画像サービスで、Gemini ベースの画像生成サービスです。Ace Data Cloud の統一 API を通じて、JavaScript で Nano Banana を迅速に統合し、テキストから画像生成、画像編集、複数のアスペクト比、高解像度などの機能を実現できます。

前提条件

  • Ace Data Cloud アカウントを持ち、API トークンを取得していること
  • Node.js 18+ またはモダンブラウザ環境

基本的な使い方

Nano Banana API のメインエンドポイントは以下です:
POST https://api.acedata.cloud/nano-banana/images
本例では nano-banana-2 モデルを使用しています。 利用可能なモデルは:nano-banananano-banana-2nano-banana-pro です。 完全な JavaScript コード例:
const response = await fetch("https://api.acedata.cloud/nano-banana/images", {
  method: "POST",
  headers: {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
  "action": "generate",
  "prompt": "A white siamese cat",
  "model": "nano-banana-2",
  "aspect_ratio": "1:1"
}),
});

const result = await response.json();
console.log(result);
YOUR_API_TOKEN は Ace Data Cloud プラットフォームで取得した実際のトークンに置き換えてください。

レスポンス処理

レスポンスのステータスコードを確認し、エラー処理を行うことを推奨します:
if (response.ok) {
  const result = await response.json();
  console.log("呼び出し成功:", result);
} else {
  console.error(`呼び出し失敗、ステータスコード: ${response.status}`);
  const error = await response.text();
  console.error(error);
}

Node.js ラッパー

再利用可能な関数としてラップすることを推奨します:
async function callNanoBanana(data) {
  const response = await fetch("https://api.acedata.cloud/nano-banana/images", {
    method: "POST",
    headers: {
      "Authorization": `Bearer ${process.env.ACE_API_TOKEN}`,
      "Content-Type": "application/json",
    },
    body: JSON.stringify(data),
  });
  if (!response.ok) throw new Error(`API error: ${response.status}`);
  return response.json();
}

エラー処理

よくあるエラーコード:
ステータスコード説明
401認証失敗、API トークンを確認してください
403残高不足またはアクセス権限なし
429リクエスト頻度制限超過
500サーバー内部エラー

次のステップ