Adobe Firefly Audio/Video APIs

AI-powered audio and video APIs for automated content production at scale including dynamic graphics rendering, video reframing, translation and lip sync, text to speech, and text to avatar.

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/adobe-firefly-audiovideo-apis"
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 email required.

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

OpenAPI Specification

adobe-suite-firefly-audio-video-openapi.json Raw ↑
{
  "openapi": "3.1.0",
  "info": {
    "version": "1.0.0",
    "title": "Firefly Services Audio and Video API",
    "description": "This RESTful API provides resources to use Firefly Services AI for audio and video generation and processing.",
    "termsOfService": "https://www.adobe.com/content/dam/cc/en/legal/terms/enterprise/pdfs/PSLT-AdobeCreativeAPI-WW-2024v2.pdf"
  },
  "tags": [
    {
      "name": "Dynamic Graphics Render",
      "description": "Endpoints for Dynamic Graphics Render (DGR): template describe, presets, render, job status, cancel a render job, and list render jobs. The Cancel (`PUT /v1/cancel/{jobId}`) and List Render Jobs (`GET /v1/templates/render-jobs`) endpoints, as well as the extended status fields (`createdDate`, `totalJobItems`, `retryPayloadUrl`, `startedDate`, `completedDate`, and the `canceling`/`canceled` statuses), apply **only to render jobs** submitted via `POST /v1/templates/render`."
    },
    {
      "name": "Reframe",
      "description": "Endpoints for video reframing."
    },
    {
      "name": "Translate and lip sync",
      "description": "Endpoints for transcribing and dubbing audio/video content."
    },
    {
      "name": "Text-to-speech",
      "description": "Endpoints for text-to-speech operations."
    },
    {
      "name": "Text-to-Avatar",
      "description": "Endpoints for Text-to-Avatar operations."
    },
    {
      "name": "Manage jobs",
      "description": "Endpoints for managing asynchronous jobs."
    }
  ],
  "servers": [
    {
      "url": "https://audio-video-api.adobe.io",
      "description": "Production server."
    }
  ],
  "security": [
    {
      "AccessToken": [],
      "X-Api-Key": []
    }
  ],
  "paths": {
    "/v1/voices": {
      "get": {
        "tags": [
          "Text-to-speech",
          "Text-to-Avatar"
        ],
        "summary": "Get available voices",
        "description": "This endpoint provides the list of all available voices for the user's enterprise.",
        "operationId": "voices",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SuccessfulVoicesResponse"
                },
                "examples": {
                  "Success": {
                    "$ref": "#/components/examples/SuccessfulVoicesResponse"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FailedResponse"
                },
                "examples": {
                  "ErrorBodyUnauthorized": {
                    "$ref": "#/components/examples/ErrorBodyUnauthorized"
                  }
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FailedResponse"
                },
                "examples": {
                  "ErrorBodyForbidden": {
                    "$ref": "#/components/examples/ErrorBodyForbidden"
                  },
                  "ErrorBodyAPIKeyInvalid": {
                    "$ref": "#/components/examples/ErrorBodyAPIKeyInvalid"
                  }
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FailedResponse"
                },
                "examples": {
                  "ErrorBodyTooManyRequests": {
                    "$ref": "#/components/examples/ErrorBodyTooManyRequests"
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FailedResponse"
                },
                "examples": {
                  "RunTimeError": {
                    "$ref": "#/components/examples/RunTimeError"
                  },
                  "StudioAPIFailedEntitiesErrorResponse": {
                    "$ref": "#/components/examples/StudioAPIFailedEntitiesErrorResponse"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/generate-speech": {
      "post": {
        "tags": [
          "Text-to-speech"
        ],
        "summary": "Generate speech from text",
        "description": "This endpoint generates speech from a transcript. You can provide the transcript either as plain text or a pre-signed URL. The response will include a job ID and a status URL for tracking the job.",
        "operationId": "generate-speech",
        "requestBody": {
          "description": "The request body contains the transcript used for generating speech.",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TTSRequest"
              },
              "examples": {
                "TextInputForSpeechGeneration": {
                  "$ref": "#/components/examples/TextInputForSpeechGeneration"
                },
                "URLInputForSpeechGeneration": {
                  "$ref": "#/components/examples/URLInputForSpeechGeneration"
                }
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Accepted",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubmitAPIResponse"
                },
                "examples": {
                  "SubmitRequestResponse": {
                    "$ref": "#/components/examples/SubmitRequestResponse"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FailedResponse"
                },
                "examples": {
                  "BadRequestError": {
                    "$ref": "#/components/examples/BadRequestError"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FailedResponse"
                },
                "examples": {
                  "UnauthorizedAccessError": {
                    "$ref": "#/components/examples/ErrorBodyUnauthorized"
                  },
                  "ErrorBodyAccessDenied": {
                    "$ref": "#/components/examples/ErrorBodyAccessDenied"
                  }
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FailedResponse"
                },
                "examples": {
                  "ErrorBodyForbidden": {
                    "$ref": "#/components/examples/ErrorBodyForbidden"
                  },
                  "ErrorBodyAPIKeyInvalid": {
                    "$ref": "#/components/examples/ErrorBodyAPIKeyInvalid"
                  },
                  "UserNotEntitledError": {
                    "$ref": "#/components/examples/UserNotEntitledError"
                  },
                  "QuotaExceededError": {
                    "$ref": "#/components/examples/QuotaExceededError"
                  },
                  "UserProfileDeniedError": {
                    "$ref": "#/components/examples/UserProfileDeniedError"
                  },
                  "UserBlockedError": {
                    "$ref": "#/components/examples/UserBlockedError"
                  },
                  "InvalidSubscriptionError": {
                    "$ref": "#/components/examples/InvalidSubscriptionError"
                  },
                  "ViolationError": {
                    "$ref": "#/components/examples/ViolationError"
                  },
                  "TasteExhaustedError": {
                    "$ref": "#/components/examples/TasteExhaustedError"
                  },
                  "AccessError": {
                    "$ref": "#/components/examples/AccessError"
                  }
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FailedResponse"
                },
                "examples": {
                  "InvalidInputErrorExample": {
                    "$ref": "#/components/examples/InvalidInputErrorExample"
                  },
                  "MissingInputFileUrlErrorExample": {
                    "$ref": "#/components/examples/MissingInputFileUrlErrorExample"
                  },
                  "InvalidInputUrlErrorExample": {
                    "$ref": "#/components/examples/InvalidInputUrlErrorExample"
                  },
                  "InputFileFormatValidationErrorExample": {
                    "$ref": "#/components/examples/InputFileFormatValidationErrorExample"
                  },
                  "MissingScriptErrorExample": {
                    "$ref": "#/components/examples/MissingScriptErrorExample"
                  },
                  "EmptyTextForScriptErrorExample": {
                    "$ref": "#/components/examples/EmptyTextForScriptErrorExample"
                  },
                  "TextLengthExceededForScriptErrorExample": {
                    "$ref": "#/components/examples/TextLengthExceededForScriptErrorExample"
                  },
                  "TextLengthTooShortForScriptErrorExample": {
                    "$ref": "#/components/examples/TextLengthTooShortForScriptErrorExample"
                  },
                  "ScriptInvalidASCIIRange": {
                    "$ref": "#/components/examples/ScriptInvalidASCIIRange"
                  },
                  "ScriptInvalidTextSupportedRange": {
                    "$ref": "#/components/examples/ScriptInvalidTextSupportedRange"
                  },
                  "InvalidOrMissingLocaleCodeForScriptErrorExample": {
                    "$ref": "#/components/examples/InvalidOrMissingLocaleCodeForScriptErrorExample"
                  },
                  "MissingMediaTypeForScriptErrorExample": {
                    "$ref": "#/components/examples/MissingMediaTypeForScriptErrorExample"
                  },
                  "MediatypeIncompatibleForText": {
                    "$ref": "#/components/examples/MediatypeIncompatibleForText"
                  },
                  "MissingSourceLocaleErrorExample": {
                    "$ref": "#/components/examples/MissingSourceLocaleErrorExample"
                  },
                  "SourceUrlSourceTextConflictErrorExample": {
                    "$ref": "#/components/examples/SourceUrlSourceTextConflictErrorExample"
                  },
                  "UnsupportedVoiceIdErrorExample": {
                    "$ref": "#/components/examples/UnsupportedVoiceIdErrorExample"
                  },
                  "MissingVoiceIdErrorExample": {
                    "$ref": "#/components/examples/MissingVoiceIdErrorExample"
                  },
                  "MissingOutputErrorExample": {
                    "$ref": "#/components/examples/MissingOutputErrorExample"
                  },
                  "MissingMediaTypeForOutputErrorExample": {
                    "$ref": "#/components/examples/MissingMediaTypeForOutputErrorExample"
                  },
                  "InvalidOutputFileFormatErrorExample": {
                    "$ref": "#/components/examples/InvalidOutputFileFormatErrorExample"
                  },
                  "InvalidRequestPayloadErrorExample": {
                    "$ref": "#/components/examples/InvalidRequestPayloadErrorExample"
                  },
                  "InvalidSourceUrlErrorExample": {
                    "$ref": "#/components/examples/InvalidSourceUrlErrorExample"
                  },
                  "IncorrectVoiceNameErrorExample": {
                    "$ref": "#/components/examples/IncorrectVoiceNameErrorExample"
                  }
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FailedResponse"
                },
                "examples": {
                  "ErrorBodyTooManyRequests": {
                    "$ref": "#/components/examples/ErrorBodyTooManyRequests"
                  },
                  "ErrorBodyRateLimited": {
                    "$ref": "#/components/examples/ErrorBodyRateLimited"
                  }
                }
              }
            }
          },
          "451": {
            "description": "Unauthorized For Legal Reasons",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FailedResponse"
                },
                "examples": {
                  "ErrorBodyLegalReasons": {
                    "$ref": "#/components/examples/ErrorBodyLegalReasons"
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FailedResponse"
                },
                "examples": {
                  "TTSServiceSubmitError": {
                    "$ref": "#/components/examples/TTSServiceSubmitError"
                  },
                  "TTSEntityCreationError": {
                    "$ref": "#/components/examples/TTSEntityCreationError"
                  },
                  "TTSRuntimeError": {
                    "$ref": "#/components/examples/TTSRuntimeError"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/status/{jobId}": {
      "get": {
        "tags": [
          "Manage jobs"
        ],
        "summary": "Get job status",
        "description": "Provides the status and result of an asynchronous job. For Dynamic Graphics Render (DGR), returns the status of a Describe template or Render job.",
        "operationId": "status",
        "parameters": [
          {
            "name": "jobId",
            "in": "path",
            "description": "The job ID of an asynchronous job.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StatusAPIResponse"
                },
                "examples": {
                  "StatusAPIInprogressRequestResponse": {
                    "$ref": "#/components/examples/StatusApiInProgressRequestResponse"
                  },
                  "StatusAPISuccessRequestResponse": {
                    "$ref": "#/components/examples/StatusApiSuccessRequestResponse"
                  },
                  "StatusAPIFailedInputFileDownloadResponse": {
                    "$ref": "#/components/examples/StatusAPIFailedInputFileDownloadResponse"
                  },
                  "DGRJobStatusNotStarted": {
                    "$ref": "#/components/examples/DGRJobStatusNotStarted"
                  },
                  "DGRJobStatusRunning": {
                    "$ref": "#/components/examples/DGRJobStatusRunning"
                  },
                  "DGRDescribeSuccess": {
                    "$ref": "#/components/examples/DGRDescribeSuccess"
                  },
                  "DGRDescribeAEPSuccess": {
                    "$ref": "#/components/examples/DGRDescribeAEPSuccess"
                  },
                  "DGRRenderSuccessSingle": {
                    "$ref": "#/components/examples/DGRRenderSuccessSingle"
                  },
                  "DGRRenderSuccessMultiple": {
                    "$ref": "#/components/examples/DGRRenderSuccessMultiple"
                  },
                  "DGRRenderPartialSuccess": {
                    "$ref": "#/components/examples/DGRRenderPartialSuccess"
                  },
                  "DGRRenderSuccessTwoVariations": {
                    "$ref": "#/components/examples/DGRRenderSuccessTwoVariations"
                  },
                  "DGRJobFailed": {
                    "$ref": "#/components/examples/DGRJobFailed"
                  },
                  "DGRJobCanceled": {
                    "$ref": "#/components/examples/DGRJobCanceled"
                  },
                  "StatusAPIFailedMediatypeMismatchResponse": {
                    "$ref": "#/components/examples/StatusAPIFailedMediatypeMismatchResponse"
                  },
                  "StatusAPIFailedCAISigningResponse": {
                    "$ref": "#/components/examples/StatusAPIFailedCAISigningResponse"
                  },
                  "StatusAPIFailedUploadErrorResponse": {
                    "$ref": "#/components/examples/StatusAPIFailedUploadErrorResponse"
                  },
                  "StatusAPIFailedDownloadErrorResponse": {
                    "$ref": "#/components/examples/StatusAPIFailedDownloadErrorResponse"
                  },
                  "StatusAPIFailedTTSErrorResponse": {
                    "$ref": "#/components/examples/StatusAPIFailedTTSErrorResponse"
                  },
                  "StatusAPIFailedDurationTooLongResponse": {
                    "$ref": "#/components/examples/StatusAPIFailedDurationTooLongResponse"
                  },
                  "StatusAPIFailedUnsupportedBackgroundResponse": {
                    "$ref": "#/components/examples/StatusAPIFailedUnsupportedBackgroundResponse"
                  },
                  "StatusAPIFailedBackgroundResolutionErrorResponse": {
                    "$ref": "#/components/examples/StatusAPIFailedBackgroundResolutionErrorResponse"
                  },
                  "StatusAPIFailedCropAreaErrorResponse": {
                    "$ref": "#/components/examples/StatusAPIFailedCropAreaErrorResponse"
                  },
                  "StatusAPIFailedBackgroundCropErrorResponse": {
                    "$ref": "#/components/examples/StatusAPIFailedBackgroundCropErrorResponse"
                  },
                  "StatusAPIFailedFFMpegErrorResponse": {
                    "$ref": "#/components/examples/StatusAPIFailedFFMpegErrorResponse"
                  },
                  "StatusAPIFailedAvatarErrorResponse": {
                    "$ref": "#/components/examples/StatusAPIFailedAvatarErrorResponse"
                  },
                  "StatusAPIFailedLipsyncErrorResponse": {
                    "$ref": "#/components/examples/StatusAPIFailedLipsyncErrorResponse"
                  },
                  "StatusAPIFailedLipsyncPollingErrorResponse": {
                    "$ref": "#/components/examples/StatusAPIFailedLipsyncPollingErrorResponse"
                  },
                  "StatusAPIFailedMediaTrimErrorResponse": {
                    "$ref": "#/components/examples/StatusAPIFailedMediaTrimErrorResponse"
                  },
                  "StatusAPIFailedMediaTrimAlphaErrorResponse": {
                    "$ref": "#/components/examples/StatusAPIFailedMediaTrimAlphaErrorResponse"
                  },
                  "StatusAPIFailedInternalErrorResponse": {
                    "$ref": "#/components/examples/StatusAPIFailedInternalErrorResponse"
                  },
                  "StatusAPIFailedTTSInternalErrorResponse": {
                    "$ref": "#/components/examples/StatusAPIFailedTTSInternalErrorResponse"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FailedResponse"
                },
                "examples": {
                  "ErrorBodyUnauthorized": {
                    "$ref": "#/components/examples/ErrorBodyUnauthorized"
                  }
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FailedResponse"
                },
                "examples": {
                  "ErrorBodyForbidden": {
                    "$ref": "#/components/examples/ErrorBodyForbidden"
                  },
                  "ErrorBodyAPIKeyInvalid": {
                    "$ref": "#/components/examples/ErrorBodyAPIKeyInvalid"
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FailedResponse"
                },
                "examples": {
                  "ErrorBodyResourceNotFound": {
                    "$ref": "#/components/examples/ErrorBodyResourceNotFound"
                  }
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FailedResponse"
                },
                "examples": {
                  "ErrorBodyTooManyRequests": {
                    "$ref": "#/components/examples/ErrorBodyTooManyRequests"
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FailedResponse"
                },
                "examples": {
                  "RunTimeError": {
                    "$ref": "#/components/examples/RunTimeError"
                  },
                  "TEXT_TO_SPEECH_ENTITY_CREATION_ERROR": {
                    "$ref": "#/components/examples/TEXT_TO_SPEECH_ENTITY_CREATION_ERROR"
                  },
                  "TEXT_TO_SPEECH_SERVICE_SUBMIT_ERROR": {
                    "$ref": "#/components/examples/TEXT_TO_SPEECH_SERVICE_SUBMIT_ERROR"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/templates/describe": {
      "post": {
        "tags": [
          "Dynamic Graphics Render"
        ],
        "summary": "Describe template",
        "description": "Analyzes a MOGRT (video template) file and returns a manifest of editable controls; fonts, images, audio, video and other supported values.",
        "operationId": "template-describe",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TemplateDescribeRequest"
              },
              "examples": {
                "SampleExample": {
                  "summary": "MOGRT template",
                  "value": {
                    "source": {
                      "url": "<pre-signed_URL_to_download_the_template>"
                    }
                  }
                },
                "AEPDescribeExample": {
                  "summary": "After Effects project (AEP)",
                  "value": {
                    "type": "aep",
                    "source": {
                      "url": "<pre-signed_URL_to_download_the_.zip>"
                    },
                    "compName": "A. Variable Duration"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Accepted",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TemplateDescribeResponse"
                },
                "examples": {
                  "SuccessResponse": {
                    "value": {
                      "jobId": "<job_ID>",
                      "statusUrl": "https://audio-video-api.adobe.io/v1/status/<job_ID>"
                    }
                  }
                }
              }
            },
            "headers": {
              "Link": {
                "schema": {
                  "type": "string"
                },
                "description": "URL to monitor the status of the job."
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "examples": {
                  "InvalidJsonError": {
                    "value": {
                      "error_code": "invalid_json",
                      "message": "Invalid request. Please check the input data."
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "examples": {
                  "InvalidToken": {
                    "value": {
                      "error_code": "401013",
                      "message": "OAuth token is not valid."
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "examples": {
                  "InvalidContext": {
                    "value": {
                      "error_code": "access_error",
                      "message": "Token not allowed in the current context."
                    }
                  },
                  "ApiKeyIsRequired": {
                    "value": {
                      "error_code": "403000",
                      "message": "API key is required."
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "examples": {
                  "ValidationError": {
                    "value": {
                      "error_code": "validation_error",
                      "message": "Validation error occurred",
                      "messageId": "42206000"
                    }
                  },
                  "InvalidTemplateTypeError": {
                    "value": {
                      "error_code": "validation_error",
                      "message": "Input must contain a valid template type",
                      "messageId": "42206001"
                    }
                  },
                  "InvalidTemplateSourceError": {
                    "value": {
                      "error_code": "validation_error",
                      "message": "Invalid template source",
                      "messageId": "42206002"
                    }
                  },
                  "InvalidTemplateSourceUrlError": {
                    "value": {
                      "error_code": "validation_error",
                      "message": "Invalid template source URL",
                      "messageId": "42206003"
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "examples": {
                  "ServerError": {
                    "value": {
                      "messageId": "50006000",
                      "message": "Internal Server Error",
                      "error_code": "runtime_error"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/presets": {
      "get": {
        "tags": [
          "Dynamic Graphics Render"
        ],
        "summary": "Fetch video rendering presets",
        "description": "Returns a list of predefined social-first encoding presets for rendering outputs.",
        "operationId": "get-presets",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PresetsResponse"
                },
                "examples": {
                  "PresetsExample": {
                    "$ref": "#/components/examples/PresetsResponse"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "examples": {
                  "Unauthorized": {
                    "value": {
                      "error_code": "401013",
                      "message": "OAuth token is not valid."
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "examples": {
                  "Forbidden": {
                    "value": {
                      "error_code": "403000",
                      "message": "API key is required."
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/templates/render": {
      "post": {
        "tags": [
          "Dynamic Graphics Render"
        ],
        "summary": "Render template",
        "description": "Renders one or more video variations by applying overrides and export presets. Submit up to 10 overrides per call for a subset of editable layers and get a pre-signed URL link to download the video file. For layers that are not editable, the system defaults are automatically applied at export.",
        "operationId": "template-render",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TemplateRenderRequest"
              },
              "examples": {
                "RenderExample": {
                  "summary": "Sample render request",
                  "value": {
                    "source": {
                      "url": "<pre-signed mogrt url>"
                    },
                    "fonts": [
                      {


# --- truncated at 32 KB (291 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/adobe-suite/refs/heads/main/openapi/adobe-suite-firefly-audio-video-openapi.json