curl --request POST \\
--url https://aireiter.com/api/openapi/submit \\
--header 'Authorization: Bearer <token>' \\
--header 'Content-Type: application/json' \\
--data '{
"model": "flow_music_cover",
"params": {
"clip_id": "cd984d09-5a77-4a06-9553-e47a55f009b0",
"prompt": "Change it into a soft jazz guitar cover",
"strength": 0.5,
"version": "lyria-3-pro"
},
"out_task_id": "flow_music_cover_123456"
}'
import requests
url = "https://aireiter.com/api/openapi/submit"
payload = {
"model": "flow_music_cover",
"params": {
"clip_id": "cd984d09-5a77-4a06-9553-e47a55f009b0",
"prompt": "Change it into a soft jazz guitar cover",
"strength": 0.5,
"version": "lyria-3-pro"
},
"out_task_id": "flow_music_cover_123456"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
const url = "https://aireiter.com/api/openapi/submit";
const payload = {
model: "flow_music_cover",
params: {
"clip_id": "cd984d09-5a77-4a06-9553-e47a55f009b0",
"prompt": "Change it into a soft jazz guitar cover",
"strength": 0.5,
"version": "lyria-3-pro"
},
out_task_id: "flow_music_cover_123456"
};
const headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
};
fetch(url, {
method: "POST",
headers: headers,
body: JSON.stringify(payload)
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
package main
import (
"bytes"
"encoding/json"
"fmt"
"io/ioutil"
"net/http"
)
func main() {
url := "https://aireiter.com/api/openapi/submit"
payload := map[string]interface{}{
"model": "flow_music_cover",
"params": map[string]interface{}{
"clip_id": "cd984d09-5a77-4a06-9553-e47a55f009b0",
"prompt": "Change it into a soft jazz guitar cover",
"strength": 0.5,
"version": "lyria-3-pro",
},
"out_task_id": "flow_music_cover_123456",
}
jsonData, _ := json.Marshal(payload)
req, _ := http.NewRequest("POST", url, bytes.NewBuffer(jsonData))
req.Header.Set("Authorization", "Bearer <token>")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
body, _ := ioutil.ReadAll(resp.Body)
fmt.Println(string(body))
}
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;
public class Main {
public static void main(String[] args) throws Exception {
String url = "https://aireiter.com/api/openapi/submit";
String payload = """
{
"model": "flow_music_cover",
"params": {
"clip_id": "cd984d09-5a77-4a06-9553-e47a55f009b0",
"prompt": "Change it into a soft jazz guitar cover",
"strength": 0.5,
"version": "lyria-3-pro"
},
"out_task_id": "flow_music_cover_123456"
}
""";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(url))
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(payload))
.build();
HttpResponse<String> response = client.send(request,
HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}
<?php
$url = "https://aireiter.com/api/openapi/submit";
$payload = [
"model" => "flow_music_cover",
"params" => [
"clip_id" => "cd984d09-5a77-4a06-9553-e47a55f009b0",
"prompt" => "Change it into a soft jazz guitar cover",
"strength" => 0.5,
"version" => "lyria-3-pro",
],
"out_task_id" => "flow_music_cover_123456"
];
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($payload));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Authorization: Bearer <token>",
"Content-Type: application/json"
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>
require 'net/http'
require 'json'
require 'uri'
url = URI("https://aireiter.com/api/openapi/submit")
payload = {
model: "flow_music_cover",
params: {
clip_id: "cd984d09-5a77-4a06-9553-e47a55f009b0",
prompt: "Change it into a soft jazz guitar cover",
strength: 0.5,
version: "lyria-3-pro",
},
out_task_id: "flow_music_cover_123456"
}
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
request["Authorization"] = "Bearer <token>"
request["Content-Type"] = "application/json"
request.body = payload.to_json
response = http.request(request)
puts response.body
import Foundation
let url = URL(string: "https://aireiter.com/api/openapi/submit")!
let payload: [String: Any] = [
"model": "flow_music_cover",
"params": [
"clip_id": "cd984d09-5a77-4a06-9553-e47a55f009b0",
"prompt": "Change it into a soft jazz guitar cover",
"strength": 0.5,
"version": "lyria-3-pro",
],
"out_task_id": "flow_music_cover_123456"
]
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer <token>", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.httpBody = try? JSONSerialization.data(withJSONObject: payload)
let task = URLSession.shared.dataTask(with: request) { data, response, error in
if let error = error {
print("Error: \(error)")
return
}
if let data = data, let responseString = String(data: data, encoding: .utf8) {
print(responseString)
}
}
task.resume()
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
var url = "https://aireiter.com/api/openapi/submit";
var payload = @"
{
"model": "flow_music_cover",
"params": {
"clip_id": "cd984d09-5a77-4a06-9553-e47a55f009b0",
"prompt": "Change it into a soft jazz guitar cover",
"strength": 0.5,
"version": "lyria-3-pro"
},
"out_task_id": "flow_music_cover_123456"
}";
using var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", "Bearer <token>");
var content = new StringContent(payload, Encoding.UTF8, "application/json");
var response = await client.PostAsync(url, content);
var result = await response.Content.ReadAsStringAsync();
Console.WriteLine(result);
}
}
#include <stdio.h>
#include <curl/curl.h>
int main(void) {
CURL *curl;
CURLcode res;
curl_global_init(CURL_GLOBAL_DEFAULT);
curl = curl_easy_init();
if(curl) {
const char *url = "https://aireiter.com/api/openapi/submit";
const char *payload = "{\"model\": \"flow_music_cover\", \"params\": {\"clip_id\": \"cd984d09-5a77-4a06-9553-e47a55f009b0\", \"prompt\": \"Change it into a soft jazz guitar cover\", \"strength\": 0.5, \"version\": \"lyria-3-pro\"}, \"out_task_id\": \"flow_music_cover_123456\"}";
struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Authorization: Bearer <token>");
headers = curl_slist_append(headers, "Content-Type: application/json");
curl_easy_setopt(curl, CURLOPT_URL, url);
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, payload);
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
res = curl_easy_perform(curl);
if(res != CURLE_OK) {
fprintf(stderr, "curl_easy_perform() failed: %s\n",
curl_easy_strerror(res));
}
curl_slist_free_all(headers);
curl_easy_cleanup(curl);
}
curl_global_cleanup();
return 0;
}
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSURL *url = [NSURL URLWithString:@"https://aireiter.com/api/openapi/submit"];
NSDictionary *payload = @{
@"model": @"flow_music_cover",
@"params": @{
@"clip_id": @"cd984d09-5a77-4a06-9553-e47a55f009b0",
@"prompt": @"Change it into a soft jazz guitar cover",
@"strength": @0.5,
@"version": @"lyria-3-pro",
},
@"out_task_id": @"flow_music_cover_123456"
};
NSError *error;
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:payload
options:0
error:&error];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"POST"];
[request setValue:@"Bearer <token>" forHTTPHeaderField:@"Authorization"];
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:jsonData];
NSURLSessionDataTask *task = [[NSURLSession sharedSession]
dataTaskWithRequest:request
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
if (error) {
NSLog(@"Error: %@", error);
return;
}
NSString *result = [[NSString alloc] initWithData:data
encoding:NSUTF8StringEncoding];
NSLog(@"%@", result);
}];
[task resume];
[[NSRunLoop mainRunLoop] run];
}
return 0;
}
(* Requires cohttp and yojson libraries *)
open Lwt
open Cohttp
open Cohttp_lwt_unix
let url = "https://aireiter.com/api/openapi/submit"
let payload = {|{
"model": "flow_music_cover",
"params": {
"clip_id": "cd984d09-5a77-4a06-9553-e47a55f009b0",
"prompt": "Change it into a soft jazz guitar cover",
"strength": 0.5,
"version": "lyria-3-pro"
},
"out_task_id": "flow_music_cover_123456"
}|}
let () =
let headers = Header.init ()
|> fun h -> Header.add h "Authorization" "Bearer <token>"
|> fun h -> Header.add h "Content-Type" "application/json"
in
let body = Cohttp_lwt.Body.of_string payload in
let response = Client.post ~headers ~body (Uri.of_string url) >>= fun (resp, body) ->
body |> Cohttp_lwt.Body.to_string >|= fun body_str ->
print_endline body_str
in
Lwt_main.run response
import 'dart:convert';
import 'package:http/http.dart' as http;
void main() async {
final url = Uri.parse('https://aireiter.com/api/openapi/submit');
final payload = {
model: "flow_music_cover",
params: {
clip_id: "cd984d09-5a77-4a06-9553-e47a55f009b0",
prompt: "Change it into a soft jazz guitar cover",
strength: 0.5,
version: "lyria-3-pro",
},
out_task_id: "flow_music_cover_123456"
};
final response = await http.post(
url,
headers: {
'Authorization': 'Bearer <token>',
'Content-Type': 'application/json'
},
body: jsonEncode(payload),
);
print(response.body);
}
library(httr)
library(jsonlite)
url <- "https://aireiter.com/api/openapi/submit"
payload <- list(
model = "flow_music_cover",
params = list(
clip_id = "cd984d09-5a77-4a06-9553-e47a55f009b0",
prompt = "Change it into a soft jazz guitar cover",
strength = 0.5,
version = "lyria-3-pro",
),
out_task_id = "flow_music_cover_123456"
)
response <- POST(
url,
add_headers(
Authorization = "Bearer <token>",
`Content-Type` = "application/json"
),
body = toJSON(payload, auto_unbox = TRUE),
encode = "raw"
)
cat(content(response, "text"))
{
"statusCode": 200,
"message": "",
"data": {
"out_task_id": "flow_music_cover_123456",
"status": "pending",
"created_at": "2026-08-28T07:44:48.000Z"
}
}
{
"statusCode": 400,
"message": "Invalid request parameters",
"ok": false
}
{
"error": {
"code": 401,
"message": "Authentication failed, please check your API key"
}
}
{
"error": {
"code": 433,
"message": "Account balance is insufficient, please top up and try again"
}
}
{
"error": {
"code": 500,
"message": "Internal server error, please try again later"
}
}
Flow Music
Flow Music Cover
- Transform a Flow Music track into a new style
- Asynchronous processing mode, returns a task ID for subsequent queries
- clip_id is required, and strength controls the adaptation intensity
- Returns a new clip_id on success
POST
/
api
/
openapi
/
submit
curl --request POST \\
--url https://aireiter.com/api/openapi/submit \\
--header 'Authorization: Bearer <token>' \\
--header 'Content-Type: application/json' \\
--data '{
"model": "flow_music_cover",
"params": {
"clip_id": "cd984d09-5a77-4a06-9553-e47a55f009b0",
"prompt": "Change it into a soft jazz guitar cover",
"strength": 0.5,
"version": "lyria-3-pro"
},
"out_task_id": "flow_music_cover_123456"
}'
import requests
url = "https://aireiter.com/api/openapi/submit"
payload = {
"model": "flow_music_cover",
"params": {
"clip_id": "cd984d09-5a77-4a06-9553-e47a55f009b0",
"prompt": "Change it into a soft jazz guitar cover",
"strength": 0.5,
"version": "lyria-3-pro"
},
"out_task_id": "flow_music_cover_123456"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
const url = "https://aireiter.com/api/openapi/submit";
const payload = {
model: "flow_music_cover",
params: {
"clip_id": "cd984d09-5a77-4a06-9553-e47a55f009b0",
"prompt": "Change it into a soft jazz guitar cover",
"strength": 0.5,
"version": "lyria-3-pro"
},
out_task_id: "flow_music_cover_123456"
};
const headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
};
fetch(url, {
method: "POST",
headers: headers,
body: JSON.stringify(payload)
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
package main
import (
"bytes"
"encoding/json"
"fmt"
"io/ioutil"
"net/http"
)
func main() {
url := "https://aireiter.com/api/openapi/submit"
payload := map[string]interface{}{
"model": "flow_music_cover",
"params": map[string]interface{}{
"clip_id": "cd984d09-5a77-4a06-9553-e47a55f009b0",
"prompt": "Change it into a soft jazz guitar cover",
"strength": 0.5,
"version": "lyria-3-pro",
},
"out_task_id": "flow_music_cover_123456",
}
jsonData, _ := json.Marshal(payload)
req, _ := http.NewRequest("POST", url, bytes.NewBuffer(jsonData))
req.Header.Set("Authorization", "Bearer <token>")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
body, _ := ioutil.ReadAll(resp.Body)
fmt.Println(string(body))
}
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;
public class Main {
public static void main(String[] args) throws Exception {
String url = "https://aireiter.com/api/openapi/submit";
String payload = """
{
"model": "flow_music_cover",
"params": {
"clip_id": "cd984d09-5a77-4a06-9553-e47a55f009b0",
"prompt": "Change it into a soft jazz guitar cover",
"strength": 0.5,
"version": "lyria-3-pro"
},
"out_task_id": "flow_music_cover_123456"
}
""";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(url))
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(payload))
.build();
HttpResponse<String> response = client.send(request,
HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}
<?php
$url = "https://aireiter.com/api/openapi/submit";
$payload = [
"model" => "flow_music_cover",
"params" => [
"clip_id" => "cd984d09-5a77-4a06-9553-e47a55f009b0",
"prompt" => "Change it into a soft jazz guitar cover",
"strength" => 0.5,
"version" => "lyria-3-pro",
],
"out_task_id" => "flow_music_cover_123456"
];
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($payload));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Authorization: Bearer <token>",
"Content-Type: application/json"
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>
require 'net/http'
require 'json'
require 'uri'
url = URI("https://aireiter.com/api/openapi/submit")
payload = {
model: "flow_music_cover",
params: {
clip_id: "cd984d09-5a77-4a06-9553-e47a55f009b0",
prompt: "Change it into a soft jazz guitar cover",
strength: 0.5,
version: "lyria-3-pro",
},
out_task_id: "flow_music_cover_123456"
}
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
request["Authorization"] = "Bearer <token>"
request["Content-Type"] = "application/json"
request.body = payload.to_json
response = http.request(request)
puts response.body
import Foundation
let url = URL(string: "https://aireiter.com/api/openapi/submit")!
let payload: [String: Any] = [
"model": "flow_music_cover",
"params": [
"clip_id": "cd984d09-5a77-4a06-9553-e47a55f009b0",
"prompt": "Change it into a soft jazz guitar cover",
"strength": 0.5,
"version": "lyria-3-pro",
],
"out_task_id": "flow_music_cover_123456"
]
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer <token>", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.httpBody = try? JSONSerialization.data(withJSONObject: payload)
let task = URLSession.shared.dataTask(with: request) { data, response, error in
if let error = error {
print("Error: \(error)")
return
}
if let data = data, let responseString = String(data: data, encoding: .utf8) {
print(responseString)
}
}
task.resume()
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
var url = "https://aireiter.com/api/openapi/submit";
var payload = @"
{
"model": "flow_music_cover",
"params": {
"clip_id": "cd984d09-5a77-4a06-9553-e47a55f009b0",
"prompt": "Change it into a soft jazz guitar cover",
"strength": 0.5,
"version": "lyria-3-pro"
},
"out_task_id": "flow_music_cover_123456"
}";
using var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", "Bearer <token>");
var content = new StringContent(payload, Encoding.UTF8, "application/json");
var response = await client.PostAsync(url, content);
var result = await response.Content.ReadAsStringAsync();
Console.WriteLine(result);
}
}
#include <stdio.h>
#include <curl/curl.h>
int main(void) {
CURL *curl;
CURLcode res;
curl_global_init(CURL_GLOBAL_DEFAULT);
curl = curl_easy_init();
if(curl) {
const char *url = "https://aireiter.com/api/openapi/submit";
const char *payload = "{\"model\": \"flow_music_cover\", \"params\": {\"clip_id\": \"cd984d09-5a77-4a06-9553-e47a55f009b0\", \"prompt\": \"Change it into a soft jazz guitar cover\", \"strength\": 0.5, \"version\": \"lyria-3-pro\"}, \"out_task_id\": \"flow_music_cover_123456\"}";
struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Authorization: Bearer <token>");
headers = curl_slist_append(headers, "Content-Type: application/json");
curl_easy_setopt(curl, CURLOPT_URL, url);
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, payload);
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
res = curl_easy_perform(curl);
if(res != CURLE_OK) {
fprintf(stderr, "curl_easy_perform() failed: %s\n",
curl_easy_strerror(res));
}
curl_slist_free_all(headers);
curl_easy_cleanup(curl);
}
curl_global_cleanup();
return 0;
}
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSURL *url = [NSURL URLWithString:@"https://aireiter.com/api/openapi/submit"];
NSDictionary *payload = @{
@"model": @"flow_music_cover",
@"params": @{
@"clip_id": @"cd984d09-5a77-4a06-9553-e47a55f009b0",
@"prompt": @"Change it into a soft jazz guitar cover",
@"strength": @0.5,
@"version": @"lyria-3-pro",
},
@"out_task_id": @"flow_music_cover_123456"
};
NSError *error;
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:payload
options:0
error:&error];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"POST"];
[request setValue:@"Bearer <token>" forHTTPHeaderField:@"Authorization"];
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:jsonData];
NSURLSessionDataTask *task = [[NSURLSession sharedSession]
dataTaskWithRequest:request
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
if (error) {
NSLog(@"Error: %@", error);
return;
}
NSString *result = [[NSString alloc] initWithData:data
encoding:NSUTF8StringEncoding];
NSLog(@"%@", result);
}];
[task resume];
[[NSRunLoop mainRunLoop] run];
}
return 0;
}
(* Requires cohttp and yojson libraries *)
open Lwt
open Cohttp
open Cohttp_lwt_unix
let url = "https://aireiter.com/api/openapi/submit"
let payload = {|{
"model": "flow_music_cover",
"params": {
"clip_id": "cd984d09-5a77-4a06-9553-e47a55f009b0",
"prompt": "Change it into a soft jazz guitar cover",
"strength": 0.5,
"version": "lyria-3-pro"
},
"out_task_id": "flow_music_cover_123456"
}|}
let () =
let headers = Header.init ()
|> fun h -> Header.add h "Authorization" "Bearer <token>"
|> fun h -> Header.add h "Content-Type" "application/json"
in
let body = Cohttp_lwt.Body.of_string payload in
let response = Client.post ~headers ~body (Uri.of_string url) >>= fun (resp, body) ->
body |> Cohttp_lwt.Body.to_string >|= fun body_str ->
print_endline body_str
in
Lwt_main.run response
import 'dart:convert';
import 'package:http/http.dart' as http;
void main() async {
final url = Uri.parse('https://aireiter.com/api/openapi/submit');
final payload = {
model: "flow_music_cover",
params: {
clip_id: "cd984d09-5a77-4a06-9553-e47a55f009b0",
prompt: "Change it into a soft jazz guitar cover",
strength: 0.5,
version: "lyria-3-pro",
},
out_task_id: "flow_music_cover_123456"
};
final response = await http.post(
url,
headers: {
'Authorization': 'Bearer <token>',
'Content-Type': 'application/json'
},
body: jsonEncode(payload),
);
print(response.body);
}
library(httr)
library(jsonlite)
url <- "https://aireiter.com/api/openapi/submit"
payload <- list(
model = "flow_music_cover",
params = list(
clip_id = "cd984d09-5a77-4a06-9553-e47a55f009b0",
prompt = "Change it into a soft jazz guitar cover",
strength = 0.5,
version = "lyria-3-pro",
),
out_task_id = "flow_music_cover_123456"
)
response <- POST(
url,
add_headers(
Authorization = "Bearer <token>",
`Content-Type` = "application/json"
),
body = toJSON(payload, auto_unbox = TRUE),
encode = "raw"
)
cat(content(response, "text"))
{
"statusCode": 200,
"message": "",
"data": {
"out_task_id": "flow_music_cover_123456",
"status": "pending",
"created_at": "2026-08-28T07:44:48.000Z"
}
}
{
"statusCode": 400,
"message": "Invalid request parameters",
"ok": false
}
{
"error": {
"code": 401,
"message": "Authentication failed, please check your API key"
}
}
{
"error": {
"code": 433,
"message": "Account balance is insufficient, please top up and try again"
}
}
{
"error": {
"code": 500,
"message": "Internal server error, please try again later"
}
}
The model name for Flow Music Cover in AIReiter is
flow_music_cover. clip_id comes from the output[].clip_id of a successful task.Authorizations
string
required
All endpoints require Bearer Token authentication.Get the API Key:Visit API Key Management Page to get your API Key.When using it, add the following to the request header:
Authorization: Bearer YOUR_API_KEY
Body
string
required
Model name, use the fixed value:
flow_music_cover
object
required
Model parameter object.
Show params object properties
Show params object properties
string
required
The
clip_id of a successful task, from output[].clip_id.It is returned after generate / extend / replace / cover / upload succeed. stems / download / video reuse the same clip_id and do not generate a new one. If there is no clip_id and only an audio file, call flow_music_upload first.string
required
Style instruction, for example, change it to jazz guitar.
number
default:"0.5"
Adaptation strength, range from
0 to 1, step size 0.1. The higher it is, the farther it is from the original track.string
default:"lyria-3-pro"
Lyria version, same price:
lyria-3-pro- Default valuelyria-3.5- Updated vocal model
string
required
Initiator task ID.A user-defined task identifier, required. Only letters, numbers, underscores, and hyphens are supported, with a length of 1-64 characters. You can use this ID later to query the task status and results.
Response
string
Initiator task ID, which can be used to query the result.
string
Initial status, usually
"pending".string
Creation time, in ISO format.
Query Task
Flow Music Cover is an asynchronous music cover model. After submitting the task, useout_task_id to query the task status. Once completed, output contains audio, url, title, text, and the new clip_id.
string
required
The initiating task ID passed when submitting the task.
curl --request POST \
--url https://aireiter.com/api/openapi/query \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"out_task_id": "flow_music_cover_123456"
}'
output:
{
"statusCode": 200,
"message": "",
"data": {
"out_task_id": "flow_music_cover_123456",
"status": "completed",
"created_at": "2026-08-28T07:44:48.000Z",
"completed_at": "2026-08-28T07:45:40.000Z",
"output": [
{
"url": "https://static.aireiter.com/tmp/audio-generator/20260828/IHq9jGo6dh4xcMzzhS2wK-item-0.jpg",
"audio": "https://static.aireiter.com/tmp/audio-generator/20260828/IHq9jGo6dh4xcMzzhS2wK-audio-0.m4a",
"title": "Untitled (Cover)",
"text": "(End - 0:20)",
"clip_id": "c7ea20fe-294c-4a83-81fe-fa6e33dd9ae3"
}
]
}
}
Request Examples
curl --request POST \\
--url https://aireiter.com/api/openapi/submit \\
--header 'Authorization: Bearer <token>' \\
--header 'Content-Type: application/json' \\
--data '{
"model": "flow_music_cover",
"params": {
"clip_id": "cd984d09-5a77-4a06-9553-e47a55f009b0",
"prompt": "Change it into a soft jazz guitar cover",
"strength": 0.5,
"version": "lyria-3-pro"
},
"out_task_id": "flow_music_cover_123456"
}'
import requests
url = "https://aireiter.com/api/openapi/submit"
payload = {
"model": "flow_music_cover",
"params": {
"clip_id": "cd984d09-5a77-4a06-9553-e47a55f009b0",
"prompt": "Change it into a soft jazz guitar cover",
"strength": 0.5,
"version": "lyria-3-pro"
},
"out_task_id": "flow_music_cover_123456"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
const url = "https://aireiter.com/api/openapi/submit";
const payload = {
model: "flow_music_cover",
params: {
"clip_id": "cd984d09-5a77-4a06-9553-e47a55f009b0",
"prompt": "Change it into a soft jazz guitar cover",
"strength": 0.5,
"version": "lyria-3-pro"
},
out_task_id: "flow_music_cover_123456"
};
const headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
};
fetch(url, {
method: "POST",
headers: headers,
body: JSON.stringify(payload)
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
package main
import (
"bytes"
"encoding/json"
"fmt"
"io/ioutil"
"net/http"
)
func main() {
url := "https://aireiter.com/api/openapi/submit"
payload := map[string]interface{}{
"model": "flow_music_cover",
"params": map[string]interface{}{
"clip_id": "cd984d09-5a77-4a06-9553-e47a55f009b0",
"prompt": "Change it into a soft jazz guitar cover",
"strength": 0.5,
"version": "lyria-3-pro",
},
"out_task_id": "flow_music_cover_123456",
}
jsonData, _ := json.Marshal(payload)
req, _ := http.NewRequest("POST", url, bytes.NewBuffer(jsonData))
req.Header.Set("Authorization", "Bearer <token>")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
body, _ := ioutil.ReadAll(resp.Body)
fmt.Println(string(body))
}
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;
public class Main {
public static void main(String[] args) throws Exception {
String url = "https://aireiter.com/api/openapi/submit";
String payload = """
{
"model": "flow_music_cover",
"params": {
"clip_id": "cd984d09-5a77-4a06-9553-e47a55f009b0",
"prompt": "Change it into a soft jazz guitar cover",
"strength": 0.5,
"version": "lyria-3-pro"
},
"out_task_id": "flow_music_cover_123456"
}
""";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(url))
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(payload))
.build();
HttpResponse<String> response = client.send(request,
HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}
<?php
$url = "https://aireiter.com/api/openapi/submit";
$payload = [
"model" => "flow_music_cover",
"params" => [
"clip_id" => "cd984d09-5a77-4a06-9553-e47a55f009b0",
"prompt" => "Change it into a soft jazz guitar cover",
"strength" => 0.5,
"version" => "lyria-3-pro",
],
"out_task_id" => "flow_music_cover_123456"
];
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($payload));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Authorization: Bearer <token>",
"Content-Type: application/json"
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>
require 'net/http'
require 'json'
require 'uri'
url = URI("https://aireiter.com/api/openapi/submit")
payload = {
model: "flow_music_cover",
params: {
clip_id: "cd984d09-5a77-4a06-9553-e47a55f009b0",
prompt: "Change it into a soft jazz guitar cover",
strength: 0.5,
version: "lyria-3-pro",
},
out_task_id: "flow_music_cover_123456"
}
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
request["Authorization"] = "Bearer <token>"
request["Content-Type"] = "application/json"
request.body = payload.to_json
response = http.request(request)
puts response.body
import Foundation
let url = URL(string: "https://aireiter.com/api/openapi/submit")!
let payload: [String: Any] = [
"model": "flow_music_cover",
"params": [
"clip_id": "cd984d09-5a77-4a06-9553-e47a55f009b0",
"prompt": "Change it into a soft jazz guitar cover",
"strength": 0.5,
"version": "lyria-3-pro",
],
"out_task_id": "flow_music_cover_123456"
]
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer <token>", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.httpBody = try? JSONSerialization.data(withJSONObject: payload)
let task = URLSession.shared.dataTask(with: request) { data, response, error in
if let error = error {
print("Error: \(error)")
return
}
if let data = data, let responseString = String(data: data, encoding: .utf8) {
print(responseString)
}
}
task.resume()
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
var url = "https://aireiter.com/api/openapi/submit";
var payload = @"
{
"model": "flow_music_cover",
"params": {
"clip_id": "cd984d09-5a77-4a06-9553-e47a55f009b0",
"prompt": "Change it into a soft jazz guitar cover",
"strength": 0.5,
"version": "lyria-3-pro"
},
"out_task_id": "flow_music_cover_123456"
}";
using var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", "Bearer <token>");
var content = new StringContent(payload, Encoding.UTF8, "application/json");
var response = await client.PostAsync(url, content);
var result = await response.Content.ReadAsStringAsync();
Console.WriteLine(result);
}
}
#include <stdio.h>
#include <curl/curl.h>
int main(void) {
CURL *curl;
CURLcode res;
curl_global_init(CURL_GLOBAL_DEFAULT);
curl = curl_easy_init();
if(curl) {
const char *url = "https://aireiter.com/api/openapi/submit";
const char *payload = "{\"model\": \"flow_music_cover\", \"params\": {\"clip_id\": \"cd984d09-5a77-4a06-9553-e47a55f009b0\", \"prompt\": \"Change it into a soft jazz guitar cover\", \"strength\": 0.5, \"version\": \"lyria-3-pro\"}, \"out_task_id\": \"flow_music_cover_123456\"}";
struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Authorization: Bearer <token>");
headers = curl_slist_append(headers, "Content-Type: application/json");
curl_easy_setopt(curl, CURLOPT_URL, url);
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, payload);
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
res = curl_easy_perform(curl);
if(res != CURLE_OK) {
fprintf(stderr, "curl_easy_perform() failed: %s\n",
curl_easy_strerror(res));
}
curl_slist_free_all(headers);
curl_easy_cleanup(curl);
}
curl_global_cleanup();
return 0;
}
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSURL *url = [NSURL URLWithString:@"https://aireiter.com/api/openapi/submit"];
NSDictionary *payload = @{
@"model": @"flow_music_cover",
@"params": @{
@"clip_id": @"cd984d09-5a77-4a06-9553-e47a55f009b0",
@"prompt": @"Change it into a soft jazz guitar cover",
@"strength": @0.5,
@"version": @"lyria-3-pro",
},
@"out_task_id": @"flow_music_cover_123456"
};
NSError *error;
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:payload
options:0
error:&error];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"POST"];
[request setValue:@"Bearer <token>" forHTTPHeaderField:@"Authorization"];
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:jsonData];
NSURLSessionDataTask *task = [[NSURLSession sharedSession]
dataTaskWithRequest:request
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
if (error) {
NSLog(@"Error: %@", error);
return;
}
NSString *result = [[NSString alloc] initWithData:data
encoding:NSUTF8StringEncoding];
NSLog(@"%@", result);
}];
[task resume];
[[NSRunLoop mainRunLoop] run];
}
return 0;
}
(* Requires cohttp and yojson libraries *)
open Lwt
open Cohttp
open Cohttp_lwt_unix
let url = "https://aireiter.com/api/openapi/submit"
let payload = {|{
"model": "flow_music_cover",
"params": {
"clip_id": "cd984d09-5a77-4a06-9553-e47a55f009b0",
"prompt": "Change it into a soft jazz guitar cover",
"strength": 0.5,
"version": "lyria-3-pro"
},
"out_task_id": "flow_music_cover_123456"
}|}
let () =
let headers = Header.init ()
|> fun h -> Header.add h "Authorization" "Bearer <token>"
|> fun h -> Header.add h "Content-Type" "application/json"
in
let body = Cohttp_lwt.Body.of_string payload in
let response = Client.post ~headers ~body (Uri.of_string url) >>= fun (resp, body) ->
body |> Cohttp_lwt.Body.to_string >|= fun body_str ->
print_endline body_str
in
Lwt_main.run response
import 'dart:convert';
import 'package:http/http.dart' as http;
void main() async {
final url = Uri.parse('https://aireiter.com/api/openapi/submit');
final payload = {
model: "flow_music_cover",
params: {
clip_id: "cd984d09-5a77-4a06-9553-e47a55f009b0",
prompt: "Change it into a soft jazz guitar cover",
strength: 0.5,
version: "lyria-3-pro",
},
out_task_id: "flow_music_cover_123456"
};
final response = await http.post(
url,
headers: {
'Authorization': 'Bearer <token>',
'Content-Type': 'application/json'
},
body: jsonEncode(payload),
);
print(response.body);
}
library(httr)
library(jsonlite)
url <- "https://aireiter.com/api/openapi/submit"
payload <- list(
model = "flow_music_cover",
params = list(
clip_id = "cd984d09-5a77-4a06-9553-e47a55f009b0",
prompt = "Change it into a soft jazz guitar cover",
strength = 0.5,
version = "lyria-3-pro",
),
out_task_id = "flow_music_cover_123456"
)
response <- POST(
url,
add_headers(
Authorization = "Bearer <token>",
`Content-Type` = "application/json"
),
body = toJSON(payload, auto_unbox = TRUE),
encode = "raw"
)
cat(content(response, "text"))
{
"statusCode": 200,
"message": "",
"data": {
"out_task_id": "flow_music_cover_123456",
"status": "pending",
"created_at": "2026-08-28T07:44:48.000Z"
}
}
{
"statusCode": 400,
"message": "Invalid request parameters",
"ok": false
}
{
"error": {
"code": 401,
"message": "Authentication failed, please check your API key"
}
}
{
"error": {
"code": 433,
"message": "Account balance is insufficient, please top up and try again"
}
}
{
"error": {
"code": 500,
"message": "Internal server error, please try again later"
}
}
Mode Notes
The cover version will return a new
clip_id. strength defaults to 0.5.