API调用
在您的 AI 项目按前面的步骤成功部署或发布后,我们会在云端为您创建一个该 AI 项目的服务,并提供简洁的网络 API,供您在开发中快速调用。接下来,我们以部署教程中部署好的pipeline项目为例,让您轻松上手 API 调用。
进入API界面
首先,我们需要在侧边栏点击Pipeline一栏,并选择之前创建好的文生图pipeline项目。

进入后,我们需要在侧边栏下方对应项目下找到并点击API一栏,进入API界面。

在该界面中,您可以查看该项目的API地址,以及调用时需要传入和返回的参数,以及调用方式。
API调用
Limit Studio 提供了API的多种语言调用方法,以上图中API为例,该API的调用方法如下所示:
javascript
fetch('https://dev.pipeline.api.limit.dev/v2/deployment/run/3IQNZwnu', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
Authorization: 'Bearer {{{YOUR TOKEN}}}',
},
body: JSON.stringify({ Text_o9ad: 'your value' }),
})
.then((response) => response.json())
.then((data) => console.log(data))bash
curl --location --request POST 'https://dev.pipeline.api.limit.dev/v2/deployment/run/3IQNZwnu' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{{YOUR TOKEN}}}' \
--data-raw '{"Text_o9ad":"your value"}'java
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{"Text_o9ad":"your value"}");
Request request = new Request.Builder()
.url("https://dev.pipeline.api.limit.dev/v2/deployment/run/3IQNZwnu")
.method("POST", body)
.addHeader("Authorization", "Bearer {{{YOUR TOKEN}}}")
.addHeader("Content-Type", "application/json")
.build();
Response response = client.newCall(request).execute();swift
import Foundation
#if canImport(FoundationNetworking)
import FoundationNetworking
#endif
var semaphore = DispatchSemaphore (value: 0)
let parameters = "{"Text_o9ad":"your value"}"
let postData = parameters.data(using: .utf8)
var request = URLRequest(url: URL(string: "https://dev.pipeline.api.limit.dev/v2/deployment/run/3IQNZwnu")!,timeoutInterval: Double.infinity)
request.addValue("Bearer {{{YOUR TOKEN}}}", forHTTPHeaderField: "Authorization")
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.httpMethod = "POST"
request.httpBody = postData
let task = URLSession.shared.dataTask(with: request) { data, response, error in
guard let data = data else {
print(String(describing: error))
semaphore.signal()
return
}
print(String(data: data, encoding: .utf8)!)
semaphore.signal()
}
task.resume()
semaphore.wait()python
import requests
import json
url = "https://dev.pipeline.api.limit.dev/v2/deployment/run/3IQNZwnu"
payload = "{"Text_o9ad":"your value"}"
headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer {{{YOUR TOKEN}}}'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)ruby
require "uri"
require "json"
require "net/http"
url = URI("https://dev.pipeline.api.limit.dev/v2/deployment/run/3IQNZwnu")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = "application/json"
request["Authorization"] = 'Bearer {{{YOUR TOKEN}}}'
request.body = "{"Text_o9ad":"your value"}"
response = https.request(request)
puts response.read_bodydart
var headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer {{{YOUR TOKEN}}}'
};
var request = http.Request('POST', Uri.parse('https://dev.pipeline.api.limit.dev/v2/deployment/run/3IQNZwnu'));
request.body = '''{"Text_o9ad":"your value"}''';
request.headers.addAll(headers);
http.StreamedResponse response = await request.send();
if (response.statusCode == 200) {
print(await response.stream.bytesToString());
}
else {
print(response.reasonPhrase);
}注意
在调用API时,请使用POST方式,并且需要根据API界面左侧给出的API地址、参数和返回在代码中作相应的调整。
无论用什么方式调用API,API都会以JSON的形式返回。
关于API参数的更多介绍,可以查看API参数寻找更多的帮助。