マーケットサポート← アプリに戻る

Base64 データから

base64 データ(canvas のエクスポート、data URI、インライン添付)がありますか?まずデコードしてご自身のストレージに保存し、得られた公開 URL を input に渡します。

概要

生成 API は URL を受け付け、生の base64 ペイロードは受け付けません — 大きな base64 ボディは遅く、リクエストサイズ制限に達し、上流のレンダラーで再試行できません。先にファイルを保存する方が速く、信頼性も高くなります。

保存してから参照する

  • base64 文字列をバイトにデコードします。
  • バイトをオブジェクトストレージ(S3 / OSS / COS / R2)または静的ファイルサーバーにアップロードします。
  • ファイルの公開(または署名付き)URL を入力値として使用します。

Node.js の例

JavaScript
import { S3Client, PutObjectCommand } from "@aws-sdk/client-s3";

const s3 = new S3Client({ region: "us-east-1" });

async function base64ToUrl(b64, key) {
  // strip a data-URI prefix if present
  const data = Buffer.from(b64.replace(/^data:.*?;base64,/, ""), "base64");
  await s3.send(new PutObjectCommand({
    Bucket: "my-public-bucket", Key: key,
    Body: data, ContentType: "image/png",
  }));
  return `https://my-public-bucket.s3.amazonaws.com/${key}`;
}

const imageUrl = await base64ToUrl(canvasData, "inputs/photo.png");

await fetch("https://97ai.97claude.com/api/generate", {
  method: "POST",
  headers: { "Authorization": "Bearer " + process.env.API_KEY, "Content-Type": "application/json" },
  body: JSON.stringify({
    model: "google/nano-banana-image-to-image",
    input: { image_url: imageUrl, prompt: "enhance lighting" },
  }),
});