All Products
Search
Document Center

Intelligent Media Services:Logic and advanced configurations for batch one-click video creation

Last Updated:Jun 23, 2026

Intelligent Production supports batch one-click video creation with two solutions: script-based automated video creation and intelligent text-and-image matching video creation. Learn about the logic and advanced configurations to customize your output.

Advanced configurations for batch one-click video creation

In addition to fast, low-barrier video editing, one-click video creation exposes multiple parameters for fine-tuning the final output. The following examples cover common configurations.

Specify the style and volume of background music and voice-overs

Configure `EditingConfig` as follows:

{
  "SpeechConfig": {
    "Style": "Gentle",
    "Gain": 1.1
  },
  "BackgroundMusicConfig": {
    "Style": "bgm-relaxing",
    "Gain": 0.2
  }
}

For details about the available fields and values, see Voice-over script configurations and Background music configurations.

Specify the timbre and speed of the voice-over

If all videos use the same voice-over `Voice`, configure `EditingConfig` as follows:

{
  "SpeechConfig": {
    "Voice": "zhiru"
  }
}

To randomly select a voice-over `Voice` from a list, separate multiple values with commas. Configure `EditingConfig` as follows:

{
  "SpeechConfig": {
    "Voice": "zhiru,zhilun,zhibei_emo"
  }
}

To adjust the speed of the voice-over, configure `EditingConfig` as follows:

{
  "SpeechConfig": {
    "SpeechRate": 100
  }
}

For more information about the value range of `SpeechRate`, see Configure SpeechRate.

Configure caption effects

Like voice-over `Voice`, `EditingConfig` supports one or more caption effects.

  • Example 1: Randomly select the caption entrance effect from `wave_in` and `fade_in`, and set the exit effect to `wave_out`:

    {
      "SpeechConfig": {
        "AsrConfig": {
           "AaiMotionInEffect": "wave_in,fade_in"
           "AaiMotionInEffect": "wave_out"
        }
      }
    }
  • Example 2: Randomly select the caption loop effect from `normal_display` and `naughty_display`:

    {
      "SpeechConfig": {
        "AsrConfig": {
           "AaiMotionLoopEffect": "normal_display,naughty_display"
        }
      }
    }

Configure the in and out points of input materials

To use only a segment of a long input material, configure the in and out points in `EditingConfig`.

  • Example 1: Configure the in and out points of materials in script-based automated video creation mode.

    InputConfig:
    {
      "MediaGroupArray": [
        {
          "GroupName": "group1",
          "MediaArray": [
            "****9d46c886b45481030f6e****",
            "****c886810b4549d4630f6e****"
          ]
        },
        {
          "GroupName": "group2",
          "MediaArray": [
            "http://test-bucket.oss-cn-shanghai.aliyuncs.com/test1.mp4",
            "http://test-bucket.oss-cn-shanghai.aliyuncs.com/test2.png",
            "****9d46c886b45481030f6e****",
          ]
        }
      ],
      "Title": "Hema Fresh in Huilongguan is now open",
      "SpeechText": "A new Hema Fresh just opened in a nearby mall. Today is the grand opening, so let's check it out. This Hema store is not very large, but the mall is crowded. Snacks and drinks are quite cheap, and the queues are very long. Everyone should come and have a look.",
      "BackgroundMusic": "****b4549d46c88681030f6e****",
      
    }
    
    EditingConfig:
    {
      "MediaConfig": {
        "Volume": 0,
        "MediaMetaDataArray": [
          {
            "Media": "****9d46c886b45481030f6e****",
            "GroupName": "group1"
            "TimeRangeList": [
              {
                "In": 5,
                "Out": 10
              },
              {
                "In": 15,
                "Out": 20
              }
            ]
          },
          {
            "Media": "****9d46c886b45481030f6e****",
            "GroupName": "group2",
            "TimeRangeList": [
              {
                "In": 0,
                "Out": 5
              }
            ]
          },
          {
            "Media": "http://test-bucket.oss-cn-shanghai.aliyuncs.com/test1.mp4",
            "GroupName": "group2",
            "TimeRangeList": [
              {
                "In": 0,
                "Out": 20
              }
            ]
          }
        ]
      }
    }
  • Example 2: Configure the in and out points of materials in intelligent text-and-image matching video creation mode.

    InputConfig:
    {
      "MediaArray": [
        "****9d46c886b45481030f6e****",
        "****c886810b4549d4630f6e****",
        "http://test-bucket.oss-cn-shanghai.aliyuncs.com/test1.mp4",
        "http://test-bucket.oss-cn-shanghai.aliyuncs.com/test2.png"
      ],
      "Title": "Hema Fresh in Huilongguan is now open",
      "SpeechText": "A new Hema Fresh just opened in a nearby mall. Today is the grand opening, so let's check it out. This Hema store is not very large, but the mall is crowded. Snacks and drinks are quite cheap, and the queues are very long. Everyone should come and have a look.",
      "BackgroundMusic": "****b4549d46c88681030f6e****",
    }
    
    EditingConfig:
    {
      "MediaConfig": {
        "MediaMetaDataArray": [
          {
            "Media": "****9d46c886b45481030f6e****",
            "TimeRangeList": [
              {
                "In": 5,
                "Out": 10
              },
              {
                "In": 15,
                "Out": 20
              }
            ]
          },
          {
            "Media": "http://test-bucket.oss-cn-shanghai.aliyuncs.com/test1.mp4",
            "TimeRangeList": [
              {
                "In": 5,
                "Out": 10
              }
            ]
          }
        ]
      }
    }

