Kallfi

Create a Soul

POST
/v1/souls

Proposed operation. Creates one company-scoped Human or Creature Soul from a bounded description and an optional ordered manifest of admitted source-asset IDs. An empty manifest creates from the description alone. Source admission, safety, profile derivation, Looks, and Voice may outlive the HTTP request, so the response is an asynchronous operation.

Authorization

bearerAuth
AuthorizationBearer <token>

Organization-scoped bearer credential. Credentials are scoped, revocable, and never represented by a Soul or operation ID.

In: header

Header Parameters

Idempotency-Key*string

Opaque replay key for this mutation. Repeating the same key with the same request returns the original result; reusing it with different input returns a conflict.

Length1 <= length <= 128

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/v1/souls" \  -H "Idempotency-Key: string" \  -H "Content-Type: application/json" \  -d '{    "external_soul_id": "string",    "kind": "human",    "description": "string",    "source_asset_ids": []  }'
{  "soul": {    "soul_id": "string",    "external_soul_id": "string",    "kind": "human",    "description": "string",    "lifecycle": "draft",    "revision": 1,    "source_asset_ids": [      "string"    ],    "capabilities": {      "responses": true,      "image_generation": true,      "video_generation": true    },    "created_at": "2019-08-24T14:15:22Z",    "updated_at": "2019-08-24T14:15:22Z"  },  "operation": {    "operation_id": "string",    "status": "accepted",    "resource": {      "type": "source_asset",      "id": "string"    },    "progress_percent": 0,    "quote": {      "quote_id": "string"    },    "usage": {      "reserved_gems": 0,      "consumed_gems": 0,      "released_gems": 0    },    "failure": {      "code": "string",      "message": "string",      "retryable": true    },    "output": {      "kind": "text",      "text": "string",      "media": [        {          "kind": "image",          "url": "http://example.com"        }      ]    },    "created_at": "2019-08-24T14:15:22Z",    "updated_at": "2019-08-24T14:15:22Z",    "links": {      "self": "http://example.com"    },    "kind": "source_asset_validation"  }}