キャラクター API
キャラクターを作成
POST /v1/characters
リクエストボディ:
{
"name": "林霜",
"description": "冷静で沉着な女剣士、銀色の長髪...",
"personality": "冷静, 内向, 忠誠",
"first_mes": "...",
"spec_version": "CharaStudio-v1"
}
レスポンス:
{
"success": true,
"data": {
"id": "char_abc123",
"name": "林霜",
"created_at": "2026-05-01T12:00:00Z"
}
}
キャラクターを取得
GET /v1/characters/{character_id}
キャラクターを更新
PATCH /v1/characters/{character_id}
キャラクターを削除
DELETE /v1/characters/{character_id}
キャラクターを一覧
GET /v1/characters
クエリパラメータ:
| パラメータ | タイプ | 説明 |
|---|---|---|
| limit | integer | 1ページあたりの件数(デフォルト 20、最大 100) |
| offset | integer | オフセット |
| search | string | 名前で検索 |
ストーリー API
ストーリーを作成
POST /v1/stories
リクエストボディ:
{
"title": "霜月伝説",
"world_id": "world_xyz789",
"outline": "..."
}
ストーリー内容を生成
POST /v1/stories/{story_id}/generate
リクエストボディ:
{
"scene_id": "scene_abc123",
"mode": "incremental",
"params": {
"temperature": 0.8,
"max_tokens": 1024
}
}
ストーリーノードを取得
GET /v1/stories/{story_id}/nodes
ワールドカード API
ワールドカードを作成
POST /v1/worlds
シーンを一覧
GET /v1/worlds/{world_id}/scenes
シーンカードを追加
POST /v1/worlds/{world_id}/scenes
画像生成 API
コミックパネルを生成
POST /v1/generate/comic
リクエストボディ:
{
"story_id": "story_abc123",
"scene_id": "scene_xyz456",
"panels": [
{
"description": "キャラクターが霜月城門に立っている",
"style": "fantasy_anime",
"camera": "wide_shot"
},
{
"description": "キャラクターが城門を見上げている",
"style": "fantasy_anime",
"camera": "medium_shot"
}
]
}
コード例
Python
import charastudio
client = charastudio.Client(api_key="YOUR_API_KEY")
# キャラクターを作成
character = client.characters.create(
name="林霜",
description="冷静で沉着な女剣士",
personality="冷静, 内向"
)
print(f"Created character: {character.id}")
# コミックパネルを生成
images = client.generate.comic(
story_id="story_abc123",
scene_id="scene_xyz456",
panels=panels
)
JavaScript
import { CharaStudio } from 'charastudio-sdk';
const client = new CharaStudio({ apiKey: 'YOUR_API_KEY' });
// キャラクターを作成
const character = await client.characters.create({
name: '林霜',
description: '冷静で沉着な女剣士',
personality: '冷静, 内向'
});
console.log(`Created character: ${character.id}`);