接口文档

为您提供全面的新手入门文档和教程,方便您轻松上手。

免费额度: 10

SUNO AI音乐(一次2首音乐)

正常 按量计费

支持20秒级别出歌功能 支持20秒级别出歌功能 支持20秒级别出歌功能 再也不用等1-2分钟啦!!! 版本是suno 3.5最新版,支持4分钟的歌曲生成。

更新日期
2024-09-26
免费额度
10
按量计费单价
0.15元/次
每日限制
无限制
请求频率限制
1秒50次

接口地址:https://api.oagi.com.cn/api/suno/generate

返回格式:application/json

请求方式:HTTPPOST

请求示例:

接口说明

歌曲生成:

  • 灵感模式 custom_mode=0

是最简单的一种模式,只需要填入想写的歌的描述词,剩下的(写歌词/写歌名/唱歌)全部交给AI完成

以下为此模式需要的参数,当然,该接口其它参数也可以带上,api系统会自动忽略

!!!强烈建议,当非纯音乐时,在数据建立另一个字段gpt_description_prompt专门存储提交的关键词,这样suno返回结果中的歌词prompt可以直接更新在数据库的prompt中,确保prompt永远是代表歌词

{
    "custom_mode":0,    
    "make_instrumental":0,//是否纯音乐
    "prompt":"写一首关于美女的歌",    
    "mv":"chirp-v3-0",
}

suno-1.png

  • 自定义填词模式 custom_mode=1

最大程度实现自定义需求,可以设置曲风,自定义标题,自定义歌词等

{
    "custom_mode":1,    
    "make_instrumental":0,//当值为1,会忽略下面的prompt,如果携带,API系统会自动忽略,所以当前端界面选择纯音乐时,最好将描述词框隐藏
    "prompt": "[Verse]
I remember the days when we were young
Cruisin' down the boulevard, the night just begun
Neon lights flickering, casting shadows on the street
Our hearts intertwined in the rhythm of the beat

[Verse 2]
The city was our playground, the night was our guide
We danced under the moon, our souls synchronized
We made memories in a world that felt so alive
But now it's all gone, just a distant neon drive

[Chorus]
Oh, take me back to the place where we used to go
Where the music was loud and the feelings overflowed
The cityscape glowing, a symphony in lights
Those moments are etched in my mind, forever in my sights",    
    "tags": "synthwave nostalgic anthemic",    
    "mv": "chirp-v3-0",    
    "title": "Neon Memories",    
    "continue_clip_id": null,    
    "continue_at": null}
}

suno-2.png

suno-3.png

随机歌词(名)生成


返回结果:

{
    "status":"complete",
    "text": "[Verse]
Walking down these city streets
Neon signs shining bright
Lost in the crowd
I'm chasing dreams on this urban night
Everyone's moving in a rush
Caught up in the race
But I'm just tryna find my own little piece of space (yeah, yeah)

[Verse 2]
Concrete jungles and taxi cabs
The city's heartbeat pounds
I'm hearing whispers of hope in the bustling sounds
Skyscrapers reaching for the stars
A million stories unfold
In this maze of possibilities
I'll find my pot of gold (oh-oh-oh)

[Chorus]
City lights
They guide my way (oh-oh-oh)
Through the chaos
I will make my own say (yeah, yeah)
In the rhythm of the streets
I'll find my beat
City lights
They ignite my dreams (yeah-yeah-yeah)",    
        "title": "City Lights"
}


_ueditor_page_break_tag_

回调说明


可查看回调中的结果进行后续逻辑处理

在接收到的回调中:

  • status=1初步生成完成

  • status=2失败,msg可以查看失败原因

  • status=3成功


正常来说,一首歌成功生成会有两次回调:

  • 一次是status=1,此时歌曲的标题/封面图片/歌词/以及一个生成了一部分的音频流已经完成;这个状态完全可以对c端用户展示了,其中最重要的音频流会变生成变返回,直到这首歌完全生成完毕.这个状态是我们API处理的重点,处理好这个对c端用户而言,直观感受就是20秒左右这个首歌就生成好了,用户体验感直接上升N个维度

  • 最后一次是status=3,此时这首歌完全生成好,相比状态1,音频流链接变为mp3链接,并多了一个视频mv链接;业务程序可以在后台将歌曲/音频等转存


开发建议

