Saltar para o conteúdo principal
POST
/
api
/
v1
/
chat
/
completions
curl --request POST \
  --url https://api.apimart.ai/api/v1/chat/completions \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "gpt-5", # Can be replaced with any supported model ID
    "stream": false,
    "messages": [
      {
        "role": "system",
        "content": "You are a professional AI assistant."
      },
      {
        "role": "user",
        "content": "Tell me about the history of artificial intelligence."
      }
    ]
  }'
import requests

url = "https://api.apimart.ai/api/v1/chat/completions"

payload = {
    "model": "gpt-5",  # Can be replaced with any supported model ID
    "stream": False,
    "messages": [
        {
            "role": "system",
            "content": "You are a professional AI assistant."
        },
        {
            "role": "user",
            "content": "Tell me about the history of artificial intelligence."
        }
    ]
}

headers = {
    "Authorization": "Bearer <token>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
const url = "https://api.apimart.ai/api/v1/chat/completions";

const payload = {
  model: "gpt-5",  // Can be replaced with any supported model ID
  stream: false,
  messages: [
    {
      role: "system",
      content: "You are a professional AI assistant."
    },
    {
      role: "user",
      content: "Tell me about the history of artificial intelligence."
    }
  ]
};

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://api.apimart.ai/api/v1/chat/completions"

    payload := map[string]interface{}{
        "model": "gpt-5",  // Can be replaced with any supported model ID
        "stream": false,
        "messages": []map[string]string{
            {
                "role":    "system",
                "content": "You are a professional AI assistant.",
            },
            {
                "role":    "user",
                "content": "Tell me about the history of artificial intelligence.",
            },
        },
    }

    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://api.apimart.ai/api/v1/chat/completions";

        // Can be replaced with any supported model ID
        String payload = """
        {
          "model": "gpt-5",
          "stream": false,
          "messages": [
            {
              "role": "system",
              "content": "You are a professional AI assistant."
            },
            {
              "role": "user",
              "content": "Tell me about the history of artificial intelligence."
            }
          ]
        }
        """;

        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://api.apimart.ai/api/v1/chat/completions";

// Can be replaced with any supported model ID
$payload = [
    "model" => "gpt-5",
    "stream" => false,
    "messages" => [
        [
            "role" => "system",
            "content" => "You are a professional AI assistant."
        ],
        [
            "role" => "user",
            "content" => "Tell me about the history of artificial intelligence."
        ]
    ]
];

$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://api.apimart.ai/api/v1/chat/completions")

# Can be replaced with any supported model ID
payload = {
  model: "gpt-5",
  stream: false,
  messages: [
    {
      role: "system",
      content: "You are a professional AI assistant."
    },
    {
      role: "user",
      content: "Tell me about the history of artificial intelligence."
    }
  ]
}

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

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://api.apimart.ai/api/v1/chat/completions")!

let payload: [String: Any] = [
    "model": "gpt-5",  // Can be replaced with any supported model ID
    "stream": false,
    "messages": [
        [
            "role": "system",
            "content": "You are a professional AI assistant."
        ],
        [
            "role": "user",
            "content": "Tell me about the history of artificial intelligence."
        ]
    ]
]

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://api.apimart.ai/api/v1/chat/completions";

        // Can be replaced with any supported model ID
        var payload = @"{
            ""model"": ""gpt-5"",
            ""stream"": false,
            ""messages"": [
                {
                    ""role"": ""system"",
                    ""content"": ""You are a professional AI assistant.""
                },
                {
                    ""role"": ""user"",
                    ""content"": ""Tell me about the history of artificial intelligence.""
                }
            ]
        }";

        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://api.apimart.ai/api/v1/chat/completions";
        // Can be replaced with any supported model ID
        const char *payload = "{"
            "\"model\":\"gpt-5\","
            "\"stream\":false,"
            "\"messages\":[{\"role\":\"system\",\"content\":\"You are a professional AI assistant.\"},{\"role\":\"user\",\"content\":\"Tell me about the history of artificial intelligence.\"}]"
        "}";

        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://api.apimart.ai/api/v1/chat/completions"];

        NSDictionary *payload = @{
            @"model": @"gpt-5",  // Can be replaced with any supported model ID
            @"stream": @NO,
            @"messages": @[
                @{
                    @"role": @"system",
                    @"content": @"You are a professional AI assistant."
                },
                @{
                    @"role": @"user",
                    @"content": @"Tell me about the history of artificial intelligence."
                }
            ]
        };

        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://api.apimart.ai/api/v1/chat/completions"

