CharaStudio

角色 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

查询参数:

参数类型描述
limitinteger每页数量(默认 20,最大 100)
offsetinteger偏移量
searchstring按名称搜索

故事 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}`);