Configure effects

Add visual effects to video segments and control their frequency. Configure `EditingConfig` as follows:

{
  "ProcessConfig": {
    "AllowVfxEffect": true,
    "VfxEffectProbability": 1.0 // This means an effect is added to every segment.
  }
}

Configure transitions

Add transition effects between video segments and optionally specify a custom list. Configure `EditingConfig` as follows:

{
  "ProcessConfig": {
    "AllowTransition": true,
    "TransitionList": ["linearblur", "colordistance", "crosshatch", "dreamyzoom", "doomscreentransition_up"]
  }
}

By default, transition effects may differ between videos, but a single video uses the same transition effect throughout. To use random transition effects within a single video, configure `EditingConfig` as follows:

{
  "ProcessConfig": {
    "AllowTransition": true,
    "UseUniformTransition": false
  }
}

Configure custom backgrounds

When the input resolution differs from the output resolution, the empty area is filled with a system background or a blurred background by default. You can specify a custom background image, a blurred background, or a solid color instead.

  • Example 1: Use a custom background image. Configure `InputConfig` as follows:

    {
      "MediaArray": [
        "****9d46c886b45481030f6e****"
      ],
      "Title": "Hema Fresh in Huilongguan is now open",
      "SpeechText": "A new Hema Fresh just opened in a nearby mall. Today is the grand opening, so let's check it out. This Hema store is not very large, but the mall is crowded. Snacks and drinks are quite cheap, and the queues are very long. Everyone should come and have a look.",
      "BackgroundMusic": "****b4549d46c88681030f6e****",
      "BackgroundImage": "****c88681b4549d46030f6e****"
    }
  • Example 2: Specify a blurred background. Configure `EditingConfig` as follows:

    {
      "BackgroundImageConfig": {
        "SubType": "Blur",   
        "Radius": 0.1
      }
    }
  • Example 3: Specify a solid color background. Configure `EditingConfig` as follows:

    {
      "BackgroundImageConfig": {
        "SubType": "Color",   
        "Color": "#000000"
      }
    }

Configure a callback for the completion of batch one-click video creation

Submitting a batch one-click video creation task initiates multiple editing subtasks. A completion callback is sent after all subtasks finish. For details about the callback fields, see the BatchProduceMediaComplete event.

Configure a global callback

Configure a global completion callback in the console or by calling an API operation. For more information, see Set callback events.

Configure an API-level callback

You can also set an API-level completion callback in the `userData` field when submitting a task. For an example, see Configure a callback for video editing completion.