curl --request GET \
--url https://recoup-api.vercel.app/api/image/generate \
--header 'x-api-key: <api-key>'import requests
url = "https://recoup-api.vercel.app/api/image/generate"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://recoup-api.vercel.app/api/image/generate', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://recoup-api.vercel.app/api/image/generate",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://recoup-api.vercel.app/api/image/generate"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://recoup-api.vercel.app/api/image/generate")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://recoup-api.vercel.app/api/image/generate")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"images": [
{
"base64": "<string>",
"uint8Array": [
123
],
"mediaType": "<string>"
}
],
"warnings": [
"<string>"
],
"responses": [
{
"finishReason": "<string>"
}
],
"providerMetadata": {
"model": "<string>",
"size": "<string>"
},
"usage": {
"promptTokens": 123,
"completionTokens": 123,
"totalTokens": 123
},
"imageUrl": "<string>",
"arweaveResult": {
"id": "<string>",
"last_tx": "<string>",
"owner": "<string>",
"tags": [
{}
],
"target": "<string>",
"quantity": "<string>",
"data": "<string>",
"reward": "<string>",
"signature": "<string>",
"format": 123
},
"moment": {
"contractAddress": "<string>",
"tokenId": "<string>",
"hash": "<string>",
"chainId": 123
}
}{
"error": "<string>"
}Generate Image
Generate high-quality images using AI models. Images are automatically stored on Arweave and include In Process moment metadata for provenance and ownership tracking.
curl --request GET \
--url https://recoup-api.vercel.app/api/image/generate \
--header 'x-api-key: <api-key>'import requests
url = "https://recoup-api.vercel.app/api/image/generate"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://recoup-api.vercel.app/api/image/generate', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://recoup-api.vercel.app/api/image/generate",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://recoup-api.vercel.app/api/image/generate"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://recoup-api.vercel.app/api/image/generate")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://recoup-api.vercel.app/api/image/generate")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"images": [
{
"base64": "<string>",
"uint8Array": [
123
],
"mediaType": "<string>"
}
],
"warnings": [
"<string>"
],
"responses": [
{
"finishReason": "<string>"
}
],
"providerMetadata": {
"model": "<string>",
"size": "<string>"
},
"usage": {
"promptTokens": 123,
"completionTokens": 123,
"totalTokens": 123
},
"imageUrl": "<string>",
"arweaveResult": {
"id": "<string>",
"last_tx": "<string>",
"owner": "<string>",
"tags": [
{}
],
"target": "<string>",
"quantity": "<string>",
"data": "<string>",
"reward": "<string>",
"signature": "<string>",
"format": 123
},
"moment": {
"contractAddress": "<string>",
"tokenId": "<string>",
"hash": "<string>",
"chainId": 123
}
}{
"error": "<string>"
}Authorizations
Your Recoup API key. Learn more.
Query Parameters
Text description of the image you want to generate
The unique identifier of the account generating the image
Response
Image generated successfully
Response from the image generation endpoint, extending Experimental_GenerateImageResult from the AI SDK
Array of generated image objects
Show child attributes
Show child attributes
Array of warning messages, if any
Array of response metadata from the AI provider
Show child attributes
Show child attributes
Metadata from the AI provider about the generation
Show child attributes
Show child attributes
Token usage information for the image generation
Show child attributes
Show child attributes
Permanent Arweave URL where the image is stored
Arweave transaction object for the stored image
Show child attributes
Show child attributes
In Process moment metadata for provenance and ownership tracking
Show child attributes
Show child attributes
