include <stdio.h>
include <stdlib.h>
include <string.h>
include <curl/curl.h>
define MAX_RESPONSE_LENGTH
4096
char endpoint[] = "https://a...content-available-to-author-only...i.com/v1/engines/davinci-codex/completions";
void call_api(char input[]) {
CURL *curl;
CURLcode res;
char response[MAX_RESPONSE_LENGTH] = "";
curl = curl_easy_init();
if (curl) {
char
*data
= malloc
(MAX_INPUT_LENGTH
+ strlen(input
) + 100); if (data == NULL) {
printf("Memory allocation failed.\n"); return;
}
sprintf(data
, "{\"prompt\": \"%s\", \"max_tokens\": 150}", input
);
curl_easy_setopt(curl, CURLOPT_URL, endpoint);
curl_easy_setopt(curl, CURLOPT_POST, 1L);
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, data);
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, "Content-Type: application/json");
curl_easy_setopt(curl, CURLOPT_USERPWD, "sk-proj-O6ivYofdtFBpWeqTrl4GT3BlbkFJuxxxO0vW5MiMgAVAfIE9"); // Replace "YOUR_API_KEY" with your OpenAI API key
curl_easy_setopt
(curl
, CURLOPT_WRITEFUNCTION
, fwrite); curl_easy_setopt(curl, CURLOPT_WRITEDATA, &response);
res = curl_easy_perform(curl);
if (res == CURLE_OK) {
printf("Generated Details:\n%s\n", response
); } else {
printf("Failed to call OpenAI API: %s\n", curl_easy_strerror
(res
)); }
free(data);
curl_easy_cleanup(curl);
}
}
int main() {
char input[MAX_INPUT_LENGTH];
fgets(input
, MAX_INPUT_LENGTH
, stdin
);
// Remove newline character from the input
call_api(input);
return 0;
}
aW5jbHVkZSA8c3RkaW8uaD4KaW5jbHVkZSA8c3RkbGliLmg+CmluY2x1ZGUgPHN0cmluZy5oPgppbmNsdWRlIDxjdXJsL2N1cmwuaD4KIApkZWZpbmUgTUFYX0lOUFVUX0xFTkdUSCA1MDAKZGVmaW5lIE1BWF9SRVNQT05TRV9MRU5HVEggNDA5NgogCmNoYXIgZW5kcG9pbnRbXSA9ICJodHRwczovL2EuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLmkuY29tL3YxL2VuZ2luZXMvZGF2aW5jaS1jb2RleC9jb21wbGV0aW9ucyI7CiAKdm9pZCBjYWxsX2FwaShjaGFyIGlucHV0W10pIHsKICAgIENVUkwgKmN1cmw7CiAgICBDVVJMY29kZSByZXM7CiAgICBjaGFyIHJlc3BvbnNlW01BWF9SRVNQT05TRV9MRU5HVEhdID0gIiI7CiAKICAgIGN1cmwgPSBjdXJsX2Vhc3lfaW5pdCgpOwogICAgaWYgKGN1cmwpIHsKICAgICAgICBjaGFyICpkYXRhID0gbWFsbG9jKE1BWF9JTlBVVF9MRU5HVEggKyBzdHJsZW4oaW5wdXQpICsgMTAwKTsKICAgICAgICBpZiAoZGF0YSA9PSBOVUxMKSB7CiAgICAgICAgICAgIHByaW50ZigiTWVtb3J5IGFsbG9jYXRpb24gZmFpbGVkLlxuIik7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAKICAgICAgICBzcHJpbnRmKGRhdGEsICJ7XCJwcm9tcHRcIjogXCIlc1wiLCBcIm1heF90b2tlbnNcIjogMTUwfSIsIGlucHV0KTsKIAogICAgICAgIGN1cmxfZWFzeV9zZXRvcHQoY3VybCwgQ1VSTE9QVF9VUkwsIGVuZHBvaW50KTsKICAgICAgICBjdXJsX2Vhc3lfc2V0b3B0KGN1cmwsIENVUkxPUFRfUE9TVCwgMUwpOwogICAgICAgIGN1cmxfZWFzeV9zZXRvcHQoY3VybCwgQ1VSTE9QVF9QT1NURklFTERTLCBkYXRhKTsKICAgICAgICBjdXJsX2Vhc3lfc2V0b3B0KGN1cmwsIENVUkxPUFRfSFRUUEhFQURFUiwgIkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbiIpOwogICAgICAgIGN1cmxfZWFzeV9zZXRvcHQoY3VybCwgQ1VSTE9QVF9VU0VSUFdELCAic2stcHJvai1PNml2WW9mZHRGQnBXZXFUcmw0R1QzQmxia0ZKdXh4eE8wdlc1TWlNZ0FWQWZJRTkiKTsgLy8gUmVwbGFjZSAiWU9VUl9BUElfS0VZIiB3aXRoIHlvdXIgT3BlbkFJIEFQSSBrZXkKICAgICAgICBjdXJsX2Vhc3lfc2V0b3B0KGN1cmwsIENVUkxPUFRfV1JJVEVGVU5DVElPTiwgZndyaXRlKTsKICAgICAgICBjdXJsX2Vhc3lfc2V0b3B0KGN1cmwsIENVUkxPUFRfV1JJVEVEQVRBLCAmcmVzcG9uc2UpOwogCiAgICAgICAgcmVzID0gY3VybF9lYXN5X3BlcmZvcm0oY3VybCk7CiAgICAgICAgaWYgKHJlcyA9PSBDVVJMRV9PSykgewogICAgICAgICAgICBwcmludGYoIkdlbmVyYXRlZCBEZXRhaWxzOlxuJXNcbiIsIHJlc3BvbnNlKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBwcmludGYoIkZhaWxlZCB0byBjYWxsIE9wZW5BSSBBUEk6ICVzXG4iLCBjdXJsX2Vhc3lfc3RyZXJyb3IocmVzKSk7CiAgICAgICAgfQogCiAgICAgICAgZnJlZShkYXRhKTsKICAgICAgICBjdXJsX2Vhc3lfY2xlYW51cChjdXJsKTsKICAgIH0KfQogCmludCBtYWluKCkgewogICAgY2hhciBpbnB1dFtNQVhfSU5QVVRfTEVOR1RIXTsKIAogICAgcHJpbnRmKCJFbnRlciB5b3VyIGlucHV0OiAiKTsKICAgIGZnZXRzKGlucHV0LCBNQVhfSU5QVVRfTEVOR1RILCBzdGRpbik7CiAKICAgIC8vIFJlbW92ZSBuZXdsaW5lIGNoYXJhY3RlciBmcm9tIHRoZSBpbnB1dAogICAgaW5wdXRbc3RyY3NwbihpbnB1dCwgIlxuIildID0gMDsKIAogICAgY2FsbF9hcGkoaW5wdXQpOwogCiAgICByZXR1cm4gMDsKfQ==
include <stdio.h>
include <stdlib.h>
include <string.h>
include <curl/curl.h>
define MAX_INPUT_LENGTH 500
define MAX_RESPONSE_LENGTH 4096
char endpoint[] = "https://a...content-available-to-author-only...i.com/v1/engines/davinci-codex/completions";
void call_api(char input[]) {
CURL *curl;
CURLcode res;
char response[MAX_RESPONSE_LENGTH] = "";
curl = curl_easy_init();
if (curl) {
char *data = malloc(MAX_INPUT_LENGTH + strlen(input) + 100);
if (data == NULL) {
printf("Memory allocation failed.\n");
return;
}
sprintf(data, "{\"prompt\": \"%s\", \"max_tokens\": 150}", input);
curl_easy_setopt(curl, CURLOPT_URL, endpoint);
curl_easy_setopt(curl, CURLOPT_POST, 1L);
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, data);
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, "Content-Type: application/json");
curl_easy_setopt(curl, CURLOPT_USERPWD, "sk-proj-O6ivYofdtFBpWeqTrl4GT3BlbkFJuxxxO0vW5MiMgAVAfIE9"); // Replace "YOUR_API_KEY" with your OpenAI API key
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, fwrite);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, &response);
res = curl_easy_perform(curl);
if (res == CURLE_OK) {
printf("Generated Details:\n%s\n", response);
} else {
printf("Failed to call OpenAI API: %s\n", curl_easy_strerror(res));
}
free(data);
curl_easy_cleanup(curl);
}
}
int main() {
char input[MAX_INPUT_LENGTH];
printf("Enter your input: ");
fgets(input, MAX_INPUT_LENGTH, stdin);
// Remove newline character from the input
input[strcspn(input, "\n")] = 0;
call_api(input);
return 0;
}