Ideogram Video Edit API

The video-edit API from Ideogram — 1 operation(s) for video-edit.

GitHub OpenAPI
Business capability
Generative Media AE-110.20

Operations 1

POST /v2/video/generate/minimax-h3-reference-to-video Reference to video with MiniMax H3 #

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/ideogram:ideogram-video-edit-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

ideogram-video-edit-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Ideogram API v2 Video Edit API
  version: 1.0.0
servers:
- url: https://api.ideogram.ai
  description: https://api.ideogram.ai
tags:
- name: video-edit
paths:
  /v2/video/generate/minimax-h3-reference-to-video:
    post:
      operationId: videoEdit_post_edit_video_minimax_h3_reference_to_video
      summary: Reference to video with MiniMax H3
      description: 'Produce a video from a text prompt and optional reference media with

        MiniMax H3. Upload `reference_images` and `reference_audios` using

        `multipart/form-data`, and address them in the prompt by position

        (`Image 1`, `Audio 1`, …). Returns a `generation_id`; poll

        `GET /v2/generations/{generation_id}` or supply a `webhook_url`.'
      tags:
      - video-edit
      parameters:
      - name: dry_run
        in: query
        description: 'When true, the request is validated and priced but not run: nothing is

          generated, stored, or billed, and no safety review is performed. The

          response is a `PriceQuote` object instead of the usual response for this

          endpoint. Send exactly the request you would send to generate, so the

          quote reflects the same options.

          '
        required: false
        schema:
          type: boolean
          default: false
      responses:
        '200':
          description: An acknowledgement to poll with `GET /v2/generations/{generation_id}`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenerateVideoMinimaxH3Response'
        '400':
          description: Invalid input provided.
          content:
            application/json:
              schema:
                description: Any type
        '401':
          description: Unauthorized.
          content:
            application/json:
              schema:
                description: Any type
        '402':
          description: Insufficient credits or quota.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenerationErrorResponse'
        '403':
          description: This account does not have access to this model.
          content:
            application/json:
              schema:
                description: Any type
        '404':
          description: A referenced asset was not found.
          content:
            application/json:
              schema:
                description: Any type
        '422':
          description: The prompt did not pass safety checks.
          content:
            application/json:
              schema:
                description: Any type
        '429':
          description: Too many requests.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenerationErrorResponse'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                description: Any type
        '503':
          description: The endpoint is temporarily unavailable.
          content:
            application/json:
              schema:
                description: Any type
      requestBody:
        description: A request to produce a video from reference media with MiniMax H3. Use `multipart/form-data` to upload reference media.
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                prompt:
                  type: string
                  minLength: 1
                  maxLength: 2000
                  description: A natural-language prompt describing the video to produce. Reference media is addressed by position, as in "Image 1 walks toward the camera with the motion of Video 1".
                reference_images:
                  type: array
                  items:
                    type: string
                    format: binary
                  description: Images to use as references (max size 50MB each), as raw bytes, in prompt order; only common image formats such as JPEG, PNG, and WEBP are supported. Uploaded images are used for this request only and are not stored.
                reference_audios:
                  type: array
                  items:
                    type: string
                    format: binary
                  description: MP3 or WAV audio references, in prompt order as Audio 1, Audio 2, and Audio 3. Multipart uploads only; up to 15 MB per file and 2–15 seconds each. Audio and video references must total no more than 15 seconds. Requires a reference image or video. At most 12 references across images, videos, and audio. Used only for this request and not saved as assets.
                aspect_ratio:
                  $ref: '#/components/schemas/MinimaxH3AspectRatio'
                  default: 16x9
                resolution:
                  $ref: '#/components/schemas/MinimaxH3Resolution'
                  default: 2K
                duration:
                  type: integer
                  minimum: 5
                  maximum: 15
                  default: 5
                  description: The length of the generated video in seconds.
                prompt_expansion_mode:
                  $ref: '#/components/schemas/MinimaxH3PromptExpansionMode'
                  default: balanced
                webhook_url:
                  type: string
                  format: uri
                  maxLength: 2048
                  description: 'HTTPS URL that Ideogram delivers the generated result to. Ideogram sends a

                    JSON POST to this URL once all images for the request have finished

                    generating. The body mirrors the synchronous generate response:

                    `request_id`, `created`, and a `data` array

                    containing every generated image (`url`, `prompt`, `resolution`, `seed`,

                    `is_image_safe`). Each delivery is signed with Ed25519 and verifiable

                    against the public keys at `https://api.ideogram.ai/v1/.well-known/jwks.json`. Must be HTTPS;

                    private and loopback hosts and the cloud metadata service are rejected.

                    '
              required:
              - prompt
      security:
      - ApiKeyAuth: []