(* Can be replaced with any supported model ID *)
let payload = {|{
  "model": "gpt-5",
  "stream": false,
  "messages": [
    {
      "role": "system",
      "content": "You are a professional AI assistant."
    },
    {
      "role": "user",
      "content": "Tell me about the history of artificial intelligence."
    }
  ]
}|}

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://api.apimart.ai/api/v1/chat/completions');

  // Can be replaced with any supported model ID
  final payload = {
    'model': 'gpt-5',
    'stream': false,
    'messages': [
      {
        'role': 'system',
        'content': 'You are a professional AI assistant.'
      },
      {
        'role': 'user',
        'content': 'Tell me about the history of artificial intelligence.'
      }
    ]
  };

  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://api.apimart.ai/api/v1/chat/completions"

# Can be replaced with any supported model ID
payload <- list(
  model = "gpt-5",
  stream = FALSE,
  messages = list(
    list(
      role = "system",
      content = "You are a professional AI assistant."
    ),
    list(
      role = "user",
      content = "Tell me about the history of artificial intelligence."
    )
  )
)

response <- POST(
  url,
  add_headers(
    Authorization = "Bearer <token>",
    `Content-Type` = "application/json"
  ),
  body = toJSON(payload, auto_unbox = TRUE),
  encode = "raw"
)

cat(content(response, "text"))
{
  "code": 200,
  "data": {
    "id": "chatcmpl-9876543210",
    "object": "chat.completion",
    "created": 1677652288,
    "model": "gpt-5",
    "choices": [
      {
        "index": 0,
        "message": {
          "role": "assistant",
          "content": "The history of artificial intelligence (AI) dates back to the 1950s...\n\n1. **Early Period (1950s-1960s)**: The proposal of the Turing Test marked the beginning of AI research...\n\n2. **Expert Systems Era (1970s-1980s)**: Rule-based systems began to be applied in medical diagnosis, financial analysis, and other fields...\n\n3. **Rise of Machine Learning (1990s-2000s)**: Statistical learning methods gradually became mainstream...\n\n4. **Deep Learning Revolution (2010s-Present)**: Breakthroughs in neural network technology brought explosive growth to AI..."
        },
        "finish_reason": "stop"
      }
    ],
    "usage": {
      "prompt_tokens": 28,
      "completion_tokens": 320,
      "total_tokens": 348
    }
  }
}
{
  "error": {
    "code": 400,
    "message": "Invalid request parameters",
    "type": "invalid_request_error"
  }
}
{
  "error": {
    "code": 401,
    "message": "Authentication failed, please check your API key",
    "type": "authentication_error"
  }
}
{
  "error": {
    "code": 402,
    "message": "Insufficient account balance, please recharge",
    "type": "payment_required"
  }
}
{
  "error": {
    "code": 403,
    "message": "Access forbidden, you don't have permission to access this resource",
    "type": "permission_error"
  }
}
{
  "error": {
    "code": 429,
    "message": "Too many requests, please try again later",
    "type": "rate_limit_error"
  }
}
{
  "error": {
    "code": 500,
    "message": "Internal server error, please try again later",
    "type": "server_error"
  }
}
{
  "error": {
    "code": 502,
    "message": "Bad gateway, service temporarily unavailable",
    "type": "bad_gateway"
  }
}
curl --request POST \
  --url https://api.apimart.ai/api/v1/chat/completions \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "gpt-5", # Can be replaced with any supported model ID
    "stream": false,
    "messages": [
      {
        "role": "system",
        "content": "You are a professional AI assistant."
      },
      {
        "role": "user",
        "content": "Tell me about the history of artificial intelligence."
      }
    ]
  }'
import requests

url = "https://api.apimart.ai/api/v1/chat/completions"

payload = {
    "model": "gpt-5",  # Can be replaced with any supported model ID
    "stream": False,
    "messages": [
        {
            "role": "system",
            "content": "You are a professional AI assistant."
        },
        {
            "role": "user",
            "content": "Tell me about the history of artificial intelligence."
        }
    ]
}

