URL ="https://www.example.com"
curl -X GET https://platform.lemino.ai/api/url2md/$URL \
-H "x-api-key: YOUR_API_KEY" \
-H "accept: text/plain"
cURL — Upload & Convert
Copy
# 1. Upload a file to get its url
FILE_URL =$(curl -s -X POST https://platform.lemino.ai/upload \
-H "x-api-key: YOUR_API_KEY" \
-H "accept: text/plain" \
-F "file=@/path/to/document.pdf" )
# 2. Convert the uploaded file to markdown
curl -X GET https://platform.lemino.ai/api/url2md/$FILE_URL \
-H "x-api-key: YOUR_API_KEY" \
-H "accept: text/plain"
const url = 'https://www.example.com' ;
const apiUrl = 'https://platform.lemino.ai/api/url2md/' + url ;
const response = await fetch (apiUrl , {
method : 'GET' ,
headers : {
'x-api-key' : 'YOUR_API_KEY' ,
'accept' : 'text/plain'
}
});
const markdown = await response .text ();
console .log (markdown );
JavaScript — Upload & Convert
Copy
// 1. Upload a file to get its url
const form = new FormData ();
form .append ('file' , fileInput .files [0 ]);
const uploadRes = await fetch ('https://platform.lemino.ai/upload' , {
method : 'POST' ,
headers : {
'x-api-key' : 'YOUR_API_KEY' ,
'accept' : 'text/plain'
},
body : form
});
const file_url = await uploadRes .text ();
// 2. Convert the uploaded file to markdown
const response = await fetch ('https://platform.lemino.ai/api/url2md/' + file_url , {
headers : {
'x-api-key' : 'YOUR_API_KEY' ,
'accept' : 'text/plain'
}
});
console .log (await response .text ());
import requests
url = 'https://www.example.com'
api_url = 'https://platform.lemino.ai/api/url2md/' + url
headers = {
'x-api-key' : 'YOUR_API_KEY' ,
'accept' : 'text/plain'
}
response = requests .get (api_url , headers =headers )
markdown = response .text
print (markdown )
Python — Upload & Convert
Copy
import requests
headers = {'x-api-key' : 'YOUR_API_KEY' }
# 1. Upload a file to get its url
with open ('document.pdf' , 'rb' ) as f :
upload = requests .post (
'https://platform.lemino.ai/upload' ,
headers ={**headers , 'accept' : 'text/plain' },
files ={'file' : f }
)
file_url = upload .text
# 2. Convert the uploaded file to markdown
response = requests .get (
'https://platform.lemino.ai/api/url2md/' + file_url ,
headers ={**headers , 'accept' : 'text/plain' }
)
print (response .text )
<?php
$url = 'https://www.example.com' ;
$api_url = 'https://platform.lemino.ai/api/url2md/' . $url ;
$headers = [
'x-api-key: YOUR_API_KEY' ,
'accept: text/plain'
];
$ch = curl_init ();
curl_setopt ($ch , CURLOPT_URL , $api_url );
curl_setopt ($ch , CURLOPT_HTTPHEADER , $headers );
curl_setopt ($ch , CURLOPT_RETURNTRANSFER , true );
$response = curl_exec ($ch );
curl_close ($ch );
echo $response ;
?>
PHP — Upload & Convert
Copy
<?php
// 1. Upload a file to get its url
$ch = curl_init ('https://platform.lemino.ai/upload' );
curl_setopt ($ch , CURLOPT_POST , true );
curl_setopt ($ch , CURLOPT_HTTPHEADER , ['x-api-key: YOUR_API_KEY' , 'accept: text/plain' ]);
curl_setopt ($ch , CURLOPT_POSTFIELDS , ['file' => new CURLFile ('document.pdf' )]);
curl_setopt ($ch , CURLOPT_RETURNTRANSFER , true );
$file_url = curl_exec ($ch );
curl_close ($ch );
// 2. Convert the uploaded file to markdown
$ch = curl_init ('https://platform.lemino.ai/api/url2md/' . $file_url );
curl_setopt ($ch , CURLOPT_HTTPHEADER , ['x-api-key: YOUR_API_KEY' , 'accept: text/plain' ]);
curl_setopt ($ch , CURLOPT_RETURNTRANSFER , true );
echo curl_exec ($ch );
curl_close ($ch );
?>
package main
import (
"fmt"
"io/ioutil"
"net/http"
)
func main () {
url := "https://www.example.com"
apiUrl := "https://platform.lemino.ai/api/url2md/" + url
req , _ := http .NewRequest ("GET" , apiUrl , nil )
req .Header .Add ("x-api-key" , "YOUR_API_KEY" )
req .Header .Add ("accept" , "text/plain" )
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 ))
}
Go — Upload & Convert
Copy
package main
import (
"bytes"
"fmt"
"io"
"mime/multipart"
"net/http"
"os"
)
func main () {
// 1. Upload a file to get its url
file , _ := os .Open ("document.pdf" )
defer file .Close ()
body := &bytes .Buffer {}
writer := multipart .NewWriter (body )
part , _ := writer .CreateFormFile ("file" , "document.pdf" )
io .Copy (part , file )
writer .Close ()
upReq , _ := http .NewRequest ("POST" , "https://platform.lemino.ai/upload" , body )
upReq .Header .Set ("x-api-key" , "YOUR_API_KEY" )
upReq .Header .Set ("accept" , "text/plain" )
upReq .Header .Set ("Content-Type" , writer .FormDataContentType ())
upResp , _ := http .DefaultClient .Do (upReq )
defer upResp .Body .Close ()
upBody , _ := io .ReadAll (upResp .Body )
fileURL := string (upBody )
// 2. Convert the uploaded file to markdown
req , _ := http .NewRequest ("GET" , "https://platform.lemino.ai/api/url2md/" +fileURL , nil )
req .Header .Set ("x-api-key" , "YOUR_API_KEY" )
req .Header .Set ("accept" , "text/plain" )
resp , _ := http .DefaultClient .Do (req )
defer resp .Body .Close ()
md , _ := io .ReadAll (resp .Body )
fmt .Println (string (md ))
}
require 'net/http'
require 'uri'
url = 'https://www.example.com'
api_url = 'https://platform.lemino.ai/api/url2md/' + url
uri = URI (api_url )
http = Net::HTTP .new (uri .host , uri .port )
http .use_ssl = true
request = Net::HTTP::Get .new (uri )
request ['x-api-key' ] = 'YOUR_API_KEY'
request ['accept' ] = 'text/plain'
response = http .request (request )
puts response .body
Ruby — Upload & Convert
Copy
require 'net/http'
require 'uri'
# 1. Upload a file to get its url
upload_uri = URI ('https://platform.lemino.ai/upload' )
upload = Net::HTTP::Post .new (upload_uri )
upload ['x-api-key' ] = 'YOUR_API_KEY'
upload ['accept' ] = 'text/plain'
upload .set_form ([['file' , File .open ('document.pdf' )]], 'multipart/form-data' )
http = Net::HTTP .new (upload_uri .host , upload_uri .port )
http .use_ssl = true
file_url = http .request (upload ).body
# 2. Convert the uploaded file to markdown
convert_uri = URI ('https://platform.lemino.ai/api/url2md/' + file_url )
request = Net::HTTP::Get .new (convert_uri )
request ['x-api-key' ] = 'YOUR_API_KEY'
request ['accept' ] = 'text/plain'
puts http .request (request ).body
import java.net.http.* ;
import java.net.URI ;
public class ApiClient {
public static void main (String [] args ) throws Exception {
String url = "https://www.example.com" ;
String apiUrl = "https://platform.lemino.ai/api/url2md/" + url ;
HttpClient client = HttpClient .newHttpClient ();
HttpRequest request = HttpRequest .newBuilder ()
.uri (URI .create (apiUrl ))
.header ("x-api-key" , "YOUR_API_KEY" )
.header ("accept" , "text/plain" )
.build ();
HttpResponse <String > response = client .send (request ,
HttpResponse.BodyHandlers .ofString ());
System .out .println (response .body ());
}
}
Java — Upload & Convert
Copy
import java.net.http.* ;
import java.net.URI ;
import java.nio.file.* ;
import java.util.List ;
public class ApiClient {
public static void main (String [] args ) throws Exception {
HttpClient client = HttpClient .newHttpClient ();
String boundary = "----lemino" + System .currentTimeMillis ();
// 1. Upload a file to get its url
var parts = List .of (
("--" + boundary + "\r\nContent-Disposition: form-data; name=\"file\"; filename=\"document.pdf\"\r\n\r\n" ).getBytes (),
Files .readAllBytes (Path .of ("document.pdf" )),
("\r\n--" + boundary + "--\r\n" ).getBytes ()
);
HttpRequest upload = HttpRequest .newBuilder ()
.uri (URI .create ("https://platform.lemino.ai/upload" ))
.header ("x-api-key" , "YOUR_API_KEY" )
.header ("accept" , "text/plain" )
.header ("Content-Type" , "multipart/form-data; boundary=" + boundary )
.POST (HttpRequest.BodyPublishers .ofByteArrays (parts ))
.build ();
String fileUrl = client .send (upload , HttpResponse.BodyHandlers .ofString ()).body ();
// 2. Convert the uploaded file to markdown
HttpRequest request = HttpRequest .newBuilder ()
.uri (URI .create ("https://platform.lemino.ai/api/url2md/" + fileUrl ))
.header ("x-api-key" , "YOUR_API_KEY" )
.header ("accept" , "text/plain" )
.build ();
System .out .println (client .send (request , HttpResponse.BodyHandlers .ofString ()).body ());
}
}
import okhttp3.*
import java.io.IOException
fun main () {
val url = "https://example.com"
val apiUrl = "https://platform.lemino.ai/api/url2md/" + url
val client = OkHttpClient .Builder ()
.connectTimeout (30 , java.util.concurrent.TimeUnit.SECONDS )
.readTimeout (60 , java.util.concurrent.TimeUnit.SECONDS )
.writeTimeout (30 , java.util.concurrent.TimeUnit.SECONDS )
.build ()
val request = Request .Builder ()
.url (apiUrl )
.addHeader ("x-api-key" , "YOUR_API_KEY" )
.addHeader ("accept" , "text/plain" )
.build ()
val response = client .newCall (request ).execute ()
println (response .body?.string ())
}
Kotlin — Upload & Convert
Copy
import okhttp3.*
import okhttp3.RequestBody.Companion.asRequestBody
import java.io.File
fun main () {
val client = OkHttpClient ()
val file = File ("document.pdf" )
// 1. Upload a file to get its url
val uploadBody = MultipartBody .Builder ()
.setType (MultipartBody .FORM )
.addFormDataPart ("file" , file .name , file .asRequestBody ())
.build ()
val uploadReq = Request .Builder ()
.url ("https://platform.lemino.ai/upload" )
.addHeader ("x-api-key" , "YOUR_API_KEY" )
.addHeader ("accept" , "text/plain" )
.post (uploadBody )
.build ()
val fileUrl = client .newCall (uploadReq ).execute ().body!!.string ()
// 2. Convert the uploaded file to markdown
val request = Request .Builder ()
.url ("https://platform.lemino.ai/api/url2md/" + fileUrl )
.addHeader ("x-api-key" , "YOUR_API_KEY" )
.addHeader ("accept" , "text/plain" )
.build ()
println (client .newCall (request ).execute ().body?.string ())
}
import Foundation
let url = "https://example.com"
let apiUrl = "https://platform.lemino.ai/api/url2md/" + url
guard let requestUrl = URL (string : apiUrl ) else {
print ("Invalid URL" )
exit(1)
}
var request = URLRequest (url : requestUrl )
request .httpMethod = "GET"
request .setValue ("YOUR_API_KEY" , forHTTPHeaderField : "x-api-key" )
request .setValue ("text/plain" , forHTTPHeaderField : "accept" )
let semaphore = DispatchSemaphore (value : 0 )
let task = URLSession .shared .dataTask (with : request ) { data , response , error in
if let error = error {
print ("Error: \( error )" )
} else if let data = data , let result = String (data : data , encoding : .utf8 ) {
print (result )
}
semaphore .signal ()
}
task .resume ()
semaphore .wait ()
Swift — Upload & Convert
Copy
import Foundation
let apiKey = "YOUR_API_KEY"
let boundary = "Boundary-\( UUID ())"
let fileData = try! Data (contentsOf : URL (fileURLWithPath : "document.pdf" ))
// 1. Upload a file to get its url
var body = Data ()
body .append ("--\(boundary)\r\nContent-Disposition: form-data; name=\"file\"; filename=\"document.pdf\"\r\n\r\n" .data (using : .utf8 )!)
body .append (fileData )
body .append ("\r\n--\(boundary)--\r\n" .data (using : .utf8 )!)
var uploadReq = URLRequest (url : URL (string : "https://platform.lemino.ai/upload" )!)
uploadReq .httpMethod = "POST"
uploadReq .setValue (apiKey , forHTTPHeaderField : "x-api-key" )
uploadReq .setValue ("text/plain" , forHTTPHeaderField : "accept" )
uploadReq .setValue ("multipart/form-data; boundary=\(boundary)" , forHTTPHeaderField : "Content-Type" )
let (data , _ ) = try await URLSession .shared .upload (for : uploadReq , from : body )
let fileUrl = String (data : data , encoding : .utf8 )!
// 2. Convert the uploaded file to markdown
var request = URLRequest (url : URL (string : "https://platform.lemino.ai/api/url2md/" + fileUrl )!)
request .setValue (apiKey , forHTTPHeaderField : "x-api-key" )
request .setValue ("text/plain" , forHTTPHeaderField : "accept" )
let (md , _ ) = try await URLSession .shared .data (for : request )
print (String (data : md , encoding : .utf8 )!)
#include <iostream>
#include <string>
#include <curl/curl.h>
size_t WriteCallback (void * contents , size_t size , size_t nmemb , std::string * response ) {
size_t totalSize = size * nmemb ;
response ->append ((char *)contents , totalSize );
return totalSize ;
}
int main () {
std::string url = "https://example.com" ;
std::string apiUrl = "https://platform.lemino.ai/api/url2md/" + url ;
CURL * curl ;
CURLcode res ;
std::string response ;
curl = curl_easy_init ();
if (curl ) {
struct curl_slist * headers = NULL ;
headers = curl_slist_append (headers , "x-api-key: YOUR_API_KEY" );
headers = curl_slist_append (headers , "accept: text/plain" );
curl_easy_setopt (curl , CURLOPT_URL , apiUrl .c_str ());
curl_easy_setopt (curl , CURLOPT_HTTPHEADER , headers );
curl_easy_setopt (curl , CURLOPT_WRITEFUNCTION , WriteCallback );
curl_easy_setopt (curl , CURLOPT_WRITEDATA , &response );
res = curl_easy_perform (curl );
curl_slist_free_all (headers );
curl_easy_cleanup (curl );
}
std::cout << response << std::endl ;
return 0 ;
}
C++ — Upload & Convert
Copy
#include <iostream>
#include <string>
#include <curl/curl.h>
size_t WriteCallback (void * c , size_t s , size_t n , std::string * out ) {
out ->append ((char *)c , s * n );
return s * n ;
}
int main () {
CURL * curl = curl_easy_init ();
std::string fileUrl , markdown ;
// 1. Upload a file to get its url
struct curl_slist * up = NULL ;
up = curl_slist_append (up , "x-api-key: YOUR_API_KEY" );
up = curl_slist_append (up , "accept: text/plain" );
curl_mime * mime = curl_mime_init (curl );
curl_mimepart * part = curl_mime_addpart (mime );
curl_mime_name (part , "file" );
curl_mime_filedata (part , "document.pdf" );
curl_easy_setopt (curl , CURLOPT_URL , "https://platform.lemino.ai/upload" );
curl_easy_setopt (curl , CURLOPT_HTTPHEADER , up );
curl_easy_setopt (curl , CURLOPT_MIMEPOST , mime );
curl_easy_setopt (curl , CURLOPT_WRITEFUNCTION , WriteCallback );
curl_easy_setopt (curl , CURLOPT_WRITEDATA , &fileUrl );
curl_easy_perform (curl );
// 2. Convert the uploaded file to markdown
struct curl_slist * cv = NULL ;
cv = curl_slist_append (cv , "x-api-key: YOUR_API_KEY" );
cv = curl_slist_append (cv , "accept: text/plain" );
curl_easy_setopt (curl , CURLOPT_MIMEPOST , NULL );
curl_easy_setopt (curl , CURLOPT_HTTPGET , 1L );
curl_easy_setopt (curl , CURLOPT_URL , ("https://platform.lemino.ai/api/url2md/" + fileUrl ).c_str ());
curl_easy_setopt (curl , CURLOPT_HTTPHEADER , cv );
curl_easy_setopt (curl , CURLOPT_WRITEDATA , &markdown );
curl_easy_perform (curl );
std::cout << markdown << std::endl ;
curl_mime_free (mime );
curl_easy_cleanup (curl );
return 0 ;
}
using System ;
using System.Net.Http ;
using System.Threading.Tasks ;
class Program
{
static async Task Main (string [] args )
{
string url = "https://example.com" ;
string apiUrl = "https://platform.lemino.ai/api/url2md/" + url ;
using var client = new HttpClient ();
client .DefaultRequestHeaders .Add ("x-api-key" , "YOUR_API_KEY" );
client .DefaultRequestHeaders .Add ("accept" , "text/plain" );
try
{
var response = await client .GetAsync (apiUrl );
string result = await response .Content .ReadAsStringAsync ();
Console .WriteLine (result );
}
catch (Exception ex )
{
Console .WriteLine ($"Error: { ex .Message }" );
}
}
}
C# — Upload & Convert
Copy
using System ;
using System.IO ;
using System.Net.Http ;
using System.Threading.Tasks ;
class Program
{
static async Task Main ()
{
using var client = new HttpClient ();
client .DefaultRequestHeaders .Add ("x-api-key" , "YOUR_API_KEY" );
client .DefaultRequestHeaders .Add ("accept" , "text/plain" );
// 1. Upload a file to get its url
using var form = new MultipartFormDataContent ();
form .Add (new ByteArrayContent (File .ReadAllBytes ("document.pdf" )), "file" , "document.pdf" );
var fileUrl = await (await client .PostAsync ("https://platform.lemino.ai/upload" , form )).Content .ReadAsStringAsync ();
// 2. Convert the uploaded file to markdown
var markdown = await client .GetStringAsync ("https://platform.lemino.ai/api/url2md/" + fileUrl );
Console .WriteLine (markdown );
}
}