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

ステップ 1:API キーを取得

API キー管理ページ にアクセスして API キーを作成します。
  1. SinanCode アカウントにログイン
  2. Dashboard → API Keys に移動
  3. 「新しいキーを作成」をクリック
  4. 生成された API キーを保存(安全に保管してください、一度しか表示されません)

ステップ 2:API リクエストを送信

すべての API リクエストには HTTP ヘッダーでの認証が必要です:
Authorization: Bearer YOUR_API_KEY

基本的なリクエスト例

Imagen4 を使用して画像を生成する完全な例:
curl -X POST https://api.sinancode.com/v1/generate/k/imagen4 \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "a beautiful sunset over the mountains",
    "aspect_ratio": "16:9",
    "num_images": 1
  }'
レスポンス例:
{
  "task_id": "01234567-89ab-cdef-0123-456789abcdef"
}

ステップ 3:タスクステータスを確認

AI モデルの生成には時間がかかるため、ほとんどの API は非同期で動作します。返された task_id を使用してタスクステータスを確認します:
curl -X GET https://api.sinancode.com/v1/tasks/01234567-89ab-cdef-0123-456789abcdef \
  -H "Authorization: Bearer YOUR_API_KEY"
レスポンス例:
{
  "id": "01234567-89ab-cdef-0123-456789abcdef",
  "status": "completed",
  "result": [
    "https://storage.example.com/generated-image.jpg"
  ]
}

タスクステータスの説明

  • pending - タスクはキューに入っています
  • processing - 生成中
  • completed - 生成完了
  • failed - 生成失敗

人気モデル クイックリファレンス

画像生成モデル

Imagen 4

  • エンドポイント: POST /generate/k/imagen4
  • 特徴: Google の最新画像生成モデル、優れた品質
  • パラメータ: prompt, aspect_ratio, num_images, seed

Midjourney

  • エンドポイント: POST /generate/k/midjourney-txt2img
  • 特徴: 強いアーティスティックスタイル、クリエイティブデザインに最適
  • パラメータ: prompt, aspectRatio, version, stylization

Flux Kontext

  • エンドポイント: POST /generate/k/flux-kontext
  • 特徴: 中国語プロンプトをサポート、自動翻訳機能付き
  • パラメータ: prompt, aspect_ratio, model, enable_translation

動画生成モデル

Sora 2

  • エンドポイント: POST /generate/k/sora2-text-to-video
  • 特徴: OpenAI の動画生成モデル
  • パラメータ: prompt, aspect_ratio, n_frames

Veo 3

  • エンドポイント: POST /generate/k/veo3-text-to-video
  • 特徴: Google の動画生成モデル、画像から動画への変換をサポート
  • パラメータ: prompt, aspectRatio, model

完全なコード例

Python 例

import requests
import time

API_KEY = "your_api_key_here"
BASE_URL = "https://api.sinancode.com/v1"

# タスクを作成
response = requests.post(
    f"{BASE_URL}/generate/k/imagen4",
    headers={
        "Authorization": f"Bearer {API_KEY}",
        "Content-Type": "application/json"
    },
    json={
        "prompt": "a futuristic cityscape at sunset",
        "aspect_ratio": "16:9",
        "num_images": 1
    }
)

task_id = response.json()["task_id"]
print(f"タスク作成成功、ID: {task_id}")

# タスクステータスをポーリング
while True:
    status_response = requests.get(
        f"{BASE_URL}/tasks/{task_id}",
        headers={"Authorization": f"Bearer {API_KEY}"}
    )

    task = status_response.json()
    status = task["status"]

    print(f"タスクステータス: {status}")

    if status == "completed":
        print(f"生成完了!画像 URL: {task['result'][0]}")
        break
    elif status == "failed":
        print(f"生成失敗: {task.get('error_msg', 'Unknown error')}")
        break

    time.sleep(2)  # 2秒待ってリトライ

JavaScript/TypeScript 例

const API_KEY = "your_api_key_here";
const BASE_URL = "https://api.sinancode.com/v1";

async function generateImage() {
  // タスクを作成
  const createResponse = await fetch(`${BASE_URL}/generate/k/imagen4`, {
    method: "POST",
    headers: {
      "Authorization": `Bearer ${API_KEY}`,
      "Content-Type": "application/json"
    },
    body: JSON.stringify({
      prompt: "a serene mountain landscape",
      aspect_ratio: "16:9",
      num_images: 1
    })
  });

  const { task_id } = await createResponse.json();
  console.log(`タスク作成成功、ID: ${task_id}`);

  // タスクステータスをポーリング
  while (true) {
    const statusResponse = await fetch(`${BASE_URL}/tasks/${task_id}`, {
      headers: { "Authorization": `Bearer ${API_KEY}` }
    });

    const task = await statusResponse.json();
    console.log(`タスクステータス: ${task.status}`);

    if (task.status === "completed") {
      console.log(`生成完了!画像 URL: ${task.result[0]}`);
      break;
    } else if (task.status === "failed") {
      console.log(`生成失敗: ${task.error_msg}`);
      break;
    }

    await new Promise(resolve => setTimeout(resolve, 2000)); // 2秒待機
  }
}

generateImage();

次のステップ

よくある質問

どのモデルを選べばいいですか?

  • 品質重視: Imagen 4 Ultra, Midjourney v7
  • 速度重視: Imagen 4 Fast, Nano Banana
  • 中国語プロンプト: Flux Kontext, Tongyi Wanxiang
  • 動画生成: Sora 2 Pro, Veo 3

レート制限はありますか?

各 API キーにはサブスクリプションプランに応じたレート制限があります。制限を超えると 429 Too Many Requests エラーが返されます。 サポートが必要ですか?sinancode.com で技術サポートチームにお問い合わせください。