Reve Art APIドキュメント

Reve Artの画像生成APIをご利用いただきありがとうございます。このサービスは、先進的なAI駆動型の画像生成能力をシンプルなREST APIを通じて提供します。

Reve Image 1.0の概要

Reve Image 1.0は、以下のような特徴を持つ当社の主力テキストから画像生成モデルです。

  • 優れたプロンプトの遵守
  • 高い美的品質
  • 正確なタイポグラフィレンダリング
  • 直感的なテキストから画像生成

このモデルは、高度なプロンプトエンジニアリングの専門知識を必要とせず、初心者と経験豊富なユーザーの両方がアクセスできます。Create Image で無料で試してみてください。

使用例

Reve Art APIは、様々なアプリケーションに統合できます。

  • コンテンツ作成:ブログ、記事、ソーシャルメディア用のユニークなビジュアルを生成
  • Eコマース:商品モックアップやバリエーションを作成
  • デザイン&プロトタイピング:デザインコンセプトを素早く視覚化
  • ゲーム&エンターテイメント:ゲームアセットやキャラクターデザインを生成
  • 教育:教材やイラストを作成

認証

すべてのAPIリクエストは、APIキーを使用した認証が必要です。

APIキーをAuthorizationヘッダーに追加します。

curl -X POST https://reve-art.com/v1/reve-image/generate \
-H "Authorization: Bearer your_api_key" \
-H "Content-Type: application/json" \
-d '{"prompt": "あなたのプロンプト", "aspect_ratio": "1:1"}'

APIキーの取得方法

ダッシュボード > APIキー ページにログインし、APIキーを追加してください。

その後、APIキーを使用して画像を生成します。

画像生成

画像生成エンドポイントは、テキストの説明から画像を作成できます。パラメータを使用して、生成プロセスの様々な側面を制御できます。

ベストプラクティス

  1. プロンプトエンジニアリング

    • プロンプトは具体的かつ説明的に記述する
    • スタイルのガイダンスには芸術用語を使用する
    • 照明、遠近法、ムードなどの詳細を含める
  2. アスペクト比の選択

    • 使用目的に基づいて選択する
    • ソーシャルメディアの投稿には1:1
    • プレゼンテーション/バナーには16:9
    • モバイルコンテンツには9:16
  3. 非同期生成

    • 長時間の生成にはasync=trueを使用する
    • より良いユーザーエクスペリエンスのためにステータスポーリングを実装する

POST /v1/images/generate

リクエストボディ

{
  "prompt": "string",           // 必須:画像生成プロンプト
  "negative_prompt": "string",  // オプション:画像に含めないもの
  "aspect_ratio": "string",    // 必須:画像のアスペクト比 (デフォルト: "1:1")
  "async": boolean             // オプション:非同期生成 (デフォルト: false)
}

アスペクト比

画像のアスペクト比です。対応している比率: "1:1", "16:9", "4:3", "3:4", "9:16", "2:3", "3:2".

同期レスポンス

{
  "id": "img_123",
  "status": "completed",
  "url": "https://cdn.reve-art.com/img_123.png",
  "metadata": {
    "prompt": "あなたのプロンプト",
    "width": 1024,
    "height": 1024,
    "created_at": "2024-01-01T00:00:00Z"
  }
}

非同期レスポンス

{
  "id": "img_123",
  "status": "pending"
}

使用例

Python:

import requests

api_key = "your_api_key"
headers = {
    "Authorization": f"Bearer {api_key}",
    "Content-Type": "application/json"
}

response = requests.post(
    "https://api.reve-art.com/v1/reve-image/generate",
    headers=headers,
    json={
        "prompt": "美しい山々に沈む夕日",
        "aspect_ratio": "16:9"
    }
)

if response.ok:
    result = response.json()
    print(f"画像URL: {result['url']}")
else:
    print(f"エラー: {response.text}")

Node.js:

async function generateImage(prompt: string) {
  const response = await fetch("https://api.reve-art.com/v1/reve-image/generate", {
    method: "POST",
    headers: {
      "Authorization": `Bearer ${apiKey}`,
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      prompt,
      aspect_ratio: "1:1",
      async: true,
    }),
  });

  if (!response.ok) {
    throw new Error(`画像の生成に失敗しました: ${response.statusText}`);
  }

  const result = await response.json();

  if (result.status === "pending") {
    // 完了をポーリング
    return await checkImageStatus(result.id);
  }

  return result;
}

画像ステータスの確認

GET /v1/reve-image/status/image_id

レスポンス

{
  "id": "img_123",
  "status": "completed",
  "url": "https://cdn.reve-art.com/img_123.png",
  "metadata": {
    "prompt": "元のプロンプト",
    "width": 1024,
    "height": 1024,
    "model": "text2image_v1",
    "created_at": "2024-01-01T00:00:00Z"
  }
}

使用例

async function checkImageStatus(imageId: string) {
  const response = await fetch(
    `https://reve-art.com/v1/reve-image/status/${imageId}/`,
    {
      headers: {
        "Authorization": `Bearer ${apiKey}`,
      },
    }
  );

  if (!response.ok) {
    throw new Error(`ステータスの確認に失敗しました: ${response.statusText}`);
  }

  return await response.json();
}

レート制限

APIリクエストは、サブスクリプションプランと利用可能なクレジットによって制限されます。

  • 各画像生成には1クレジットが必要
  • 無料プラン:3クレジットが含まれています
  • ベーシックプラン:月100クレジット
  • レート制限:1分あたり10リクエスト
  • より多くのクレジットが必要な場合は、プランをアップグレードするか、クレジットを追加購入してください。