业务程序在收到status=1后即可向用户展示结果了,至于后面的status=3自己在后端悄悄处理即可


接口文档

开始创作歌曲:

该接口只是提交音乐生成任务,需要根据返回的两个 task_id 和 歌曲生成查询feed接口查询详情,或者根据系统回调处理后续逻辑

回调说明请看这里https://console-docs.apipost.cn/preview/2745057af8a714cd/04658952def83b29

请求参数说明:

参数名参数值是否必填参数类型描述说明
keyBh3oi26r1FPFCMrJ59RKngSXB2是 String必填;从API后台秘钥管理处获得 
callback_url https://baidu.comString必填。Webhook 回调 URL。图片生成完毕之后,生成结果将会以 POST 形式发送到此 Webhook URL。
custom_mode0Integer是否自定义模式,默认0为灵感模式;1-自定义模式   
make_instrumental 0 Boolean是否纯音乐,默认不是纯音乐。若要为纯音乐,填1即可,例如:make_instrumental 1    
prompt美女String描述词或自定义歌词,自定义模式至多1250字(一个中文算1个字),灵感模式至多200字(一个中文算1个字);传知名艺术家名称100%不会生成,比如周杰伦/郎朗    
mvchirp-v3-5String 版本号,填写chirp-v3-5
title  歌名String 歌名
tags 
String风格,至多120字(一个中文算1个字) 
continue_at60String续写时间,在上一段的什么时间点开始续写,单位:秒 
continue_clip_id6bb8fbe4-09f6-4c2b-b945-fe4f026644c0String要续写的id,即task_id 

响应示例:

{
"code": 200,
"msg": "成功",
"data": [
{
"task_id": "f9761a3e-b396-4060-a35b-a26bbce7ba9b",
"status": 1,
"title": "",
"prompt": "美女"
},
{ "task_id": "f9761a3e-b396-4060-a35b-a26bbce7ba9b",
"status": 1,
"title": "",
"prompt": "美女"
}
],

"exec_time": 0.659346,
"ip": "182.129.131.225"
}


歌词生成

Body 请求参数

参数名参数值是否必填参数类型描述说明
prompt漫长的季节String提示词,限制200字符
keyBh3oi26r1FPFCMrJ59RKngSXB2String必填;从API后台秘钥管理处获得
{
    "code": 200,
    "msg": "成功",
    "data": {
"text": "[Verse]
                             夜晚的微风轻轻吹过
                             情感在心里游荡
                             梦想像一片细雨
                             温柔地滋润我的心房
                            
                             [Verse 2]
                             回忆穿越时光的隧道
                             追寻那逝去的年华
                             无论风雨还是晴天
                             我们都要勇敢向前奔跑
                            
                             [Chorus]
                             漫长的季节
                             夺走了我们梦的色彩
                             但是在这里
                             我会给你我最真的拥抱
                             漫长的季节
                             带走了前方的忧愁与苦闷
                             我们一起迎接
                             美好的明天在等着我们",
"title": "漫长的季节", //歌名
"status": "complete" //0
 },
    "exec_time": 6.06432,
    "ip": "117.173.160.45"
}


参数名参数值是否必填参数类型描述说明
code200 Integer
msg成功String
data 
Object
data.text [Verse] 和你一起走过 那片蓝色的天空 手牵手的快乐 一直在我心中 阳光洒在我们的脸上 笑声满满的每一天 你就像星星 闪亮着我的世界 [Chorus] 蓝色的天空 映照我们的梦想 爱情的火花 在这里绽放 我们一起飞翔 解开心中的秘密 蓝色的天空 将永远守护 [Verse] 悄悄地窗外飘过 那朵梦幻的云朵 心在密语 许下美好的诺言 没有风雨能够将我们阻挡 相信明天 会更加美妙String
data.title蓝色的天空 (Blue Sky)String歌名
data.statuscompleteString0
exec_time8.663303Number
ip182.129.131.225String


歌曲查询

非必要接口,任务会通过回调返回,一般不需要主动查询

可以根据生成接口返回的任务id进行查询

请求参数:

