CraftStory · OpenAPI Overlay 1.0.0

CraftStory Public API agent overlay

62 actions 62 updates update extends ../openapi/_original/craftstory-com-openapi.yml
Derived by API Evangelist Built from the contracts CraftStory publishes. CraftStory did not publish this file.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-mcp-toolsx-mcp-serverx-llms-txtexternalDocs

Targets 62 · first 16 shown; the file carries all of them

$.info
$
$.paths['/audio/clips/'].post
$.paths['/audio/clips/{id}/'].get
$.paths['/audio/clips/{id}/status/'].get
$.paths['/craftstory-2/avatars/'].get
$.paths['/craftstory-2/avatars/{avatar_pk}/scenes/'].get
$.paths['/craftstory-2/'].post
$.paths['/craftstory-2/{id}/status/'].get
$.paths['/craftstory-2/{id}/upscale/'].post
$.paths['/craftstory-2/preview-cost/'].post
$.paths['/craftstory-2/{id}/'].get
$.paths['/craftstory-2/user-voices/'].get
$.paths['/craftstory-2/voices/'].get
$.paths['/flux-3-max/'].post
$.paths['/flux-3-max/{id}/status/'].get

OpenAPI Overlay

Raw ↑
overlay: 1.0.0
info:
  title: CraftStory Public API agent overlay
  version: 1.0.0
  x-provenance:
    generated: '2026-11-04'
    method: derived
    source: mcp/craftstory-com-tool-crosswalk.yml; craftstory.com/llms.txt; @craftstory/mcp README
extends: ../openapi/_original/craftstory-com-openapi.yml
actions:
- target: $.info
  description: Point agents at the provider's MCP server, llms.txt and curl walkthrough.
  update:
    x-mcp-server:
      endpoint: https://mcp.craftstory.com/mcp
      transport: streamable-http
      auth: oauth
      package: '@craftstory/mcp'
      install: npx -y @craftstory/mcp
      docs: https://craftstory.com/mcp/
    x-llms-txt: https://craftstory.com/llms.txt
- target: $
  description: Link the curl walkthrough the spec description already references.
  update:
    externalDocs:
      description: CraftStory API curl samples
      url: https://api.craftstory.com/api/v1/docs/samples/curl/
- target: $.paths['/audio/clips/'].post
  description: MCP tool(s) backed by audio_clips_create.
  update:
    x-mcp-tools:
    - create_audio_clip
- target: $.paths['/audio/clips/{id}/'].get
  description: MCP tool(s) backed by audio_clips_read.
  update:
    x-mcp-tools:
    - get_job_result
- target: $.paths['/audio/clips/{id}/status/'].get
  description: MCP tool(s) backed by audio_clips_status.
  update:
    x-mcp-tools:
    - get_job_status
    - wait_for_job
- target: $.paths['/craftstory-2/avatars/'].get
  description: MCP tool(s) backed by craftstory-2_avatars.
  update:
    x-mcp-tools:
    - list_avatars
- target: $.paths['/craftstory-2/avatars/{avatar_pk}/scenes/'].get
  description: MCP tool(s) backed by craftstory-2_avatars_avatar_scenes.
  update:
    x-mcp-tools:
    - list_avatars
- target: $.paths['/craftstory-2/'].post
  description: MCP tool(s) backed by craftstory-2_create.
  update:
    x-mcp-tools:
    - create_craftstory2_video
- target: $.paths['/craftstory-2/{id}/status/'].get
  description: MCP tool(s) backed by craftstory-2_get_status.
  update:
    x-mcp-tools:
    - get_job_status
    - wait_for_job
- target: $.paths['/craftstory-2/{id}/upscale/'].post
  description: MCP tool(s) backed by craftstory-2_make_upscale.
  update:
    x-mcp-tools:
    - upscale_video
- target: $.paths['/craftstory-2/preview-cost/'].post
  description: MCP tool(s) backed by craftstory-2_preview_cost.
  update:
    x-mcp-tools:
    - preview_cost
- target: $.paths['/craftstory-2/{id}/'].get
  description: MCP tool(s) backed by craftstory-2_read.
  update:
    x-mcp-tools:
    - get_job_result
- target: $.paths['/craftstory-2/user-voices/'].get
  description: MCP tool(s) backed by craftstory-2_user_voices.
  update:
    x-mcp-tools:
    - list_voices
- target: $.paths['/craftstory-2/voices/'].get
  description: MCP tool(s) backed by craftstory-2_voices.
  update:
    x-mcp-tools:
    - list_voices