headers = {
    "Authorization": "Bearer <token>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
const url = "https://api.apimart.ai/api/v1/chat/completions";

const payload = {
  model: "gpt-5",  // Can be replaced with any supported model ID
  stream: false,
  messages: [
    {
      role: "system",
      content: "You are a professional AI assistant."
    },
    {
      role: "user",
      content: "Tell me about the history of artificial intelligence."
    }
  ]
};

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://api.apimart.ai/api/v1/chat/completions"

    payload := map[string]interface{}{
        "model": "gpt-5",  // Can be replaced with any supported model ID
        "stream": false,
        "messages": []map[string]string{
            {
                "role":    "system",
                "content": "You are a professional AI assistant.",
            },
            {
                "role":    "user",
                "content": "Tell me about the history of artificial intelligence.",
            },
        },
    }

    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://api.apimart.ai/api/v1/chat/completions";

        // Can be replaced with any supported model ID
        String payload = """
        {
          "model": "gpt-5",
          "stream": false,
          "messages": [
            {
              "role": "system",
              "content": "You are a professional AI assistant."
            },
            {
              "role": "user",
              "content": "Tell me about the history of artificial intelligence."
            }
          ]
        }
        """;

        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://api.apimart.ai/api/v1/chat/completions";

// Can be replaced with any supported model ID
$payload = [
    "model" => "gpt-5",
    "stream" => false,
    "messages" => [
        [
            "role" => "system",
            "content" => "You are a professional AI assistant."
        ],
        [
            "role" => "user",
            "content" => "Tell me about the history of artificial intelligence."
        ]
    ]
];

$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://api.apimart.ai/api/v1/chat/completions")

# Can be replaced with any supported model ID
payload = {
  model: "gpt-5",
  stream: false,
  messages: [
    {
      role: "system",
      content: "You are a professional AI assistant."
    },
    {
      role: "user",
      content: "Tell me about the history of artificial intelligence."
    }
  ]
}

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

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://api.apimart.ai/api/v1/chat/completions")!

let payload: [String: Any] = [
    "model": "gpt-5",  // Can be replaced with any supported model ID
    "stream": false,
    "messages": [
        [
            "role": "system",
            "content": "You are a professional AI assistant."
        ],
        [
            "role": "user",
            "content": "Tell me about the history of artificial intelligence."
        ]
    ]
]

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://api.apimart.ai/api/v1/chat/completions";

        // Can be replaced with any supported model ID
        var payload = @"{
            ""model"": ""gpt-5"",
            ""stream"": false,
            ""messages"": [
                {
                    ""role"": ""system"",
                    ""content"": ""You are a professional AI assistant.""
                },
                {
                    ""role"": ""user"",
                    ""content"": ""Tell me about the history of artificial intelligence.""
                }
            ]
        }";

        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://api.apimart.ai/api/v1/chat/completions";
        // Can be replaced with any supported model ID
        const char *payload = "{"
            "\"model\":\"gpt-5\","
            "\"stream\":false,"
            "\"messages\":[{\"role\":\"system\",\"content\":\"You are a professional AI assistant.\"},{\"role\":\"user\",\"content\":\"Tell me about the history of artificial intelligence.\"}]"
        "}";

        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://api.apimart.ai/api/v1/chat/completions"];

        NSDictionary *payload = @{
            @"model": @"gpt-5",  // Can be replaced with any supported model ID
            @"stream": @NO,
            @"messages": @[
                @{
                    @"role": @"system",
                    @"content": @"You are a professional AI assistant."
                },
                @{
                    @"role": @"user",
                    @"content": @"Tell me about the history of artificial intelligence."
                }
            ]
        };

        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://api.apimart.ai/api/v1/chat/completions"

(* Can be replaced with any supported model ID *)
let payload = {|{
  "model": "gpt-5",
  "stream": false,
  "messages": [
    {
      "role": "system",
      "content": "You are a professional AI assistant."
    },
    {
      "role": "user",
      "content": "Tell me about the history of artificial intelligence."
    }
  ]
}|}

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://api.apimart.ai/api/v1/chat/completions');

  // Can be replaced with any supported model ID
  final payload = {
    'model': 'gpt-5',
    'stream': false,
    'messages': [
      {
        'role': 'system',
        'content': 'You are a professional AI assistant.'
      },
      {
        'role': 'user',
        'content': 'Tell me about the history of artificial intelligence.'
      }
    ]
  };

  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://api.apimart.ai/api/v1/chat/completions"

# Can be replaced with any supported model ID
payload <- list(
  model = "gpt-5",
  stream = FALSE,
  messages = list(
    list(
      role = "system",
      content = "You are a professional AI assistant."
    ),
    list(
      role = "user",
      content = "Tell me about the history of artificial intelligence."
    )
  )
)

