| 118 | } |
| 119 | |
| 120 | engine::runtime::TaskRequest make_request(const engine::io::json::Value & object) { |
| 121 | engine::runtime::TaskRequest request; |
| 122 | request.text_input = engine::runtime::Transcript{ |
| 123 | required_string_field(object, "caption"), |
| 124 | required_string_field(object, "vocal_language"), |
| 125 | }; |
| 126 | set_required_option_from_request(request, object, "lyrics", "lyrics"); |
| 127 | set_optional_option_from_request(request, object, "instruction", "instruction"); |
| 128 | set_optional_option_from_request(request, object, "negative_prompt", "negative_prompt"); |
| 129 | set_optional_option_from_request(request, object, "audio_codes", "audio_codes"); |
| 130 | set_required_option_from_request(request, object, "duration", "duration_seconds"); |
| 131 | set_required_option_from_request(request, object, "thinking", "thinking"); |
| 132 | set_required_option_from_request(request, object, "inference_steps", "num_inference_steps"); |
| 133 | set_required_option_from_request(request, object, "guidance_scale", "guidance_scale"); |
| 134 | set_optional_option_from_request(request, object, "use_adg", "use_adg"); |
| 135 | set_required_option_from_request(request, object, "seed", "seed"); |
| 136 | set_optional_option_from_request(request, object, "task_type", "task_type"); |
| 137 | set_optional_option_from_request(request, object, "track_name", "track_name"); |
| 138 | set_optional_option_from_request(request, object, "complete_track_classes", "complete_track_classes"); |
| 139 | set_optional_option_from_request(request, object, "bpm", "bpm"); |
| 140 | set_optional_option_from_request(request, object, "keyscale", "keyscale"); |
| 141 | set_optional_option_from_request(request, object, "timesignature", "timesignature"); |
| 142 | set_optional_option_from_request(request, object, "chunk_mask_mode", "chunk_mask_mode"); |
| 143 | set_optional_option_from_request(request, object, "repainting_start", "repainting_start"); |
| 144 | set_optional_option_from_request(request, object, "repainting_end", "repainting_end"); |
| 145 | set_optional_option_from_request(request, object, "use_cot_metas", "use_cot_metas"); |
| 146 | set_optional_option_from_request(request, object, "use_cot_caption", "use_cot_caption"); |
| 147 | set_optional_option_from_request(request, object, "use_cot_language", "use_cot_language"); |
| 148 | set_optional_option_from_request(request, object, "lm_temperature", "lm_temperature"); |
| 149 | set_optional_option_from_request(request, object, "lm_cfg_scale", "lm_cfg_scale"); |
| 150 | set_optional_option_from_request(request, object, "lm_top_k", "lm_top_k"); |
| 151 | set_optional_option_from_request(request, object, "lm_top_p", "lm_top_p"); |
| 152 | set_optional_option_from_request(request, object, "lm_repetition_penalty", "lm_repetition_penalty"); |
| 153 | set_optional_option_from_request(request, object, "shift", "shift"); |
| 154 | set_optional_option_from_request(request, object, "infer_method", "infer_method"); |
| 155 | set_optional_option_from_request(request, object, "timesteps", "timesteps"); |
| 156 | set_optional_option_from_request(request, object, "audio_cover_strength", "audio_cover_strength"); |
| 157 | set_optional_option_from_request(request, object, "cover_noise_strength", "cover_noise_strength"); |
| 158 | set_optional_option_from_request(request, object, "retake_seed", "retake_seed"); |
| 159 | set_optional_option_from_request(request, object, "retake_variance", "retake_variance"); |
| 160 | set_optional_option_from_request(request, object, "sampler_mode", "sampler_mode"); |
| 161 | set_optional_option_from_request(request, object, "velocity_norm_threshold", "velocity_norm_threshold"); |
| 162 | set_optional_option_from_request(request, object, "velocity_ema_factor", "velocity_ema_factor"); |
| 163 | set_optional_option_from_request(request, object, "cfg_interval_start", "cfg_interval_start"); |
| 164 | set_optional_option_from_request(request, object, "cfg_interval_end", "cfg_interval_end"); |
| 165 | set_optional_option_from_request(request, object, "dcw_enabled", "dcw_enabled"); |
| 166 | set_optional_option_from_request(request, object, "dcw_mode", "dcw_mode"); |
| 167 | set_optional_option_from_request(request, object, "dcw_scaler", "dcw_scaler"); |
| 168 | set_optional_option_from_request(request, object, "dcw_high_scaler", "dcw_high_scaler"); |
| 169 | set_optional_option_from_request(request, object, "dcw_wavelet", "dcw_wavelet"); |
| 170 | set_optional_option_from_request(request, object, "repaint_mode", "repaint_mode"); |
| 171 | set_optional_option_from_request(request, object, "repaint_strength", "repaint_strength"); |
| 172 | set_optional_option_from_request(request, object, "repaint_crossfade_frames", "repaint_crossfade_frames"); |
| 173 | set_optional_option_from_request(request, object, "repaint_injection_ratio", "repaint_injection_ratio"); |
| 174 | set_optional_option_from_request(request, object, "flow_edit_morph", "flow_edit_morph"); |
| 175 | if (const auto * src_audio = object.find("src_audio"); src_audio != nullptr && !src_audio->is_null()) { |
| 176 | const auto wav = engine::audio::read_wav_f32(src_audio->as_string()); |
| 177 | request.audio_input = engine::runtime::AudioBuffer{ |
no test coverage detected