components:
  schemas:
    MinimaxH3PromptExpansionMode:
      type: string
      enum:
      - disabled
      - fast
      - balanced
      - quality
      default: balanced
      description: 'How much the model may rewrite the prompt before generating. `disabled`

        uses the prompt as written; the other modes trade latency for a richer

        rewrite.

        '
      title: MinimaxH3PromptExpansionMode
    GenerationErrorResponse:
      type: object
      properties:
        error:
          type: string
          description: A message describing why the generation request was rejected.
        reject_reason:
          $ref: '#/components/schemas/GenerationRejectReason'
        max_inflight_requests:
          type: integer
          minimum: 1
          description: 'How many generations the account may have in progress at once on

            the queue this request resolved to. Present when `reject_reason`

            is `inflight_limit`.

            '
        task_completion_speed:
          $ref: '#/components/schemas/GenerationErrorResponseTaskCompletionSpeed'
          description: 'The queue this request resolved to. Present when `reject_reason`

            is `inflight_limit`.

            '
      required:
      - error
      - reject_reason
      description: A generation request rejected by an account or usage limit.
      title: GenerationErrorResponse
    GenerationRejectReason:
      type: string
      enum:
      - insufficient_funds
      - subscription_required
      - daily_limit
      - priority_credit_required
      - inflight_limit
      - feature_limit
      description: The account or usage limit that rejected a generation request.
      title: GenerationRejectReason
    MinimaxH3AspectRatio:
      type: string
      enum:
      - 21x9
      - 16x9
      - 4x3
      - 1x1
      - 3x4
      - 9x16
      default: 16x9
      description: The aspect ratio of the generated video.
      title: MinimaxH3AspectRatio
    GenerateVideoMinimaxH3Response:
      type: object
      properties:
        generation_id:
          type: string
          description: 'URL-safe base64 ID of the accepted generation. Accepted by the

            `GET /v2/generations/{generation_id}` polling endpoint.

            '
        created:
          type: string
          format: date-time
          description: The time the request was accepted.
      required:
      - generation_id
      - created
      description: 'Acknowledgement that the video request was accepted. The video is not

        included in this response: poll `GET /v2/generations/{generation_id}`

        with the returned `generation_id`, or receive it at the `webhook_url`

        you supplied. Video links expire after a limited time, so download any

        video you want to keep.

        '
      title: GenerateVideoMinimaxH3Response
    GenerationErrorResponseTaskCompletionSpeed:
      type: string
      enum:
      - fast
      - slow
      description: 'The queue this request resolved to. Present when `reject_reason`

        is `inflight_limit`.

        '
      title: GenerationErrorResponseTaskCompletionSpeed
    MinimaxH3Resolution:
      type: string
      enum:
      - 480P
      - 768P
      - 2K
      - 4K
      default: 2K
      description: 'The resolution tier of the generated video, spelled the way MiniMax

        spells it. `480P` and `768P` are generated natively; `2K` and `4K` are

        upscaled from a `768P` result.

        Higher tiers cost more.

        '
      title: MinimaxH3Resolution
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: Api-Key
      description: API key for access control. Use in the header with the name \"Api-Key\"