response <- POST(
  url,
  add_headers(
    Authorization = "Bearer <token>",
    `Content-Type` = "application/json"
  ),
  body = toJSON(payload, auto_unbox = TRUE),
  encode = "raw"
)

cat(content(response, "text"))
{
  "code": 200,
  "data": {
    "id": "chatcmpl-9876543210",
    "object": "chat.completion",
    "created": 1677652288,
    "model": "gpt-5",
    "choices": [
      {
        "index": 0,
        "message": {
          "role": "assistant",
          "content": "The history of artificial intelligence (AI) dates back to the 1950s...\n\n1. **Early Period (1950s-1960s)**: The proposal of the Turing Test marked the beginning of AI research...\n\n2. **Expert Systems Era (1970s-1980s)**: Rule-based systems began to be applied in medical diagnosis, financial analysis, and other fields...\n\n3. **Rise of Machine Learning (1990s-2000s)**: Statistical learning methods gradually became mainstream...\n\n4. **Deep Learning Revolution (2010s-Present)**: Breakthroughs in neural network technology brought explosive growth to AI..."
        },
        "finish_reason": "stop"
      }
    ],
    "usage": {
      "prompt_tokens": 28,
      "completion_tokens": 320,
      "total_tokens": 348
    }
  }
}
{
  "error": {
    "code": 400,
    "message": "Invalid request parameters",
    "type": "invalid_request_error"
  }
}
{
  "error": {
    "code": 401,
    "message": "Authentication failed, please check your API key",
    "type": "authentication_error"
  }
}
{
  "error": {
    "code": 402,
    "message": "Insufficient account balance, please recharge",
    "type": "payment_required"
  }
}
{
  "error": {
    "code": 403,
    "message": "Access forbidden, you don't have permission to access this resource",
    "type": "permission_error"
  }
}
{
  "error": {
    "code": 429,
    "message": "Too many requests, please try again later",
    "type": "rate_limit_error"
  }
}
{
  "error": {
    "code": 500,
    "message": "Internal server error, please try again later",
    "type": "server_error"
  }
}
{
  "error": {
    "code": 502,
    "message": "Bad gateway, service temporarily unavailable",
    "type": "bad_gateway"
  }
}

Autorizações

Authorization
string
obrigatório
Todos os endpoints da API exigem autenticação por Bearer TokenObtenha sua chave de API:Acesse a página de gerenciamento de chaves de API para obter sua chave de APIAdicione-a ao cabeçalho da requisição:
Authorization: Bearer YOUR_API_KEY

Body

model
string
padrão:"gpt-5"
obrigatório
Nome do modeloOs modelos suportados incluem:
  • OpenAI: gpt-5, gpt-5.1, gpt-5-chat-latest, gpt-5-mini
  • Anthropic: claude-opus-4-8, claude-opus-4-7, claude-opus-4-6, claude-sonnet-4-6, claude-opus-4-5-20251101
  • Google: gemini-3.5-flash, gemini-3.1-pro-preview, gemini-3-pro-preview, gemini-3-pro-preview-thinking, gemini-3-flash-preview, gemini-2.5-pro, gemini-2.5-flash, gemini-2.5-flash-lite
  • DeepSeek: deepseek-v4-pro, deepseek-v4-flash, deepseek-v3.2, deepseek-v3.2-exp, deepseek-r1-250528, deepseek-v3-0324
  • Mais modelos sendo adicionados continuamente…
messages
array
obrigatório
Lista de mensagens da conversaArray de mensagens. Cada mensagem contém os campos role e content.💡 Preenchimento rápido (área Try it):
  1. Clique em ”+ Add an item” para adicionar uma mensagem
  2. Informe user (mensagem do usuário), assistant (resposta da IA) ou system (prompt do sistema) em role
  3. Informe o que deseja dizer em content
Exemplo:
[{"role": "user", "content": "Hello, please introduce yourself"}]
Uso avançado:Adicione um prompt do sistema (para definir o comportamento da IA):
[
  {"role": "system", "content": "You are a professional Python tutor"},
  {"role": "user", "content": "How do I learn programming?"}
]
Conversa em múltiplas rodadas (com contexto):
[
  {"role": "user", "content": "Hello"},
  {"role": "assistant", "content": "Hi! How can I help you?"},
  {"role": "user", "content": "Tell me about AI"}
]
Descrições dos papéis:
  • user: mensagem do usuário (use na maioria das vezes)
  • system: prompt do sistema para definir o comportamento e o papel da IA
  • assistant: respostas anteriores da IA, usadas como contexto da conversa
