This endpoint doesn't generate results instantly, you can use the Fetch endpoint to fetch the result or use webhooks.
The result (posted to the webhook_url or retrieved with the Fetch endpoint) looks like this:
{
"task_id": "29e983ca-7e86-4017-a9e3-ef6fe9cd5f2a",
"task_type": "describe",
"image_url": "https://...............xx.png",
"content": [
"1️⃣ a red....",
"2️⃣ a dog....",
"3️⃣ a red dog....",
"4️⃣ dog and ...."
]
}
If the job is not completed, you will get a result like this:
var headers = {
'Content-Type': 'application/json',
'Authorization': 'YOUR_API_KEY'
};
var data = json.encode({
"image_url": "https://...............xx.png"
});
var dio = Dio();
var response = await dio.request(
'https://api.apiframe.pro/describe',
options: Options(
method: 'POST',
headers: headers,
),
data: data,
);
if (response.statusCode == 200) {
print(json.encode(response.data));
}
else {
print(response.statusMessage);
}
var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://api.apiframe.pro/describe");
request.Headers.Add("Authorization", "YOUR_API_KEY");
var content = new StringContent("{\r\n \"image_url\": \"https://...............xx.png\"\r\n}", null, "application/json");
request.Content = content;
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
Console.WriteLine(await response.Content.ReadAsStringAsync());