参数名参数值是否必填参数类型描述说明
keyBh3oi26r1FPFCMrJ59RKngSXB2String后台申请的key
task_idb88f8f21-4aba-447b-86be-649daa10a1e6String
{	
"code": 200,
"msg": "成功",
"data": {
"status": "3",
"task_id": "fa421931-b29e-4a57-b409-4d14a5a6cbad",
"prompt": "[Verse]
                            Bright light shining in the sky
                            Sunrise comes
                            The day"s begun
                            Let"s fly
                            Gotta soak up the warmth
                            Feel the heat
                            Spread your wings
                            Dance to the beat

                            [Verse 2]
                            Blazing high
                            Like a wildfire
                            Golden glow
                            Taking us higher
                            Like a guiding star
                            Leading our way
                            Sunshine"s here
                            Time to seize the day
                            
                            [Chorus]
                            Oh
                            The sun
                            Oh
                            Rays of fire
                            Ignite the world with your burning desire
                            Oh
                            The sun
                            Your light so bright
                            Fill our hearts with warmth
                            Day and night",
"title": "Rays of Fire",
"gpt_description_prompt": "Write a song about the sun",
"audio_url": "https://cdn1.suno.ai/fa421931-b29e-4a57-b409-4d14a5a6cbad.mp3",
"image_url": "https://cdn1.suno.ai/image_fa421931-b29e-4a57-b409-4d14a5a6cbad.png",
"video_url": "https://cdn1.suno.ai/fa421931-b29e-4a57-b409-4d14a5a6cbad.mp4",
"image_large_url": "https://cdn1.suno.ai/image_large_fa421931-b29e-4a57-b409-4d14a5a6cbad.png",
"tags": null,
"mv": "chirp-v3-0",
"continue_clip_id": null,
"continue_at": null
},
"exec_time": 0.554264,
"ip": "117.173.160.45"}


合并

Body 请求参数

参数名参数值是否必填参数类型描述说明
task_id60ff1687-223d-4f47-963d-6a581f95c617String最后一个部分的 task_id 
keyBh3oi26r1FPFCMrJ59RKngSXB2String必填;从API后台秘钥管理处获得
callback_urlbaiduString






返回示例:


<?php
/**
 * API请求DEMO
 * 
 * 本demo支持GET与POST请求,同时支持签名验证与无需签名。
 */

//你申请的key密钥
$API_KEY = '你的接口密钥,登录控制台后在密钥管理页面申请';

//API接口地址
$API_URL = 'https://api.oagi.com.cn/api/suno/generate';

$get_post_data = array(
    //接口参数,一行一个,可按照接口文档-请求参数 的参数填写,或者直接复制开发工具下面的测试代码。
    'key' => $API_KEY,
	'参数名' => '参数值',
);

//签名校验的 SK:(在用户控制台https://api.oagi.com.cn/user/key的秘钥安全设置->签名校验 开启后才会生效,没开启签名校验留空即可。)
$sk = '56777ab62ff752fbd57ab7228fc2fc43';

/*发起请求API接口:
第1个参数:API接口地址URL,跟上面的同名变量相对应,无需更改。
第2个参数:API接口参数数组,跟上面的同名变量相对应,无需更改。
第3个参数:请求协议(GET或POST),一般默认GET,部分接口需要POST请求,根据实际情况修改为POST即可。
第4个参数:是否验证签名,true验证签名,否则false不验证签名,根据用户控制台 https://api.oagi.com.cn/user/key 的 秘钥安全设置->签名校验 开启后才会生效,如没开启,填写false即可。
第5个参数:如果第4个参数开启验证签名,此处必须填写 SK ,跟上面的同名变量相对应,无需更改。
 */
$resdata = api::send($API_URL, $get_post_data, 'GET', true, $sk);  //发起请求,注意这里要选择接口支持的协议,默认GET,可选POST

//打印请求结果
print($resdata);
///////////////你的业务代码可写在这里处理API返回的数据

/**
 * API请求类
 */
class api
{
    public static function send($API_URL, $get_post_data, $type, $ifsign, $sk)
    {
        $get_post_data = http_build_query($get_post_data);
        if ($ifsign) {
            $sign = md5($get_post_data . $sk);
            $res = self::send_curl($API_URL, $type, $get_post_data, $sign);
        } else {
            $res = self::send_curl($API_URL, $type, $get_post_data, null);
        }
        return $res;
    }
    //封装好的CURL请求函数,支持POST|GET
    public static function send_curl($API_URL, $type, $get_post_data, $sign)
    {
        $ch = curl_init();
        if ($type == 'POST') {
            curl_setopt($ch, CURLOPT_URL, $API_URL);
            curl_setopt($ch, CURLOPT_POST, true);
            curl_setopt($ch, CURLOPT_POSTFIELDS, $get_post_data);
        } elseif ($type == 'GET') {
            curl_setopt($ch, CURLOPT_URL, $API_URL . '?' . $get_post_data);
        }
        if ($sign) {
            curl_setopt($ch, CURLOPT_HTTPHEADER, ['sign:' . $sign]);
        }
        curl_setopt($ch, CURLOPT_REFERER, $API_URL);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_TIMEOUT, 10);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
        $resdata = curl_exec($ch);
        curl_close($ch);
        return $resdata;
    }
}





