Skip to content

API调用

在您的 AI 项目按前面的步骤成功部署或发布后,我们会在云端为您创建一个该 AI 项目的服务,并提供简洁的网络 API,供您在开发中快速调用。接下来,我们以部署教程中部署好的pipeline项目为例,让您轻松上手 API 调用。

进入API界面

首先,我们需要在侧边栏点击Pipeline一栏,并选择之前创建好的文生图pipeline项目。

pipeline项目

进入后,我们需要在侧边栏下方对应项目下找到并点击API一栏,进入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_body
dart
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参数寻找更多的帮助。