SnapGen API

SnapGen API as documented publicly: 19 operations. Contract generated from the documentation by API Evangelist (2026-11-09); not the provider's own document.

GitHub OpenAPI

Operations 19

GET /v1/audio/alignment GET /v1/audio/alignment #
POST /v1/audio/alignment POST /v1/audio/alignment #
POST /v1/audio/dialogue POST /v1/audio/dialogue #
POST /v1/audio/dubbing Add a webhook URL and secret when you submit a task, and receive one signed POST when it reaches a final state. #
GET /v1/audio/isolation GET /v1/audio/isolation #
POST /v1/audio/isolation POST /v1/audio/isolation #
POST /v1/audio/music POST /v1/audio/music #
POST /v1/audio/speech POST /v1/audio/speech #
POST /v1/chat/completions POST /v1/chat/completions #
POST /v1/images/generations POST /v1/images/generations #
POST /v1/media/tools POST /v1/media/tools #
GET /v1/models Confirm availability with `GET /v1/models`. #
POST /v1/music/generations Add a webhook URL and secret when you submit a task, and receive one signed POST when it reaches a final state. #
POST /v1/responses POST /v1/responses #
GET /v1/tasks/{id} Poll `GET /v1/tasks/{id}` with the same key to check task status. #
GET /v1/tasks/{id}/content Add a webhook URL and secret when you submit a task, and receive one signed POST when it reaches a final state. #
POST /v1/videos POST /v1/videos #
GET /v1/videos/task_01HXYZ GET /v1/videos/task_01HXYZ #
GET /v1/videos/{id}/content Add a webhook URL and secret when you submit a task, and receive one signed POST when it reaches a final state. #

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/snapgen-org:snapgen-org-api"
All apis
curl "https://apis.io/api/v1/apis?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.

OpenAPI Specification

snapgen-org-openapi-generated.yml Raw ↑
openapi: 3.1.0
info:
  title: SnapGen API
  version: '2026-11-09'
  description: 'GENERATED FROM DOCUMENTATION by API Evangelist on 2026-11-09: 19 operation(s) read from 15 public documentation page(s) (each
    operation names its page in x-source). This is not the provider''s published contract; SnapGen has published no machine-readable contract
    that the pipeline could find. Engine: local.'
  x-evidence-tiers:
    code-example: 15
    documentation: 4
    pages-with-code: 15
    pages-read: 15
  x-generated-from: documentation
  x-provenance: generated
  x-authored-by: API Evangelist
  x-generated: '2026-11-09'
  x-generator: generate-contract-from-docs.py
  x-engine: local
  x-sources:
  - https://docs.snapgen.org/api-reference/images.md
  - https://docs.snapgen.org/api-reference/webhooks.md
  - https://docs.snapgen.org/api-reference/responses.md
  - https://docs.snapgen.org/api-reference/audio-music.md
  - https://docs.snapgen.org/api-reference/list-models.md
  - https://docs.snapgen.org/api-reference/media-tools.md
  - https://docs.snapgen.org/api-reference/audio-speech.md
  - https://docs.snapgen.org/api-reference/audio-dubbing.md
  - https://docs.snapgen.org/api-reference/chat-completions
  - https://docs.snapgen.org/api-reference/audio-dialogue.md
  - https://docs.snapgen.org/api-reference/audio-alignment.md
  - https://docs.snapgen.org/api-reference/audio-isolation.md
  - https://docs.snapgen.org/api-reference/chat-completions.md
  - https://docs.snapgen.org/api-reference/video-generation.md
  - https://docs.snapgen.org/api-reference/music-generations.md
