avacast-jp API

avacast-jp API as documented publicly: 9 operations. Contract generated from the documentation by API Evangelist (2026-10-30); not the provider's own document.

Operations 9

GET /v1/avatars アバター一覧 #
POST /v1/client/sessions/{id}/speak ブラウザからの発話 #
POST /v1/sessions POST /v1/sessions #
DELETE /v1/sessions/{id} セッションの終了 #
GET /v1/sessions/{id} セッションの状態 #
POST /v1/sessions/{id}/interrupt 発話の中断 #
POST /v1/sessions/{id}/speak 発話 #
GET /v1/status GET /v1/status #
GET /v1/usage GET /v1/usage #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/avacast-jp:avacast-jp-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

avacast-jp-openapi-generated.yml Raw ↑
openapi: 3.1.0
info:
  title: avacast-jp API
  version: '2026-10-30'
  description: 'GENERATED FROM DOCUMENTATION by API Evangelist on 2026-10-30: 9 operation(s) read from 4 public documentation page(s) (each operation
    names its page in x-source). This is not the provider''s published contract; avacast-jp has published no machine-readable contract that the
    pipeline could find. Engine: local.'
  x-evidence-tiers:
    code-example: 4
    documentation: 5
    pages-with-code: 3
    pages-read: 4
  x-generated-from: documentation
  x-provenance: generated
  x-authored-by: API Evangelist
  x-generated: '2026-10-30'
  x-generator: generate-contract-from-docs.py
  x-engine: local
  x-sources:
  - https://avacast.jp/docs
  - https://api.avacast.jp
  - https://avacast.jp/en/docs
  - https://avacast.jp/skill/SKILL.md