//jQuery-Ajax
$.ajax({
	url: 'https://api.oagi.com.cn/api/suno/generate',
	data: {
	//接口参数,一行一个,可按照接口文档-请求参数 的参数填写,或者直接复制开发工具下面的测试代码。
		key: '你的接口密钥,登录控制台后在密钥管理页面申请',
		参数名: '参数值',

	},
	type: 'GET', //请求协议(GET或POST),一般默认GET,部分接口需要POST请求,根据实际情况修改为POST即可。
	dataType: 'json',
	success: function(data) {
		console.log(data); //请求成功,输出结果到控制台
	},
	timeout: 3000, //超时时间
	error: function(data) {
		console.log('请求失败'); //失败处理
	}
});


    
子程序名 返回值类型 公开 备 注
__启动窗口_创建完毕    
' 添加并使用《精易模块》
Send_API ()
子程序名 返回值类型 公开 备 注
Send_API    
变量名 类 型 静态 数组 备 注
REQU_Data 文本型   提交字符串
return 文本型   返回字符串
API_URL 文本型   接口地址
API_KEY 文本型   接口密钥
API_URL = “https://api.oagi.com.cn/api/suno/generate”
API_KEY = “你的接口密钥,登录控制台后在密钥管理页面申请”
REQU_Data = "请求参数,根据接口文档的请求参数来拼接字符串(例a=a&b=b&c=c)"
return = 编码_Utf8到Ansi (网页_访问 (API_URL + “?key=” + API_KEY + REQU_Data, , , , , “User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36”))
输出调试文本 (return)

import java.io.BufferedReader; 
import java.io.InputStreamReader; 
import java.net.HttpURLConnection; 
import java.net.URL; 
 
public class Test { 
    public static void main(String[] args) { 
        try { 
            URL url = new URL("https://api.oagi.com.cn/api/suno/generate?key=你的接口密钥,登录控制台后在密钥管理页面申请"); 
            HttpURLConnection connection = (HttpURLConnection)url.openConnection(); 
 
            // 设置请求方式
            connection.setRequestMethod("GET"); 
            connection.connect(); 
 
            // 获取响应码
            int responseCode = connection.getResponseCode(); 
            if (responseCode == HttpURLConnection.HTTP_OK) { 
                BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream())); 
                String line; 
                while ((line = reader.readLine()) != null) { 
                    // 读取到的内容给line变量 
                    System.out.println(line); 
                } 
                reader.close(); 
            } 
        } catch (Exception e) { 
            e.printStackTrace(); 
        } 
    } 
}


package main
 
import (
    "fmt"
    "io/ioutil"
    "net/http"
)
 
func main() {
    // 发起一个GET请求
    resp, err := http.Get("https://api.oagi.com.cn/api/suno/generate?key=你的接口密钥,登录控制台后在密钥管理页面申请")
    if err != nil {
        fmt.Println("http get error", err)
        return
    }
 
    // 读取响应结果
    result, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        fmt.Println("http read error", err)
        return
    }
 
    // 关闭响应结果
    defer resp.Body.Close()
 
    fmt.Println(string(result))
}


```
# 导入requests库
import requests
 
# 设置url
url = 'https://api.oagi.com.cn/api/suno/generate?key=你的接口密钥,登录控制台后在密钥管理页面申请'
 
# 发送post请求
response = requests.post(url, data={'key1': 'value1', 'key2': 'value2'})
 
# 获取响应内容
result = response.json()
 
# 打印结果
print(result)
```

// 以下是使用Node.js进行GET和POST请求API接口的示例代码:

const https = require('https');
const querystring = require('querystring');

// 定义请求选项
const options = {
  hostname: 'api.oagi.com.cn',
  path: '/api/suno/generate',
  method: 'GET'
};