temperature
number
Controla a aleatoriedade da saída, faixa 0–2
  • Valores mais baixos (por exemplo, 0.2) tornam a saída mais determinística
  • Valores mais altos (por exemplo, 1.8) tornam a saída mais aleatória
Padrão: 1.0
max_tokens
integer
Número máximo de tokens a serem geradosModelos diferentes possuem limites máximos distintos; consulte a documentação de cada modelo
stream
boolean
padrão:"false"
Se deve usar saída em streaming
  • false: resposta completa de uma só vez
  • true: retorno em streaming
Padrão: false
top_p
number
Parâmetro de amostragem por núcleo (nucleus sampling), faixa 0–1Controla a diversidade do texto gerado; recomenda-se usar este parâmetro ou temperaturePadrão: 1.0
frequency_penalty
number
Penalidade de frequência, faixa de -2.0 a 2.0Valores positivos reduzem a probabilidade de repetir as mesmas palavrasPadrão: 0
presence_penalty
number
Penalidade de presença, faixa de -2.0 a 2.0Valores positivos aumentam a probabilidade de abordar novos tópicosPadrão: 0
stop
string or array
Sequências de paradaAté 4 sequências em que a geração será interrompida quando encontradas
n
integer
Número de completions a serem geradasPadrão: 1⚠️ Nota: Você deve informar um número simples (por exemplo, 1), sem aspas; caso contrário, ocorrerá um erro

Resposta

id
string
Identificador único da resposta
object
string
Tipo do objeto, fixado em chat.completion
created
integer
Timestamp de criação
model
string
Nome do modelo efetivamente utilizado
choices
array
Lista de respostas geradas
usage
object
Estatísticas de uso de tokens

Modelos suportados

OpenAI Series

  • gpt-5 - GPT-5 base model
  • gpt-5.1 - GPT-5.1 enhanced version
  • gpt-5-chat-latest - GPT-5 latest chat version
  • gpt-5-mini - GPT-5 lightweight version, cost-effective

Anthropic Series

  • claude-opus-4-8 - Claude Opus 4.8 flagship model
  • claude-opus-4-7 - Claude Opus 4.7 flagship model
  • claude-opus-4-6 - Claude Opus 4.6 flagship model
  • claude-sonnet-4-6 - Claude Sonnet 4.6 balanced version
  • claude-opus-4-5-20251101 - Claude Opus 4.5 model

Google Series

  • gemini-3.5-flash - Gemini 3.5 fast version
  • gemini-3.1-pro-preview - Gemini 3.1 Pro preview version
  • gemini-3-pro-preview - Gemini 3 Pro preview version
  • gemini-3-pro-preview-thinking - Gemini 3 Pro deep thinking preview version
  • gemini-3-flash-preview - Gemini 3 Flash preview version
  • gemini-2.5-pro - Gemini 2.5 professional version
  • gemini-2.5-flash - Gemini 2.5 fast version
  • gemini-2.5-flash-lite - Gemini 2.5 ultra-lightweight version

DeepSeek Series

  • deepseek-v4-pro - DeepSeek V4 professional version
  • deepseek-v4-flash - DeepSeek V4 fast version
  • deepseek-v3.2 - DeepSeek V3.2 standard version
  • deepseek-v3.2-exp - DeepSeek V3.2 experimental version
  • deepseek-r1-250528 - DeepSeek R1 reasoning model
  • deepseek-v3-0324 - DeepSeek V3 standard version

Exemplos de uso

Conversa simples

{
  "model": "gpt-5",
  "stream": false,
  "messages": [
    {"role": "user", "content": "Hello"}
  ]
}

Prompt do sistema

{
  "model": "claude-sonnet-4-6",
  "stream": false,
  "messages": [
    {"role": "system", "content": "You are a professional Python programming tutor"},
    {"role": "user", "content": "How to use list comprehensions?"}
  ]
}

Conversa em múltiplas rodadas

{
  "model": "gemini-2.5-flash",
  "stream": false,
  "messages": [
    {"role": "user", "content": "What is machine learning?"},
    {"role": "assistant", "content": "Machine learning is a branch of artificial intelligence..."},
    {"role": "user", "content": "Can you give me an example?"}
  ]
}