- target: $.paths['/flux-3-max/'].post
  description: MCP tool(s) backed by flux-3-max_create.
  update:
    x-mcp-tools:
    - create_cloud_video
- target: $.paths['/flux-3-max/{id}/status/'].get
  description: MCP tool(s) backed by flux-3-max_job_status.
  update:
    x-mcp-tools:
    - get_job_status
- target: $.paths['/flux-3-max/{id}/upscale/'].post
  description: MCP tool(s) backed by flux-3-max_make_upscale.
  update:
    x-mcp-tools:
    - upscale_video
- target: $.paths['/flux-3-max/preview-cost/'].post
  description: MCP tool(s) backed by flux-3-max_preview_cost.
  update:
    x-mcp-tools:
    - preview_cloud_video_cost
- target: $.paths['/flux-3-max/{id}/'].get
  description: MCP tool(s) backed by flux-3-max_read.
  update:
    x-mcp-tools:
    - get_job_result
- target: $.paths['/flux-3-video/'].post
  description: MCP tool(s) backed by flux-3-video_create.
  update:
    x-mcp-tools:
    - create_cloud_video
- target: $.paths['/flux-3-video/{id}/status/'].get
  description: MCP tool(s) backed by flux-3-video_job_status.
  update:
    x-mcp-tools:
    - get_job_status
- target: $.paths['/flux-3-video/{id}/upscale/'].post
  description: MCP tool(s) backed by flux-3-video_make_upscale.
  update:
    x-mcp-tools:
    - upscale_video
- target: $.paths['/flux-3-video/preview-cost/'].post
  description: MCP tool(s) backed by flux-3-video_preview_cost.
  update:
    x-mcp-tools:
    - preview_cloud_video_cost
- target: $.paths['/flux-3-video/{id}/'].get
  description: MCP tool(s) backed by flux-3-video_read.
  update:
    x-mcp-tools:
    - get_job_result
- target: $.paths['/gemini-omni-flash/'].post
  description: MCP tool(s) backed by gemini-omni-flash_create.
  update:
    x-mcp-tools:
    - create_cloud_video
- target: $.paths['/gemini-omni-flash/{id}/status/'].get
  description: MCP tool(s) backed by gemini-omni-flash_job_status.
  update:
    x-mcp-tools:
    - get_job_status
- target: $.paths['/gemini-omni-flash/{id}/upscale/'].post
  description: MCP tool(s) backed by gemini-omni-flash_make_upscale.
  update:
    x-mcp-tools:
    - upscale_video
- target: $.paths['/gemini-omni-flash/preview-cost/'].post
  description: MCP tool(s) backed by gemini-omni-flash_preview_cost.
  update:
    x-mcp-tools:
    - preview_cloud_video_cost
- target: $.paths['/gemini-omni-flash/{id}/'].get
  description: MCP tool(s) backed by gemini-omni-flash_read.
  update:
    x-mcp-tools:
    - get_job_result
- target: $.paths['/heygen-video/'].post
  description: MCP tool(s) backed by heygen-video_create.
  update:
    x-mcp-tools:
    - create_cloud_video
- target: $.paths['/heygen-video/{id}/status/'].get
  description: MCP tool(s) backed by heygen-video_job_status.
  update:
    x-mcp-tools:
    - get_job_status
- target: $.paths['/heygen-video/{id}/upscale/'].post
  description: MCP tool(s) backed by heygen-video_make_upscale.
  update:
    x-mcp-tools:
    - upscale_video
- target: $.paths['/heygen-video/preview-cost/'].post
  description: MCP tool(s) backed by heygen-video_preview_cost.
  update:
    x-mcp-tools:
    - preview_cloud_video_cost
- target: $.paths['/heygen-video/{id}/'].get
  description: MCP tool(s) backed by heygen-video_read.
  update:
    x-mcp-tools:
    - get_job_result
- target: $.paths['/images/'].post
  description: MCP tool(s) backed by images_create.
  update:
    x-mcp-tools:
    - create_image
- target: $.paths['/images/{id}/status/'].get
  description: MCP tool(s) backed by images_job_status.
  update:
    x-mcp-tools:
    - get_job_status
- target: $.paths['/images/{id}/'].get
  description: MCP tool(s) backed by images_read.
  update:
    x-mcp-tools:
    - get_job_result
- target: $.paths['/minimax-h3-max/'].post
  description: MCP tool(s) backed by minimax-h3-max_create.
  update:
    x-mcp-tools:
    - create_cloud_video
