Zum Hauptinhalt springen
POST
/
v1
/
images
/
generations
curl --request POST \
  --url https://api.apimart.ai/v1/images/generations \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "doubao-seedance-4-0",
    "prompt": "A cute panda playing in a bamboo forest",
    "size": "1:1",
    "resolution": "2K",
    "n": 1,
    "image_urls": [
      "https://cdn.apimart.ai/doc/1761215838466614297_9852.png"
    ]
  }'
import requests

url = "https://api.apimart.ai/v1/images/generations"

payload = {
    "model": "doubao-seedance-4-0",
    "prompt": "A cute panda playing in a bamboo forest",
    "size": "1:1",
    "resolution": "2K",
    "n": 1,
    "image_urls": [
        "https://cdn.apimart.ai/doc/1761215838466614297_9852.png"
    ]
}

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/v1/images/generations";

const payload = {
  model: "doubao-seedance-4-0",
  prompt: "A cute panda playing in a bamboo forest",
  size: "1:1",
  resolution: "2K",
  n: 1,
  image_urls: [
    "https://cdn.apimart.ai/doc/1761215838466614297_9852.png"
  ]
};

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/v1/images/generations"

    payload := map[string]interface{}{
        "model":      "doubao-seedance-4-0",
        "prompt":     "A cute panda playing in a bamboo forest",
        "size":       "1:1",
        "resolution": "2K",
        "n":          1,
        "image_urls": []string{
            "https://cdn.apimart.ai/doc/1761215838466614297_9852.png",
        },
    }

    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/v1/images/generations";

        String payload = """
        {
          "model": "doubao-seedance-4-0",
          "prompt": "A cute panda playing in a bamboo forest",
          "size": "1:1",
          "resolution": "2K",
          "n": 1,
          "image_urls": [
            "https://cdn.apimart.ai/doc/1761215838466614297_9852.png"
          ]
        }
        """;

        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/v1/images/generations";

$payload = [
    "model" => "doubao-seedance-4-0",
    "prompt" => "A cute panda playing in a bamboo forest",
    "size" => "1:1",
    "resolution" => "2K",
    "n" => 1,
    "image_urls" => [
        "https://cdn.apimart.ai/doc/1761215838466614297_9852.png"
    ]
];

$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/v1/images/generations")

payload = {
  model: "doubao-seedance-4-0",
  prompt: "A cute panda playing in a bamboo forest",
  size: "1:1",
  resolution: "2K",
  n: 1,
  image_urls: [
    "https://cdn.apimart.ai/doc/1761215838466614297_9852.png"
  ]
}

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/v1/images/generations")!

let payload: [String: Any] = [
    "model": "doubao-seedance-4-0",
    "prompt": "A cute panda playing in a bamboo forest",
    "size": "1:1",
    "resolution": "2K",
    "n": 1,
    "image_urls": [
        "https://cdn.apimart.ai/doc/1761215838466614297_9852.png"
    ]
]

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/v1/images/generations";

        var payload = @"{
            ""model"": ""doubao-seedance-4-0"",
            ""prompt"": ""A cute panda playing in a bamboo forest"",
            ""size"": ""1:1"",
            ""resolution"": ""2K"",
            ""n"": 1,
            ""image_urls"": [
                ""https://cdn.apimart.ai/doc/1761215838466614297_9852.png""
            ]
        }";

        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/v1/images/generations";
        const char *payload = "{"
            "\"model\":\"doubao-seedance-4-0\","
            "\"prompt\":\"A cute panda playing in a bamboo forest\","
            "\"size\":\"1:1\","
            "\"resolution\":\"2K\","
            "\"n\":1,"
            "\"image_urls\":[\"https://cdn.apimart.ai/doc/1761215838466614297_9852.png\"]"
        "}";

        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/v1/images/generations"];
        
        NSDictionary *payload = @{
            @"model": @"doubao-seedance-4-0",
            @"prompt": @"A cute panda playing in a bamboo forest",
            @"size": @"1:1",
            @"resolution": @"2K",
            @"n": @1,
            @"image_urls": @[
                @"https://cdn.apimart.ai/doc/1761215838466614297_9852.png"
            ]
        };
        
        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/v1/images/generations"

