> ## Documentation Index
> Fetch the complete documentation index at: https://docs.magnific.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Seedance 2.5 Pro 720p - Create video from text or image

> Generate 720p video using Seedance 2.5 Pro. Supports text-to-video, image-to-video (first/last frame), and reference-to-video with up to 30 reference images (@Image1..@Image30) and 10 reference audios (@Audio1..@Audio10). Also supports camera motion, multishot sequences (up to 6 shots) and native audio (sound effects).



## OpenAPI

````yaml post /v1/ai/video/seedance-2-5-pro-720p
openapi: 3.0.0
info:
  description: >-
    The Magnific API is your gateway to a vast collection of high-quality
    digital resources for your applications and projects. As a leading platform,
    it offers a wide range of graphics, including vectors, photos,
    illustrations, icons, PSD templates, and more, all curated by talented
    designers from around the world.
  title: Magnific API
  version: 1.0.0
servers:
  - description: B2B API Production V1
    url: https://api.magnific.com
security:
  - magnificApiKey: []
paths:
  /v1/ai/video/seedance-2-5-pro-720p:
    post:
      tags:
        - video
      summary: Seedance 2.5 Pro 720p - Create video from text or image
      description: >-
        Generate 720p video using Seedance 2.5 Pro. Supports text-to-video,
        image-to-video (first/last frame), and reference-to-video with up to 30
        reference images (@Image1..@Image30) and 10 reference audios
        (@Audio1..@Audio10). Also supports camera motion, multishot sequences
        (up to 6 shots) and native audio (sound effects).
      operationId: create_video_seedance_2_5_pro_720p
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/seedance-2-5-request'
        required: true
      responses:
        '200':
          content:
            application/json:
              examples:
                success - created task:
                  $ref: '#/components/examples/200-task-created'
                success - in progress task:
                  $ref: '#/components/examples/200-task-in-progress'
                success - completed task:
                  $ref: '#/components/examples/200-task-completed'
                success - failed task:
                  $ref: '#/components/examples/200-task-failed'
              schema:
                $ref: >-
                  #/components/schemas/_v1_ai_text_to_image_hyperflux_post_200_response
          description: OK - The task exists and the status is returned
        '400':
          content:
            application/json:
              examples:
                invalid_page:
                  summary: Parameter 'page' is not valid
                  value:
                    message: Parameter 'page' must be greater than 0
                invalid_query:
                  summary: Parameter 'query' is not valid
                  value:
                    message: Parameter 'query' must not be empty
                invalid_filter:
                  summary: Parameter 'filter' is not valid
                  value:
                    message: Parameter 'filter' is not valid
                generic_bad_request:
                  summary: Bad Request
                  value:
                    message: Parameter ':attribute' is not valid
              schema:
                $ref: '#/components/schemas/get_all_style_transfer_tasks_400_response'
            application/problem+json:
              examples:
                invalid_page:
                  summary: Parameter 'page' is not valid
                  value:
                    message: Validation error
                    invalid_params:
                      - field: page
                        reason: Parameter 'page' must be greater than 0
                      - field: per_page
                        reason: Parameter 'per_page' must be greater than 0
              schema:
                $ref: >-
                  #/components/schemas/get_all_style_transfer_tasks_400_response_1
          description: >-
            Bad Request - The server could not understand the request due to
            invalid syntax.
        '401':
          content:
            application/json:
              examples:
                invalid_api_key:
                  summary: API key is not valid
                  value:
                    message: Invalid API key
                missing_api_key:
                  summary: API key is not provided
                  value:
                    message: Missing API key
              schema:
                $ref: '#/components/schemas/get_all_style_transfer_tasks_400_response'
          description: >-
            Unauthorized - The client must authenticate itself to get the
            requested response.
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/get_all_style_transfer_tasks_500_response'
          description: >-
            Internal Server Error - The server has encountered a situation it
            doesn't know how to handle.
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/get_all_style_transfer_tasks_503_response'
          description: Service Unavailable