- target: $.paths['/minimax-h3-max/{id}/status/'].get
  description: MCP tool(s) backed by minimax-h3-max_job_status.
  update:
    x-mcp-tools:
    - get_job_status
- target: $.paths['/minimax-h3-max/{id}/upscale/'].post
  description: MCP tool(s) backed by minimax-h3-max_make_upscale.
  update:
    x-mcp-tools:
    - upscale_video
- target: $.paths['/minimax-h3-max/preview-cost/'].post
  description: MCP tool(s) backed by minimax-h3-max_preview_cost.
  update:
    x-mcp-tools:
    - preview_cloud_video_cost
- target: $.paths['/minimax-h3-max/{id}/'].get
  description: MCP tool(s) backed by minimax-h3-max_read.
  update:
    x-mcp-tools:
    - get_job_result
- target: $.paths['/minimax-h3/'].post
  description: MCP tool(s) backed by minimax-h3_create.
  update:
    x-mcp-tools:
    - create_minimax_h3_video
- target: $.paths['/minimax-h3/avatar/'].post
  description: MCP tool(s) backed by minimax-h3_create_avatar.
  update:
    x-mcp-tools:
    - create_minimax_h3_avatar_video
- target: $.paths['/minimax-h3/reference/'].post
  description: MCP tool(s) backed by minimax-h3_create_reference.
  update:
    x-mcp-tools:
    - create_minimax_h3_video
- target: $.paths['/minimax-h3/{id}/status/'].get
  description: MCP tool(s) backed by minimax-h3_get_status.
  update:
    x-mcp-tools:
    - get_job_status
    - wait_for_job
- target: $.paths['/minimax-h3/{id}/upscale/'].post
  description: MCP tool(s) backed by minimax-h3_make_upscale.
  update:
    x-mcp-tools:
    - upscale_video
- target: $.paths['/minimax-h3/{id}/'].get
  description: MCP tool(s) backed by minimax-h3_read.
  update:
    x-mcp-tools:
    - get_job_result
- target: $.paths['/models/'].get
  description: MCP tool(s) backed by models_list.
  update:
    x-mcp-tools:
    - list_models
- target: $.paths['/music/'].post
  description: MCP tool(s) backed by music_create.
  update:
    x-mcp-tools:
    - create_music
- target: $.paths['/music/{id}/status/'].get
  description: MCP tool(s) backed by music_job_status.
  update:
    x-mcp-tools:
    - get_job_status
- target: $.paths['/music/{id}/'].get
  description: MCP tool(s) backed by music_read.
  update:
    x-mcp-tools:
    - get_job_result
- target: $.paths['/seedance/'].post
  description: MCP tool(s) backed by seedance_create.
  update:
    x-mcp-tools:
    - create_cloud_video
- target: $.paths['/seedance/{id}/status/'].get
  description: MCP tool(s) backed by seedance_job_status.
  update:
    x-mcp-tools:
    - get_job_status
- target: $.paths['/seedance/{id}/upscale/'].post
  description: MCP tool(s) backed by seedance_make_upscale.
  update:
    x-mcp-tools:
    - upscale_video
- target: $.paths['/seedance/preview-cost/'].post
  description: MCP tool(s) backed by seedance_preview_cost.
  update:
    x-mcp-tools:
    - preview_cloud_video_cost
- target: $.paths['/seedance/{id}/'].get
  description: MCP tool(s) backed by seedance_read.
  update:
    x-mcp-tools:
    - get_job_result
- target: $.paths['/sound-effects/'].post
  description: MCP tool(s) backed by sound-effects_create.
  update:
    x-mcp-tools:
    - create_sound_effect
- target: $.paths['/sound-effects/{id}/status/'].get
  description: MCP tool(s) backed by sound-effects_job_status.
  update:
    x-mcp-tools:
    - get_job_status
- target: $.paths['/sound-effects/{id}/'].get
  description: MCP tool(s) backed by sound-effects_read.
  update:
    x-mcp-tools:
    - get_job_result
- target: $.paths['/uploads/'].post
  description: MCP tool(s) backed by uploads_create.
  update:
    x-mcp-tools:
    - request_file_upload
- target: $.paths['/uploads/{id}/'].get
  description: MCP tool(s) backed by uploads_read.
  update:
    x-mcp-tools:
    - get_upload
    - wait_for_upload

Work with this as data

Every overlay 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 openapi overlays

4 MCP tools reach this
  • find_overlaysBrowse and filter every overlay in the catalog.
  • 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 overlay
curl "https://apis.io/api/v1/overlays/craftstory-com-agent-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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.