let payload = {|{
  "model": "doubao-seedance-4-0",
  "prompt": "A cute panda playing in a bamboo forest",
  "size": "1:1",
  "resolution": "2K",
  "n": 1,
  "image_urls": [
    "https://cdn.apimart.ai/doc/1761215838466614297_9852.png"
  ]
}|}

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/v1/images/generations');
  
  final payload = {
    'model': 'doubao-seedance-4-0',
    'prompt': 'A cute panda playing in a bamboo forest',
    'size': '1:1',
    'resolution': '2K',
    'n': 1,
    'image_urls': [
      'https://cdn.apimart.ai/doc/1761215838466614297_9852.png'
    ]
  };
  
  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/v1/images/generations"

payload <- list(
  model = "doubao-seedance-4-0",
  prompt = "A cute panda playing in a bamboo forest",
  size = "1:1",
  resolution = "2K",
  n = 1,
  image_urls = list(
    "https://cdn.apimart.ai/doc/1761215838466614297_9852.png"
  )
)

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": [
    {
      "status": "submitted",
      "task_id": "task_01K8SGYNNNVBQTXNR4MM964S7K"
    }
  ]
}
{
  "error": {
    "code": 400,
    "message": "Invalid request parameters",
    "type": "invalid_request_error"
  }
}
{
  "error": {
    "code": 401,
    "message": "Invalid authentication credentials",
    "type": "authentication_error"
  }
}
{
  "error": {
    "code": 402,
    "message": "Insufficient balance. Please top up your account",
    "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": "Rate limit exceeded. 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. The server is temporarily unavailable",
    "type": "bad_gateway"
  }
}
curl --request POST \
  --url https://api.apimart.ai/v1/images/generations \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "doubao-seedance-4-0",
    "prompt": "A cute panda playing in a bamboo forest",
    "size": "1:1",
    "resolution": "2K",
    "n": 1,
    "image_urls": [
      "https://cdn.apimart.ai/doc/1761215838466614297_9852.png"
    ]
  }'
import requests

url = "https://api.apimart.ai/v1/images/generations"

payload = {
    "model": "doubao-seedance-4-0",
    "prompt": "A cute panda playing in a bamboo forest",
    "size": "1:1",
    "resolution": "2K",
    "n": 1,
    "image_urls": [
        "https://cdn.apimart.ai/doc/1761215838466614297_9852.png"
    ]
}

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/v1/images/generations";

const payload = {
  model: "doubao-seedance-4-0",
  prompt: "A cute panda playing in a bamboo forest",
  size: "1:1",
  resolution: "2K",
  n: 1,
  image_urls: [
    "https://cdn.apimart.ai/doc/1761215838466614297_9852.png"
  ]
};

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/v1/images/generations"

    payload := map[string]interface{}{
        "model":      "doubao-seedance-4-0",
        "prompt":     "A cute panda playing in a bamboo forest",
        "size":       "1:1",
        "resolution": "2K",
        "n":          1,
        "image_urls": []string{
            "https://cdn.apimart.ai/doc/1761215838466614297_9852.png",
        },
    }

    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/v1/images/generations";

        String payload = """
        {
          "model": "doubao-seedance-4-0",
          "prompt": "A cute panda playing in a bamboo forest",
          "size": "1:1",
          "resolution": "2K",
          "n": 1,
          "image_urls": [
            "https://cdn.apimart.ai/doc/1761215838466614297_9852.png"
          ]
        }
        """;

        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/v1/images/generations";

$payload = [
    "model" => "doubao-seedance-4-0",
    "prompt" => "A cute panda playing in a bamboo forest",
    "size" => "1:1",
    "resolution" => "2K",
    "n" => 1,
    "image_urls" => [
        "https://cdn.apimart.ai/doc/1761215838466614297_9852.png"
    ]
];

$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/v1/images/generations")

payload = {
  model: "doubao-seedance-4-0",
  prompt: "A cute panda playing in a bamboo forest",
  size: "1:1",
  resolution: "2K",
  n: 1,
  image_urls: [
    "https://cdn.apimart.ai/doc/1761215838466614297_9852.png"
  ]
}

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/v1/images/generations")!