components:
  schemas:
    seedance-2-5-request:
      properties:
        webhook_url:
          description: >-
            URL to receive a webhook notification when the video generation task
            completes. The webhook payload includes the task ID and status.
          format: uri
          type: string
        image:
          description: >-
            Optional image to use as the first frame for image-to-video
            generation. Accepts a publicly accessible URL or a base64-encoded
            image. Mutually exclusive with `reference_images`.
          format: byte
          type: string
        image_end:
          description: >-
            Optional image to use as the last frame for image-to-video
            generation. Requires `image`. When provided together with `image`,
            the model generates a transition video between the first and last
            frame.
          format: byte
          type: string
        reference_images:
          description: >-
            Up to 30 reference images (subjects, characters, products or style
            references). Each item is a publicly accessible URL or a
            base64-encoded image. Reference them in the prompt using @Image1,
            @Image2, ... @Image30 (1-indexed to the array order).
          items:
            format: byte
            type: string
          maxItems: 30
          type: array
        reference_audios:
          description: >-
            Up to 10 reference audios (2-60s each, mp3 or wav). Each item is a
            publicly accessible URL. Reference them in the prompt using @Audio1,
            @Audio2, ... @Audio10 (1-indexed to the array order).
          items:
            format: uri
            type: string
          maxItems: 10
          type: array
        prompt:
          description: >-
            Text prompt describing the video to generate. To use references,
            mention them as @Image1, @Audio1, ... matching the 1-indexed order
            of each reference array. Maximum 2000 characters.
          example: A cinematic shot of a cat walking through a neon-lit alley at night
          maxLength: 2000
          type: string
        duration:
          default: 5
          description: Video duration in seconds. Any integer from 4 to 30.
          maximum: 30
          minimum: 4
          type: integer
        aspect_ratio:
          default: widescreen_16_9
          description: >-
            Output video aspect ratio. Only applies to text-to-video and
            reference-to-video; ignored when `image` (first frame) is provided
            (the output inherits the start frame ratio).
          enum:
            - film_horizontal_21_9
            - widescreen_16_9
            - classic_4_3
            - square_1_1
            - traditional_3_4
            - social_story_9_16
            - film_vertical_9_21
          type: string
        camera_fixed:
          default: false
          description: >-
            When `true`, the camera position stays fixed (tripod shot). When
            `false`, the model may apply natural camera movements.
          type: boolean
        camera_motion:
          description: >-
            Optional camera movement to guide the shot. Each value is expanded
            into a descriptive instruction appended to the prompt.
          enum:
            - static
            - moveLeft
            - moveRight
            - moveUp
            - moveDown
            - pushIn
            - pullOut
            - zoomIn
            - zoomOut
            - panLeft
            - panRight
            - tiltUp
            - tiltDown
            - truckLeft
            - truckRight
            - pedestalUp
            - pedestalDown
            - superDollyIn
            - superDollyOut
            - crashZoomIn
            - crashZoomOut
            - doubleDolly
            - jibUp
            - jibDown
            - craneUp
            - craneDown
            - craneOverTheHead
            - orbitLeft
            - orbitRight
            - 360Orbit
            - leftCircling
            - rightCircling
            - leftWalking
            - rightWalking
            - upwardTilt
            - downwardTilt
            - fisheye
            - overhead
            - objectPov
            - whipPan
            - dutchAngle
            - dirtyLens
            - lensCrack
            - lensFlare
            - focusChange
            - lowShutter
            - fpvDrone
            - handheld
            - headTracking
            - snorricam
            - stageLeft
            - stageRight
            - scenicShot
            - carChasing
            - throughObjectIn
            - timelapseHuman
            - timelapseLandscape
          type: string
        multishot:
          description: >-
            Optional multishot sequence of up to 6 shots. When provided, the
            shots drive the generation and replace the top-level `prompt` (which
            is still required). If any shot has a `duration`, all shots must
            have one and the durations must sum to `duration`.
          items:
            $ref: '#/components/schemas/seedance_2_5_request_multishot_inner'
          maxItems: 6
          type: array
        seed:
          default: -1
          description: >-
            Random seed for reproducible video generation. Use `-1` for a random
            seed.
          maximum: 4294967295
          minimum: -1
          type: integer
        sound_effects:
          default: true
          description: >-
            Whether to generate native audio (sound effects and ambience) for
            the video.
          type: boolean
        no_music:
          default: false
          description: >-
            Suppress background music in the generated native audio. Only
            applies when `sound_effects` is enabled.
          type: boolean
        output_format:
          default: mp4
          description: >-
            Container format of the generated video. `mov` trades file size for
            colour fidelity; `mp4` is the default.
          enum:
            - mp4
            - mov
          type: string
        enable_safety_checker:
          default: true
          description: >-
            Enable content safety filtering to ensure generated videos comply
            with safety guidelines.
          type: boolean
      required:
        - prompt
      type: object
    _v1_ai_text_to_image_hyperflux_post_200_response:
      example:
        data:
          task_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          status: CREATED
          generated:
            - https://openapi-generator.tech
            - https://openapi-generator.tech
      properties:
        data:
          $ref: '#/components/schemas/task-detail_1'
      required:
        - data
      type: object
    get_all_style_transfer_tasks_400_response:
      example:
        message: message
      properties:
        message:
          type: string
      type: object
    get_all_style_transfer_tasks_400_response_1:
      properties:
        problem:
          $ref: >-
            #/components/schemas/get_all_style_transfer_tasks_400_response_1_problem
      type: object
    get_all_style_transfer_tasks_500_response:
      example:
        message: Internal Server Error
      properties:
        message:
          example: Internal Server Error
          type: string
      type: object
    get_all_style_transfer_tasks_503_response:
      example:
        message: Service Unavailable. Please try again later.
      properties:
        message:
          example: Service Unavailable. Please try again later.
          type: string
      type: object
    seedance_2_5_request_multishot_inner:
      properties:
        prompt:
          description: The prompt describing this shot.
          maxLength: 2000
          type: string
        duration:
          description: Duration of this shot in seconds.
          maximum: 12
          minimum: 1
          type: integer
      required:
        - prompt
      type: object
    task-detail_1:
      allOf:
        - $ref: '#/components/schemas/task'
        - properties:
            generated:
              items:
                description: URL of the generated image
                format: uri
                type: string
              type: array
          required:
            - generated
          type: object
      example:
        task_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
        status: CREATED
        generated:
          - https://openapi-generator.tech
          - https://openapi-generator.tech
    get_all_style_transfer_tasks_400_response_1_problem:
      properties:
        message:
          example: Validation error
          type: string
        invalid_params:
          items:
            $ref: >-
              #/components/schemas/get_all_style_transfer_tasks_400_response_1_problem_invalid_params_inner
          type: array
      required:
        - invalid_params
        - message
      type: object
    task:
      example:
        task_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
        status: CREATED
      properties:
        task_id:
          description: Task identifier
          format: uuid
          type: string
        status:
          description: Task status
          enum:
            - CREATED
            - IN_PROGRESS
            - COMPLETED
            - FAILED
          type: string
      required:
        - status
        - task_id
      type: object
    get_all_style_transfer_tasks_400_response_1_problem_invalid_params_inner:
      properties:
        name:
          description: Name of the invalid parameter.
          example: page
          type: string
        field:
          description: Field of the invalid parameter. Mirrors `name`.
          example: page
          type: string
        reason:
          example: Parameter 'page' must be greater than 0
          type: string
      required:
        - field
        - name
        - reason
      type: object
  examples:
    200-task-created:
      summary: Success - Task created
      value:
        data:
          generated: []
          task_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          status: CREATED
    200-task-in-progress:
      summary: Success - Task in progress
      value:
        data:
          generated: []
          task_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          status: IN_PROGRESS
    200-task-completed:
      summary: Success - Task completed
      value:
        data:
          generated:
            - https://ai-statics.freepik.com/completed_task_image.jpg
          task_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          status: COMPLETED
    200-task-failed:
      summary: Success - Task failed
      value:
        data:
          generated: []
          task_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          status: FAILED
  securitySchemes:
    magnificApiKey:
      description: >
        Your Magnific API key. Required for authentication. [Learn how to obtain
        an API key](https://docs.magnific.com/quickstart)
      in: header
      name: x-magnific-api-key
      type: apiKey

````