paths:
  /v1/avatars:
    get:
      operationId: get_v1_avatars
      tags:
      - Avatars
      summary: アバター一覧
      x-source: https://avacast.jp/docs
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetV1AvatarsResponse'
      x-evidence:
        kind: documentation
  /v1/client/sessions/{id}/speak:
    post:
      operationId: post_v1_client_sessions_id_speak
      tags:
      - Client
      summary: ブラウザからの発話
      x-source: https://avacast.jp/docs
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostV1ClientSessionsIdSpeakRequest'
      responses:
        '201':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostV1ClientSessionsIdSpeakResponse'
      x-evidence:
        kind: documentation
  /v1/sessions:
    post:
      operationId: post_v1_sessions
      tags:
      - Sessions
      summary: POST /v1/sessions
      x-source: https://avacast.jp/docs
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostV1SessionsRequest'
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl -X POST https://api.avacast.jp/v1/sessions  -H \"Authorization: Bearer $AVACAST_API_KEY\"  -H \"Content-Type: application/json\"\
          \  -d '{ \"avatar_id\": \"avt_xxxxxxxx\", \"voice\": { \"language\": \"ja\", \"speed\": 0.9 } }' レスポンス {\n \"session_id\": \"ses_xxxxxxxx\"\
          ,\n \"client_token\": \"eyJhbGciOi...\",\n \"webrtc\": {\n \"signaling_url\": \"https://.../offer\",\n \"events_url\": \"https://.../events\"\
          ,\n \"ice_servers\": [{ \"urls\""
  /v1/sessions/{id}:
    delete:
      operationId: delete_v1_sessions_id
      tags:
      - Sessions
      summary: セッションの終了
      x-source: https://avacast.jp/docs
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteV1SessionsIdResponse'
      x-evidence:
        kind: documentation
    get:
      operationId: get_v1_sessions_id
      tags:
      - Sessions
      summary: セッションの状態
      x-source: https://avacast.jp/docs
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetV1SessionsIdResponse'
      x-evidence:
        kind: documentation
  /v1/sessions/{id}/interrupt:
    post:
      operationId: post_v1_sessions_id_interrupt
      tags:
      - Sessions
      summary: 発話の中断
      x-source: https://avacast.jp/docs
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '201':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostV1SessionsIdInterruptResponse'
      x-evidence:
        kind: documentation
  /v1/sessions/{id}/speak:
    post:
      operationId: post_v1_sessions_id_speak
      tags:
      - Sessions
      summary: 発話
      x-source: https://avacast.jp/docs
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostV1SessionsIdSpeakRequest'
      responses:
        '201':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostV1SessionsIdSpeakResponse'
      x-evidence:
        kind: documentation
  /v1/status:
    get:
      operationId: get_v1_status
      tags:
      - Status
      summary: GET /v1/status
      x-source: https://avacast.jp/docs
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl https://api.avacast.jp/v1/status レスポンス { \"ok\": true } API (この口) が応答しているかだけを見ます。アバターの映像を作る GPU ノードの状態は含みません。 稼働状況は https://stats.uptimerobot.com/NboVaxn0Az\
          \ でも公開しています。 ブラウザ SDK WebRTC の接続と発話イベントの購読をまとめた小さな SDK です。avacast のドメインから読み込みます。互換を壊す変更はパスの版 (v1) を上げます。 <video id=\"avatar\" autoplay\
          \ playsinline></video>\n<script type=\"module\">\n import {AvacastSession} from 'https://avacast.jp/sdk/v1.js';"
  /v1/usage:
    get:
      operationId: get_v1_usage
      tags:
      - Usage
      summary: GET /v1/usage
      x-source: https://avacast.jp/docs
      parameters:
      - name: from
        in: query
        required: false
        schema:
          type: string
      - name: group_by
        in: query
        required: false
        schema:
          type: string
      - name: to
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl \"https://api.avacast.jp/v1/usage?from=2026-10-07T03:12:00Z&to=2026-11-07T03:12:00Z&group_by=metadata.tenant\"  -H \"Authorization:\
          \ Bearer $AVACAST_API_KEY\" レスポンス {\n \"period\": { \"start\": \"...\", \"end\": \"...\" },\n \"connected_seconds\": 18640,\n \"total_speak_seconds\"\
          : 4820,\n \"session_count\": 312,\n \"utterance_count\": 2914,\n \"limits\": { \"concurrency\": 10, \"monthly_connected_seconds\": null\
          \ }\n}"
components:
  schemas:
    GetV1AvatarsResponse:
      type: object
      properties:
        data:
          type: array
          description: アバター情報の配列。
    PostV1ClientSessionsIdSpeakRequest:
      type: object
      properties:
        text:
          type: string
          description: 読み上げるテキスト。1,000 文字まで。
      required:
      - text
    PostV1ClientSessionsIdSpeakResponse:
      type: object
      properties:
        utterance_id:
          type: string
        status:
          type: string
        queue_length:
          type: integer
    PostV1SessionsRequest:
      type: object
      properties:
        avatar_id:
          type: string
        voice:
          type: object
          properties:
            language:
              type: string
            speed:
              type: number
    DeleteV1SessionsIdResponse:
      type: object
      properties:
        session_id:
          type: string
        status:
          type: string
        connected_seconds:
          type: integer
        total_speak_ms:
          type: integer
    GetV1SessionsIdResponse:
      type: object
      properties:
        session_id:
          type: string
        status:
          type: string
        end_reason:
          type: string
        queue_length:
          type: integer
        connected_seconds:
          type: integer
        total_speak_ms:
          type: integer
        expires_at:
          type: string
    PostV1SessionsIdInterruptResponse:
      type: object
      properties:
        interrupted_utterance_id:
          type: string
        discarded_count:
          type: integer
    PostV1SessionsIdSpeakRequest:
      type: object
      properties:
        text:
          type: string
          description: 読み上げるテキスト。1,000 文字まで。
      required:
      - text
    PostV1SessionsIdSpeakResponse:
      type: object
      properties:
        utterance_id:
          type: string
        status:
          type: string
        queue_length:
          type: integer
  securitySchemes:
    bearer:
      type: http
      scheme: bearer
security:
- bearer: []
tags:
- name: Avatars
- name: Client
- name: Sessions
- name: Status
- name: Usage