let payload: [String: Any] = [
    "model": "doubao-seedance-4-0",
    "prompt": "A cute panda playing in a bamboo forest",
    "size": "1:1",
    "resolution": "2K",
    "n": 1,
    "image_urls": [
        "https://cdn.apimart.ai/doc/1761215838466614297_9852.png"
    ]
]

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/v1/images/generations";

        var payload = @"{
            ""model"": ""doubao-seedance-4-0"",
            ""prompt"": ""A cute panda playing in a bamboo forest"",
            ""size"": ""1:1"",
            ""resolution"": ""2K"",
            ""n"": 1,
            ""image_urls"": [
                ""https://cdn.apimart.ai/doc/1761215838466614297_9852.png""
            ]
        }";

        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/v1/images/generations";
        const char *payload = "{"
            "\"model\":\"doubao-seedance-4-0\","
            "\"prompt\":\"A cute panda playing in a bamboo forest\","
            "\"size\":\"1:1\","
            "\"resolution\":\"2K\","
            "\"n\":1,"
            "\"image_urls\":[\"https://cdn.apimart.ai/doc/1761215838466614297_9852.png\"]"
        "}";

        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/v1/images/generations"];
        
        NSDictionary *payload = @{
            @"model": @"doubao-seedance-4-0",
            @"prompt": @"A cute panda playing in a bamboo forest",
            @"size": @"1:1",
            @"resolution": @"2K",
            @"n": @1,
            @"image_urls": @[
                @"https://cdn.apimart.ai/doc/1761215838466614297_9852.png"
            ]
        };
        
        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/v1/images/generations"

let payload = {|{
  "model": "doubao-seedance-4-0",
  "prompt": "A cute panda playing in a bamboo forest",
  "size": "1:1",
  "resolution": "2K",
  "n": 1,
  "image_urls": [
    "https://cdn.apimart.ai/doc/1761215838466614297_9852.png"
  ]
}|}

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/v1/images/generations');
  
  final payload = {
    'model': 'doubao-seedance-4-0',
    'prompt': 'A cute panda playing in a bamboo forest',
    'size': '1:1',
    'resolution': '2K',
    'n': 1,
    'image_urls': [
      'https://cdn.apimart.ai/doc/1761215838466614297_9852.png'
    ]
  };
  
  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/v1/images/generations"

payload <- list(
  model = "doubao-seedance-4-0",
  prompt = "A cute panda playing in a bamboo forest",
  size = "1:1",
  resolution = "2K",
  n = 1,
  image_urls = list(
    "https://cdn.apimart.ai/doc/1761215838466614297_9852.png"
  )
)

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": [
    {
      "status": "submitted",
      "task_id": "task_01K8SGYNNNVBQTXNR4MM964S7K"
    }
  ]
}
{
  "error": {
    "code": 400,
    "message": "Invalid request parameters",
    "type": "invalid_request_error"
  }
}
{
  "error": {
    "code": 401,
    "message": "Invalid authentication credentials",
    "type": "authentication_error"
  }
}
{
  "error": {
    "code": 402,
    "message": "Insufficient balance. Please top up your account",
    "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": "Rate limit exceeded. 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. The server is temporarily unavailable",
    "type": "bad_gateway"
  }
}

Autorisierung

Authorization
string
erforderlich
Alle API-Endpunkte erfordern eine Bearer-Token-AuthentifizierungAPI-Key abrufen:Besuchen Sie die API-Key-Verwaltungsseite, um Ihren API-Key zu erhaltenFügen Sie ihn dem Request-Header hinzu:
Authorization: Bearer YOUR_API_KEY

Body

model
string
Standard:"doubao-seedance-4-0"
erforderlich
Name des BildgenerierungsmodellsUnterstützte Modelle: doubao-seedance-4-0, doubao-seedream-4.0, doubao-seedream-4-0, Doubao-Seedream-4.0Beispiel: "doubao-seedance-4-0"
prompt
string
erforderlich
Textbeschreibung für die BildgenerierungMaximal 1000 Zeichen
size
string
Standard:"1:1"
Seitenverhältnis des BildesUnterstützte Seitenverhältnisse:
  • 1:1 – Quadrat (Standard)
  • 4:3 – Querformat 4:3
  • 3:4 – Hochformat 3:4
  • 16:9 – Querformat Breitbild
  • 9:16 – Hochformat vertikal
  • 3:2 – Querformat 3:2
  • 2:3 – Hochformat 2:3
  • 21:9 – Ultrabreit
  • 9:21 – Ultrahoch
  • auto – Automatische Anpassung an das Referenzbild-Seitenverhältnis (erfordert image_urls)