// 发送GET请求
https.get(options, res => {
  console.log(`statusCode: ${res.statusCode}`);

  res.on('data', d => {
    process.stdout.write(d);
  });
}).on('error', error => {
  console.error(error);
});

// 发送POST请求
const postData = querystring.stringify({
  'key1': 'value1',
  'key2': 'value2'
});

const postOptions = {
  hostname: 'api.oagi.com.cn',
  path: '/api/suno/generate',
  method: 'POST',
  headers: {
    'Content-Type': 'application/x-www-form-urlencoded',
    'Content-Length': Buffer.byteLength(postData)
  }
};

const postReq = https.request(postOptions, res => {
  console.log(`statusCode: ${res.statusCode}`);

  res.on('data', d => {
    process.stdout.write(d);
  });
});

postReq.on('error', error => {
  console.error(error);
});

postReq.write(postData);
postReq.end();
/*
这个示例代码使用Node.js内置的`https`模块进行HTTP请求。

首先定义了一个GET请求的选项,然后使用`https.get()`方法发送了GET请求。在响应流上注册回调函数,以便在收到响应数据时将其输出到控制台。在出现错误时,也注册了错误处理程序。

类似地,我们也定义了一个POST请求选项,并使用`https.request()`方法发送它。需要在请求头中包含适当的`Content-Type`和`Content-Length`以确保服务器可以正确解析请求体。请求体由`write()`方法写入,并在请求结束时通过调用`end()`方法通知请求对象已经完成。

注意,此示例默认使用`querystring`模块将数据作为x-www-form-urlencoded格式进行编码。如果需要使用其他格式(如JSON),则需要相应地更改请求头和请求体的编码方式。

另外,为了确保HTTPS请求的安全性,您也可以添加其他选项,例如验证服务器证书、设置代理等。
*/





以下是使用C语言进行GET和POST请求API接口的示例代码:

``` c
#include 
#include 
#include 
#include  // 需要安装curl库

// API地址
const char* url = "https://api.oagi.com.cn/api/suno/generate";

// GET请求
void getRequest(CURL* curl) {
    CURLcode res;

    // 设置URL
    curl_easy_setopt(curl, CURLOPT_URL, url);

    // 执行请求
    res = curl_easy_perform(curl);

    if(res != CURLE_OK) {
        fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res));
    }
}

// POST请求
void postRequest(CURL* curl) {
    CURLcode res;

    // 设置URL
    curl_easy_setopt(curl, CURLOPT_URL, url);

    // 设置POST数据
    const char* postData = "key=你的接口密钥,登录控制台后在密钥管理页面申请&key1=value1";
    curl_easy_setopt(curl, CURLOPT_POSTFIELDS, postData);

    // 执行请求
    res = curl_easy_perform(curl);

    if(res != CURLE_OK) {
        fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res));
    }
}

int main() {
    CURL* curl;
    CURLcode res;

    // 初始化curl
    curl = curl_easy_init();

    if(curl) {
        // 设置SSL验证
        curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 1L);

        // GET请求
        getRequest(curl);

        // POST请求
        postRequest(curl);

        // 清理curl资源
        curl_easy_cleanup(curl);
    }

    return 0;
}
```

这个示例代码使用了libcurl库进行HTTP请求。

首先,需要设置API地址。然后,基于`CURL`结构体创建curl句柄,并使用`curl_easy_setopt()`函数设置选项。这里设置了SSL验证,以确保请求的安全性。

在GET请求中,只需将URL设置为选项,然后调用`curl_easy_perform()`函数执行请求即可。

在POST请求中,还需要将POST数据作为字符串传递给`CURLOPT_POSTFIELDS`选项。

需要注意的是,为了避免内存泄漏,应该在使用完curl句柄之后调用`curl_easy_cleanup()`函数进行清理。

除了上述示例代码外,libcurl库还提供了更多高级选项,例如处理HTTP头、上传文件等。可以参考文档进行更详细的了解。



以下是一个使用C++请求API接口的示例代码:

```cpp
#include 
#include 

int main() {
    CURL *curl;
    CURLcode res;
    std::string url = "https://api.oagi.com.cn/api/suno/generate?key=你的接口密钥,登录控制台后在密钥管理页面申请";
    std::string response;

    curl = curl_easy_init();
    if (curl) {
        curl_easy_setopt(curl, CURLOPT_URL, url.c_str());
        curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
        curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, [](char *ptr, size_t size, size_t nmemb, void *userdata) -> size_t {
            std::string *response = reinterpret_cast(userdata);
            response->append(ptr, size * nmemb);
            return size * nmemb;
        });
        curl_easy_setopt(curl, CURLOPT_WRITEDATA, &response);

        res = curl_easy_perform(curl);
        if (res == CURLE_OK) {
            std::cout << "Response: " << response << std::endl;
        } else {
            std::cerr << "Error: " << curl_easy_strerror(res) << std::endl;
        }
        curl_easy_cleanup(curl);
    }

    return 0;
}
```

解释:

1. 引入需要的头文件:``用于输出结果,``用于使用libcurl库。

2. 定义需要请求的API接口的URL和存储响应数据的字符串变量。

3. 初始化一个CURL对象。

4. 设置CURL对象的参数:请求的URL(`CURLOPT_URL`)、是否跟随重定向(`CURLOPT_FOLLOWLOCATION`)、响应数据的写入函数(`CURLOPT_WRITEFUNCTION`)和响应数据的写入位置(`CURLOPT_WRITEDATA`)。

5. 发送HTTP请求并获取响应数据,判断返回状态码是否OK。

6. 清理CURL对象。

运行该程序会发送GET请求到指定的API接口URL,并在程序终止前将响应数据输出到终端。注意,在使用该示例代码之前需要安装libcurl库。



以下是一个使用C#请求API接口的示例代码:

```csharp
using System;
using System.Net.Http;
using System.Threading.Tasks;

class Program {
    static async Task Main(string[] args) {
        HttpClient client = new HttpClient();
        string url = "https://api.oagi.com.cn/api/suno/generate?key=你的接口密钥,登录控制台后在密钥管理页面申请";
        HttpResponseMessage response = await client.GetAsync(url);
        if (response.IsSuccessStatusCode) {
            string responseBody = await response.Content.ReadAsStringAsync();
            Console.WriteLine("Response: " + responseBody);
        } else {
            Console.WriteLine("Error: " + response.StatusCode);
        }
    }
}
```

解释:

1. 引用需要的命名空间:`System.Net.Http`用于使用HttpClient类,`System.Threading.Tasks`用于异步执行请求操作。

2. 创建一个HttpClient对象。

3. 定义需要请求的API接口的URL。

4. 发送GET请求到指定的API接口URL,并获取响应结果。

5. 判断响应状态是否成功,如果成功则读取响应数据(使用ReadAsStringAsync方法),否则输出错误信息(使用StatusCode属性)。

运行该程序会发送GET请求到指定的API接口URL,并在程序终止前将响应数据输出到终端。注意,在使用该示例代码之前需要安装.NET Framework或.NET Core SDK。



以下是VB请求API接口的示例代码:

```
' 1. 引入Microsoft XML v6.0库
' 2. 创建一个XMLHTTP对象
Dim xhr As XMLHTTP
Set xhr = New XMLHTTP

' 3. 设置请求的URL、方法,以及是否异步等
xhr.Open "GET", "https://api.oagi.com.cn/api/suno/generate?key=你的接口密钥,登录控制台后在密钥管理页面申请", False

' 4. 发送请求
xhr.send

' 5. 获取响应结果
Dim responseText As String
responseText = xhr.responseText

' 6. 输出响应结果
Debug.Print responseText

' 7. 释放资源
Set xhr = Nothing
```

在这个示例中,我们创建了一个XMLHTTP对象,用于请求API接口。我们先调用`open`方法来设置请求的URL、方法,以及是否异步。然后,我们发送请求,并使用`responseText`属性来获取响应结果。最后,我们将响应结果打印到控制台,完成操作后释放资源,以防止内存泄漏。请注意,以上示例代码为同步请求,如果想使用异步请求,需要设置第三个参数为`True`,并在请求结束时处理`OnReadyStateChange`事件。
参数名 填写参数值
评论0
未登录

登录 后发表评论

仅需三步即可快速接入

1
在线调试

填写业务相关参数免费在线调试

2
生成代码

生成符合你的开发语言代码,复制即可

3
业务上线

调整你后端部分逻辑代码即可上线使用

数据驱动未来

立即注册

客服微信

oagi

请打开手机微信,扫一扫联系我们

返回顶部