servers:
- url: https://api.snapgen.org
paths:
  /v1/audio/alignment:
    get:
      operationId: get_v1_audio_alignment
      tags:
      - Audio
      summary: GET /v1/audio/alignment
      x-source: https://docs.snapgen.org/api-reference/audio-alignment.md
      responses:
        '200':
          description: Success (shape read from the example response on the page)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetV1AudioAlignmentResponse'
      x-evidence:
        kind: code-example
        language: curl
        snippet: 'curl https://api.snapgen.org/v1/audio/alignment  -H "Authorization: Bearer $SNAPGEN_API_KEY"  -F model=eleven-forced-alignment  -F
          file=@narration.mp3  -F text="The quick brown fox jumps over the lazy dog."

          ```'
    post:
      operationId: post_v1_audio_alignment
      tags:
      - Audio
      summary: POST /v1/audio/alignment
      x-source: https://docs.snapgen.org/api-reference/audio-alignment.md
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostV1AudioAlignmentRequest'
      responses:
        '201':
          description: Success (shape read from the example response on the page)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostV1AudioAlignmentResponse'
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl https://api.snapgen.org/v1/audio/alignment  -H \"Authorization: Bearer $SNAPGEN_API_KEY\"  -H \"Content-Type: application/json\"\
          \  -d '{\n    \"model\": \"eleven-forced-alignment\",\n    \"audio_url\": \"https://example.com/narration.mp3\",\n    \"text\": \"The\
          \ quick brown fox jumps over the lazy dog.\"\n  }'\n```"
  /v1/audio/dialogue:
    post:
      operationId: post_v1_audio_dialogue
      tags:
      - Audio
      summary: POST /v1/audio/dialogue
      x-source: https://docs.snapgen.org/api-reference/audio-dialogue.md
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostV1AudioDialogueRequest'
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl https://api.snapgen.org/v1/audio/dialogue  -H \"Authorization: Bearer $SNAPGEN_API_KEY\"  -H \"Content-Type: application/json\"\
          \  -d '{\n    \"model\": \"eleven-v4-dialogue\",\n    \"inputs\": [\n      {\n        \"text\": \"[excited] Did you see the launch?\"\
          ,\n        \"voice\": \"JBFqnCBsd6RMkjVDRZzb\"\n      },\n      {\n        \"text\": \"[laughs] I watched it twice!\",\n        \"voice\"\
          : \"EXAVITQu4vr4xnSDxMaL\"\n      }"
  /v1/audio/dubbing:
    post:
      operationId: post_v1_audio_dubbing
      tags:
      - Audio
      summary: Add a webhook URL and secret when you submit a task, and receive one signed POST when it reaches a final state.
      description: Audio dubbing endpoint supports webhook submission.
      x-source: https://docs.snapgen.org/api-reference/webhooks.md
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostV1AudioDubbingRequest'
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/audio/isolation:
    get:
      operationId: get_v1_audio_isolation
      tags:
      - Audio
      summary: GET /v1/audio/isolation
      x-source: https://docs.snapgen.org/api-reference/audio-isolation.md
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: 'curl https://api.snapgen.org/v1/audio/isolation  -H "Authorization: Bearer $SNAPGEN_API_KEY"  -F model=eleven-voice-isolator  -F
          file=@noisy-vlog.mp3  --output voice.mp3

          ```'
    post:
      operationId: post_v1_audio_isolation
      tags:
      - Audio
      summary: POST /v1/audio/isolation
      x-source: https://docs.snapgen.org/api-reference/audio-isolation.md
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostV1AudioIsolationRequest'
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl https://api.snapgen.org/v1/audio/isolation  -H \"Authorization: Bearer $SNAPGEN_API_KEY\"  -H \"Content-Type: application/json\"\
          \  -d '{\n    \"model\": \"eleven-voice-isolator\",\n    \"audio_url\": \"https://example.com/noisy-vlog.mp3\"\n  }'  --output voice.mp3\n\
          ```"
  /v1/audio/music:
    post:
      operationId: post_v1_audio_music
      tags:
      - Audio
      summary: POST /v1/audio/music
      x-source: https://docs.snapgen.org/api-reference/audio-music.md
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostV1AudioMusicRequest'
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl https://api.snapgen.org/v1/audio/music  -H \"Authorization: Bearer $SNAPGEN_API_KEY\"  -H \"Content-Type: application/json\"\
          \  -d '{\n    \"model\": \"eleven-music-v2.5\",\n    \"prompt\": \"Uplifting cinematic trailer score with strings and big drums\",\n\
          \    \"duration_seconds\": 30\n  }'  --output music.mp3\n```"
  /v1/audio/speech:
    post:
      operationId: post_v1_audio_speech
      tags:
      - Audio
      summary: POST /v1/audio/speech
      x-source: https://docs.snapgen.org/api-reference/audio-speech.md
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostV1AudioSpeechRequest'
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl https://api.snapgen.org/v1/audio/speech  -H \"Authorization: Bearer $SNAPGEN_API_KEY\"  -H \"Content-Type: application/json\"\
          \  -d '{\n    \"model\": \"eleven-v4\",\n    \"input\": \"Welcome back! Today we explore the northern lights.\",\n    \"voice\": \"\
          JBFqnCBsd6RMkjVDRZzb\",\n    \"response_format\": \"mp3\"\n  }'  --output speech.mp3\n```"
  /v1/chat/completions:
    post:
      operationId: post_v1_chat_completions
      tags:
      - Chat
      summary: POST /v1/chat/completions
      x-source: https://docs.snapgen.org/api-reference/chat-completions
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostV1ChatCompletionsRequest'
      responses:
        '201':
          description: Success (shape read from the example response on the page)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostV1ChatCompletionsResponse'
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl curl https://api.snapgen.org/v1/chat/completions  -H \"Authorization: Bearer sk-xxxx\"  -H \"Content-Type: application/json\"\
          \  -d '{ \n \"model\": \"gpt-6.1-sol\", \n \"messages\": [ \n { \n \"role\": \"system\", \n \"content\": \"You answer in one concise\
          \ sentence.\" \n }, \n { \n \"role\": \"user\", \n \"content\": \"What is an API gateway?\" \n } \n ], \n \"reasoning_effort\": \"medium\"\
          , \n \"max_completion_tokens\": 2048 \n }' \n Res"
  /v1/images/generations:
    post:
      operationId: post_v1_images_generations
      tags:
      - Images
      summary: POST /v1/images/generations
      x-source: https://docs.snapgen.org/api-reference/images.md
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostV1ImagesGenerationsRequest'
      responses:
        '201':
          description: Success (shape read from the example response on the page)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostV1ImagesGenerationsResponse'
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl https://api.snapgen.org/v1/images/generations  -H \"Authorization: Bearer $SNAPGEN_API_KEY\"  -H \"Content-Type: application/json\"\
          \  -d '{\n  \"model\": \"gpt-image-2.6\",\n  \"prompt\": \"A blue ceramic mug on linen\",\n  \"size\": \"1:1\",\n  \"resolution\": \"\
          1K\",\n  \"quality\": \"high\",\n  \"output_format\": \"png\",\n  \"n\": 1\n}'\n```"
  /v1/media/tools:
    post:
      operationId: post_v1_media_tools
      tags:
      - Media
      summary: POST /v1/media/tools
      x-source: https://docs.snapgen.org/api-reference/media-tools.md
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostV1MediaToolsRequest'
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl 'https://api.snapgen.org/v1/media/tools'  -H \"Authorization: Bearer $SNAPGEN_API_KEY\"  -H 'Content-Type: application/json'\
          \  -H 'Idempotency-Key: unique-owned-operation-id'  -H 'Prefer: respond-async'  -d '{\n    \"model\": \"image-object-remover\",\n  \
          \  \"image_url\": \"https://your-cdn.example/source.png\",\n    \"mask_url\": \"https://your-cdn.example/mask.png\"\n  }'\n```"
  /v1/models:
    get:
      operationId: get_v1_models
      tags:
      - Models
      summary: Confirm availability with `GET /v1/models`.
      x-source: https://docs.snapgen.org/api-reference/images.md
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/music/generations:
    post:
      operationId: post_v1_music_generations
      tags:
      - Music
      summary: Add a webhook URL and secret when you submit a task, and receive one signed POST when it reaches a final state.
      description: Music generation endpoint supports webhook submission.
      x-source: https://docs.snapgen.org/api-reference/webhooks.md
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostV1MusicGenerationsRequest'
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/responses:
    post:
      operationId: post_v1_responses
      tags:
      - Responses
      summary: POST /v1/responses
      x-source: https://docs.snapgen.org/api-reference/responses.md
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostV1ResponsesRequest'
      responses:
        '201':
          description: Success (shape read from the example response on the page)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostV1ResponsesResponse'
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl https://api.snapgen.org/v1/responses  -H \"Authorization: Bearer $SNAPGEN_API_KEY\"  -H \"Content-Type: application/json\"\
          \  -d '{\n    \"model\": \"gpt-6.1-sol\",\n    \"input\": \"What is an API gateway?\",\n    \"instructions\": \"Answer in one concise\
          \ sentence.\",\n    \"reasoning\": {\"effort\": \"medium\"},\n    \"max_output_tokens\": 2048\n  }'\n```"
  /v1/tasks/{id}:
    get:
      operationId: get_v1_tasks_id
      tags:
      - Tasks
      summary: Poll `GET /v1/tasks/{id}` with the same key to check task status.
      x-source: https://docs.snapgen.org/api-reference/images.md
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/tasks/{id}/content:
    get:
      operationId: get_v1_tasks_id_content
      tags:
      - Tasks
      summary: Add a webhook URL and secret when you submit a task, and receive one signed POST when it reaches a final state.
      description: Download dubbing result for audio dubbing tasks.
      x-source: https://docs.snapgen.org/api-reference/webhooks.md
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/videos:
    post:
      operationId: post_v1_videos
      tags:
      - Videos
      summary: POST /v1/videos
      x-source: https://docs.snapgen.org/api-reference/webhooks.md
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostV1VideosRequest'
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl https://api.snapgen.org/v1/videos  -H \"Authorization: Bearer $SNAPGEN_API_KEY\"  -H \"Content-Type: application/json\"\
          \  -d '{\n    \"model\": \"gemini-omni-t2v\",\n    \"prompt\": \"A paper airplane glides through a sunlit library\",\n    \"seconds\"\
          : \"10\",\n    \"webhook\": \"https://your-server.com/snapgen/callback\",\n    \"webhook_secret\": \"replace-with-a-long-random-secret\"\
          \n  }'\n```"
  /v1/videos/task_01HXYZ:
    get:
      operationId: get_v1_videos_task_01HXYZ
      tags:
      - Videos
      summary: GET /v1/videos/task_01HXYZ
      x-source: https://docs.snapgen.org/api-reference/video-generation.md
      parameters:
      - name: model
        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.snapgen.org/v1/videos/task_01HXYZ?model=seedance-2.0-fast-t2v"  -H "Authorization: Bearer $SNAPGEN_API_KEY"'
  /v1/videos/{id}/content:
    get:
      operationId: get_v1_videos_id_content
      tags:
      - Videos
      summary: Add a webhook URL and secret when you submit a task, and receive one signed POST when it reaches a final state.
      description: Download video content for video tasks.
      x-source: https://docs.snapgen.org/api-reference/webhooks.md
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
components:
  schemas:
    GetV1AudioAlignmentResponse:
      type: object
      properties:
        words:
          type: array
          items:
            type: object
            properties:
              text:
                type: string
              start:
                type: number
              end:
                type: number
              loss:
                type: number
        loss:
          type: number
    PostV1AudioAlignmentRequest:
      type: object
      properties:
        model:
          type: string
        audio_url:
          type: string
        text:
          type: string
    PostV1AudioAlignmentResponse:
      type: object
      properties:
        words:
          type: array
          items:
            type: object
            properties:
              text:
                type: string
              start:
                type: number
              end:
                type: number
              loss:
                type: number
        loss:
          type: number
    PostV1AudioDialogueRequest:
      type: object
      properties:
        model:
          type: string
        inputs:
          type: array
          items:
            type: object
            properties:
              text:
                type: string
              voice:
                type: string
    PostV1AudioDubbingRequest:
      type: object
      properties:
        webhook:
          type: string
          description: The public https URL that receives the event.
        webhook_secret:
          type: string
          description: Secret used to sign the webhook delivery.
      required:
      - webhook
      - webhook_secret
    PostV1AudioIsolationRequest:
      type: object
      properties:
        model:
          type: string
        audio_url:
          type: string
    PostV1AudioMusicRequest:
      type: object
      properties:
        model:
          type: string
        prompt:
          type: string
        duration_seconds:
          type: integer
    PostV1AudioSpeechRequest:
      type: object
      properties:
        model:
          type: string
        input:
          type: string
        voice:
          type: string
        response_format:
          type: string
    PostV1ChatCompletionsRequest:
      type: object
      properties:
        model:
          type: string
        messages:
          type: array
          items:
            type: object
            properties:
              role:
                type: string
              content:
                type: string
        reasoning_effort:
          type: string
        max_completion_tokens:
          type: integer
    PostV1ChatCompletionsResponse:
      type: object
      properties:
        id:
          type: string
        object:
          type: string
        created:
          type: integer
        model:
          type: string
        choices:
          type: array
          items:
            type: object
            properties:
              index:
                type: integer
              message:
                type: object
                properties:
                  role:
                    type: string
                  content:
                    type: string
              finish_reason:
                type: string
        usage:
          type: object
          properties:
            prompt_tokens:
              type: integer
            completion_tokens:
              type: integer
            total_tokens:
              type: integer
    PostV1ImagesGenerationsRequest:
      type: object
      properties:
        model:
          type: string
        prompt:
          type: string
        size:
          type: string
        resolution:
          type: string
        quality:
          type: string
        output_format:
          type: string
        n:
          type: integer
    PostV1ImagesGenerationsResponse:
      type: object
      properties:
        created:
          type: integer
        data:
          type: array
          items:
            type: object
            properties:
              url:
                type: string
    PostV1MediaToolsRequest:
      type: object
      properties:
        model:
          type: string
        image_url:
          type: string
        mask_url:
          type: string
    PostV1MusicGenerationsRequest:
      type: object
      properties:
        webhook:
          type: string
          description: The public https URL that receives the event.
        webhook_secret:
          type: string
          description: Secret used to sign the webhook delivery.
      required:
      - webhook
      - webhook_secret
    PostV1ResponsesRequest:
      type: object
      properties:
        model:
          type: string
        input:
          type: string
        instructions:
          type: string
        reasoning:
          type: object
          properties:
            effort:
              type: string
        max_output_tokens:
          type: integer
    PostV1ResponsesResponse:
      type: object
      properties:
        model:
          type: string
        input:
          type: string
        instructions:
          type: string
        reasoning:
          type: object
          properties:
            effort:
              type: string
        max_output_tokens:
          type: integer
    PostV1VideosRequest:
      type: object
      properties:
        model:
          type: string
        prompt:
          type: string
        seconds:
          type: string
        webhook:
          type: string
        webhook_secret:
          type: string
  securitySchemes:
    bearer:
      type: http
      scheme: bearer
security:
- bearer: []
tags:
- name: Audio
- name: Chat
- name: Images
- name: Media
- name: Models
- name: Music
- name: Responses
- name: Tasks
- name: Videos