resolution
string
Standard:"2K"
BildauflösungUnterstützte Auflösungen:
  • 1K – Basisauflösung
  • 2K – Standardauflösung (Standard)
  • 4K – Hochauflösend
Referenzgrößen für Auflösungen:
AuflösungGröße 1:1Größe 16:9
1K1024x10241280x720
2K2048x20482560x1440
4K4096x40965404x3040
n
integer
Anzahl der zu generierenden BilderBereich: 1–15 (Minimum 1, Maximum 15)Standard: 1Hinweis:
  • Geben Sie eine einfache Zahl ein (z. B. 1), verwenden Sie keine Anführungszeichen, da dies sonst zu einem Fehler führt
Die Gebühren werden im Voraus auf Basis der Anzahl abgebucht
Die Anzahl der Referenzbilder in image_urls + die durch n angegebene endgültige Anzahl generierter Bilder muss ≤ 15 sein.
image_urls
array
Liste der Referenzbild-URLs für Bild-zu-Bild oder BildbearbeitungZwei Formate werden unterstützt:1. Vollständige Bild-URL
  • Öffentlich zugängliche Bild-URL (http:// oder https://)
  • Beispiel: https://example.com/image.jpg
2. Base64-kodiertes Format
  • Muss das vollständige Data-URI-Format verwenden
  • Format: data:image/{format};base64,{base64-data}
  • Unterstützte Bildformate: jpeg, png
  • Beispiel: data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABg...
  • Hinweis: Der Präfix data:image/jpeg;base64, ist erforderlich
Einschränkungen:
  • Bildformate: jpeg, png
  • Seitenverhältnis (Breite/Höhe): [1/3, 3]
  • Breite und Höhe (px) > 14
  • Größe: maximal 10 MB
  • Gesamtpixel: maximal 6000×6000 px
Die Anzahl der Referenzbilder in image_urls + die durch n angegebene endgültige Anzahl generierter Bilder muss ≤ 15 sein.
optimize_prompt_options
string
Standard:"standard"
Modus zur Prompt-Optimierung
  • standard: Standardmodus, erzeugt hochwertigere Inhalte mit längerer Verarbeitungszeit
  • fast: Schnellmodus, erzeugt Inhalte in kürzerer Zeit mit normaler Qualität
Standard: standard
sequential_image_generation
string
Standard:"disabled"
Sequenzieller Bildgenerierungsmodus (Doubao-spezifische Funktion)Steuert, ob mehrere Bilder generiert werden:
  • disabled: Sequenziellen Modus deaktivieren, generiert auch bei mehreren Referenzbildern nur 1 Bild (Standard)
  • auto: Sequenziellen Modus aktivieren, kann mehrere Bilder generieren
Nutzungshinweise:
  • image_urls muss angegeben werden – mindestens 1 Referenzbild erforderlich
  • Setzen Sie n: 3 oder verwenden Sie sequential_image_generation: "auto" + max_images: 3
  • Dadurch werden 3 verschiedene Bilder basierend auf Referenzbildern generiert
  • Wenn n > 1, wird automatisch auf auto gesetzt
Einschränkungen:
  • Reines Text-zu-Bild (ohne image_urls) kann keine mehreren Bilder generieren – dies ist eine Einschränkung der Doubao-API
sequential_image_generation_options
object
Optionen für die sequenzielle BildgenerierungVerfügbar, wenn sequential_image_generation auf auto gesetzt istEigenschaften:
  • max_images (integer): Anzahl der zu generierenden Bilder, Bereich: 1–15
Beispiel:
"sequential_image_generation": "auto",
"sequential_image_generation_options": {
  "max_images": 3
}
watermark
boolean
Standard:"false"
Ob ein Wasserzeichen zum generierten Bild hinzugefügt werden soll
  • true: Wasserzeichen hinzufügen
  • false: Kein Wasserzeichen (Standard)

Response

code
integer
Antwort-Statuscode
data
array
Antwortdaten-Array