Source: https://ailoot.ai/models/cs/recraft-recraft-v4-pro/
Canonical: https://ailoot.ai/models/cs/recraft-recraft-v4-pro/
Language: cs

# Recraft: Recraft V4 Pro

[Markdown](https://ailoot.ai/models/cs/recraft-recraft-v4-pro/index.md) · [JSON](https://ailoot.ai/models/cs/recraft-recraft-v4-pro/facts.json)

## [Recraft: Recraft V4 Pro](https://ailoot.ai/models/cs/recraft-recraft-v4-pro/)

Recraft V4 Pro generuje rastrové obrázky 2K pro detailní kompozice, fotorealismus, ilustraci a tvůrčí práci určenou k tisku. Je edicí V4 s vyšším rozlišením, textovými zadáními, volitelnými stylovými vstupy a samostatným postupem image-to-image.

- [**Ailoot Ultra · Obrázky** `POST /v1/images/generations` `recraft/recraft-v4-pro`](https://ailoot.ai/models/cs/recraft-recraft-v4-pro/#method-0)

O modelu

Tento popis zahrnuje schopnosti modelu. Vstupy, výstupy a možnosti dostupné v Ailoot jsou uvedeny níže pro vybranou metodu.

Recraft V4 Pro je rastrový model s vyšším rozlišením v rodině Recraft V4. V4 se zaměřuje na vizuální úsudek, vyváženou kompozici, souvislé barvy a pečlivou interpretaci tvůrčího směru. Výrobce určuje Pro pro jemnější detaily, realističtější složité scény a rozsáhlé produkční vizuály. Použijte jej pro detailní ilustraci, redakční obrázek, koncept plakátu či jiný materiál těžící z většího rastrového výsledku. Zůstává oddělený od pozdějšího modelu V4.1 a výstupu SVG V4 Pro Vector.

Konkrétní kód výrobce je recraftv4\_pro. Dokumentovaný výstup je rastrový 2K v bezztrátovém WebP nebo PNG: 2048 × 2048 pixelů pro čtverec, 2688 × 1536 pro 16:9 a 1664 × 2560 pro 2:3. Ostatní podporované poměry mají vlastní rozměry. Zvolte poměr stran pro zamýšlené rozvržení nebo přesnou povolenou velikost; libovolná pixelová velikost není součástí dokumentované smlouvy generování. Standardní V4 má menší rastrový výstup 1K, zatímco vektorové modely nemají pevné pixelové rozlišení.

V4 může interpretovat krátký prompt pro zkoumání nebo strukturovaný prompt pro řízený výsledek. Pro konkrétní výtvarný směr postupuje příručka výrobce od objektu a prostředí k rámování, vlastnostem, prostorovým vztahům, osvětlení, hloubce a náladě. U redakčního produktového obrázku požadujte dramatickou svislou fotografii sochařsky pojaté židle, povrchy z kartáčovaného kovu, boční osvětlení, klidné tmavé pozadí a prostor nad předmětem pro nadpis. Pojmenování těchto vztahů objasňuje zamýšlenou kompozici více než obecný požadavek na prémiový obrázek.

Tvůrčí rozsah rodiny zahrnuje příběhovou ilustraci, fotorealistické scény a prostorové vizuály s vodítky pro materiál a osvětlení. Výsledek vypadající jako 3D je stále obrázkem, nikoli editovatelnou 3D scénou. U grafického plakátu určete vizuální vrstvy a jejich interakci: pozadí, ilustraci či fotografii, hierarchii nadpisu a podpůrný text. V4 je určen pro čitelné krátké a středně dlouhé fráze, ale konečný pravopis a hierarchii je třeba prohlédnout místo odvozování z názvu modelu.

Současná dokumentace generování dovoluje prompty do 10 000 znaků, jeden až šest výstupů, náhodný seed a ovládání preferovaných barev a barvy pozadí. Volitelné vlastní styly či kompatibilní referenční obrázky mohou vést vzhled pomocí flexible nebo precise matching. Model nepřijímá starší ovládání V3 negative\_prompt, předpřipravené styly, text\_layout, artistic\_level ani no\_text. Zamýšlený finální obrázek popište v pozitivním promptu a požadavky na objekt, rozvržení a barvy ponechte explicitní. Pro generování podle stylových referencí použijte jeden až deset obrázků PNG, JPG nebo WebP, celkem nejvýše 64 MB a každý pod 20 MB. Každá reference potřebuje nejkratší stranu alespoň 256 pixelů, nejdelší nejvýše 4 096 pixelů a rozlišení nejvýše 16 megapixelů. Použijte buď tyto reference, nebo kompatibilní uložený styl, nikoli obojí.

Recraft dokumentuje samostatnou operaci image-to-image pro V4. Kombinuje existující obrázek a prompt se silou od 0 do 1 řídící míru změny a v této operaci nepřijímá ovládání vlastních stylů V4. Zdroj připravte v rámci limitů obrazového vstupu výrobce a uveďte vlastnosti, které se mají přenést do nového výsledku. U většího finálního materiálu zkontrolujte jemné detaily, ořez a písmo v zamýšlené velikosti. Další rastrové detaily Pro tuto kontrolu podporují, zatímco obrázek zůstává generovanou interpretací dodaného tvůrčího zadání. Pro image-to-image dodejte PNG, JPG, WebP nebo SVG pod 20 MB, nejvýše 16 megapixelů, s oběma stranami mezi 256 a 4 096 pixely.

**Ailoot Ultra · Obrázky** `POST /v1/images/generations` `recraft/recraft-v4-pro`

[`recraft/recraft-v4-pro`](https://ailoot.ai/models/cs/#m=recraft%2Frecraft-v4-pro&route=Ultra&caller=recraft%2Frecraft-v4-pro&fmt=images)

Recraft /`recraft/recraft-v4-pro`

### Úvod

Recraft V4 Pro generuje rastrové obrázky 2K pro detailní kompozice, fotorealismus, ilustraci a tvůrčí práci určenou k tisku. Je edicí V4 s vyšším rozlišením, textovými zadáními, volitelnými stylovými vstupy a samostatným postupem image-to-image.

Přijímané vstupy

Text · Obrázky

Výsledky

Obrázky

### Dostupné v Ailoot · vstupy a metody

**Ailoot Ultra · Obrázky** `POST /v1/images/generations`

Vstup

`text`, `image`

Výstup

`image`

Výstupní formát

Soubor obrázku

| Pole | Typ | Požadavek | Hodnoty a limity | Výchozí |
| --- | --- | --- | --- | --- |
| Pole`model` | Typ`string` | PožadavekPovinné | Hodnoty a limity recraft/recraft-v4-pro | Výchozí— |
| Pole`prompt` | Typ`string` | PožadavekPovinné | Hodnoty a limity Minimální délka: 1 | Výchozí— |
| Pole`n` | Typ`integer` | PožadavekVolitelné | Hodnoty a limity Minimum: 1 Maximum: 6 | Výchozí— |
| Pole`aspect_ratio` | Typ`string` | PožadavekVolitelné | Hodnoty a limity 1:1, 4:3, 3:4, 16:9, 9:16, auto | Výchozí— |
| Pole`input_references` | Typ`array` | PožadavekVolitelné | Hodnoty a limity Minimální počet položek: 0 Maximální počet položek: 1 | Výchozí— |

Kombinace vstupních materiálů

**Text na obrázek** · Povinné: prompt

Parametry a životní cyklus metody

| Parametr | Kontrakt |
| --- | --- |
| Parametr`content_type` | Kontraktapplication/json |
| Parametr`required` | Kontraktmodel, prompt |
| Parametr`material_types` | Kontrakttext, image |
| Parametr`optional_controls` | Kontraktaspect\_ratio, n, input\_references |
| Parametr`exact_supported_parameters` | Kontrakt{"aspect\_ratio":{"type":"enum","values":\["1:1","4:3","3:4","16:9","9:16","auto"\]},"n":{"type":"range","min":1,"max":6},"input\_references":{"type":"range","min":0,"max":1}} |
| Parametr`reference_material_rule` | KontraktPouze skutečné obrazové reference zákazníka; vztahují se na ně podmínky koncového bodu poskytovatele. |

Aliasy metody: `/v1/images`

Životní cyklus: `synchronous_result_then_owned_library`

`GET /v1/media/tasks/{task_id}` · skutečně vrácené task\_id nebo záznam v knihovně médií

`GET /v1/media/assets/{asset_id}/content`

`GET /v1/media/assets`

`GET /v1/media/assets/{asset_id}`

Použijte přesný model a dokumentovaná vstupní pole.

Uchovejte celou odpověď, každý skutečný výstup a původní vrácená ID.

### Tarify

##### Jak se vypočítá konečný poplatek

Zobrazené sazby slouží k odhadu ceny před generováním. Konečný poplatek se vypočítá z nákladů zaznamenaných u původního generování. Naměřená délka výstupu ani odhadovaná množství nejsou konečným účtovaným množstvím.

Údaje o tarifech nepřidávají možnosti požadavku. Podporované parametry jsou uvedeny u vybrané metody.

Rychlý režim

Neuvedeno Při výběru rychlého režimu

Režim flex

Neuvedeno Při výběru režimu flex

Maximální intenzita uvažování

Neuvedeno Když se při maximální intenzitě uvažování použije výchozí úprava (default)

#### Odhadované sazby pro srovnání

#### Ceny podle konfigurace

Přiřaďte každý poplatek k uvedeným podmínkám. Pro každou sadu alternativních konfigurací použijte jednu sazbu.

| Konfigurace | Tabulka sazeb | Předpokládané množství | Účtovací jednotka | Poplatek |
| --- | --- | --- | --- | --- |
| KonfiguraceZákladní sazby za tokeny | Tabulka sazebZákladní sazba | Předpokládané množství— | Účtovací jednotka— | Poplatek Vstup · Vstupní tokeny · Odhad pouze pro srovnání **—** / 1K tokenů Výstup · Výstupní tokeny · Odhad pouze pro srovnání **—** / 1K tokenů Vstup · Čtení z mezipaměti · Odhad pouze pro srovnání **—** / 1K tokenů Vstup · Zápis do mezipaměti · Odhad pouze pro srovnání **—** / 1K tokenů Vstup · Zápis do mezipaměti, 1 hodina · Odhad pouze pro srovnání **—** / 1K tokenů |
| KonfiguraceUltra | Tabulka sazeb— | Předpokládané množství— | Účtovací jednotkaza výstupní obrázek | Poplatek Výstup · výstup obrázku · Odhad pouze pro srovnání **$0.5** za výstupní obrázek |
| KonfiguraceOdhadovaná cena generování | Tabulka sazeb— | Předpokládané množstvíodhad pro jedno generování | Účtovací jednotka— | Poplatek Výstup · Odhadovaná cena generování · Odhad pouze pro srovnání **$0.5** odhad před generováním Tento odhad není dodatečným poplatkem ani pevnou sazbou za dokončené generování. |

Ailoot před požadavkem rezervuje odhadovanou částku. Po výsledku vyúčtuje konečný poplatek podle naměřeného využití. Při streamování se účtování řídí konečným záznamem využití. [Jak funguje rezervace a vyúčtování →](https://ailoot.ai/docs/cs/billing/reserve/)

#### Podrobnosti referenčního tarifu

Referenční tabulky modelu nemění výběr metody, cenové nabídky ani poplatky. Skutečné poplatky používají sazby vybrané metody Ailoot.

Cenové konfigurace obrázků

#### Ceny podle konfigurace

| Konfigurace | Podmínky účtování | Poplatek |
| --- | --- | --- |
| KonfiguraceVýstupní obrázek | Podmínky účtováníNení deklarována žádná cenová varianta. | Poplatek Výstup · Výstupní obrázek **$0.5** za obrázek Ekvivalentní položky popisují tutéž účtovanou částku; nepřidávají druhý poplatek. |

### Příklady požadavků

#### Ailoot Ultra · Obrázky

curlPython SDKNode.js SDK

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p={'model': 'recraft/recraft-v4-pro', 'prompt': 'a red panda astronaut floating in space, studio lighting'}

Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/images/generations \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import base64, json, os, subprocess
from pathlib import Path
from urllib.parse import urlsplit, urljoin

def save_images(items):
    if not items: raise SystemExit("No completed images; retain the full response")
    for index, item in enumerate(items):
        encoded=item.get("b64_json")
        uri=item.get("url", "")
        if not encoded and uri.startswith("data:image/"):
            header, separator, encoded=uri.partition(",")
            if not separator or ";base64" not in header: raise SystemExit("Unsupported image data URI")
        if encoded:
            raw=base64.b64decode(encoded,validate=True)
        elif uri:
            uri=urljoin("https://api.ailoot.ai",uri)
            parsed=urlsplit(uri)
            if parsed.scheme!="https" or not parsed.netloc or parsed.username or parsed.password:
                raise SystemExit("Invalid returned image URL")
            owned=parsed.netloc=="api.ailoot.ai" and parsed.path.startswith("/v1/media/assets/") and parsed.path.endswith("/content")
            args=["curl","--fail-with-body","--silent","--show-error",uri]
            if owned: args += ["-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"]]
            temporary=Path(f"image-{index}.bin")
            subprocess.run(args+["-o",str(temporary)],check=True)
            raw=temporary.read_bytes()
            temporary.unlink()
        else: raise SystemExit("Image has neither bytes nor URL")
        if not raw: raise SystemExit("Empty image result")
        ext="png" if raw.startswith(b"\x89PNG") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4]==b"RIFF" and raw[8:12]==b"WEBP" else "svg" if raw.lstrip().startswith((b"<svg",b"<?xml")) else "bin"
        Path(f"image-{index}.{ext}").write_bytes(raw)
    print("Every returned image saved; complete response metadata retained")
save_images(json.loads(Path("result.json").read_text())["data"])
PY_RESULT
```

```python
from openai import OpenAI
import base64, json, os, subprocess
from pathlib import Path
from urllib.parse import urlsplit, urljoin

def save_images(items):
    if not items: raise SystemExit("No completed images; retain the full response")
    for index, item in enumerate(items):
        encoded=item.get("b64_json")
        uri=item.get("url", "")
        if not encoded and uri.startswith("data:image/"):
            header, separator, encoded=uri.partition(",")
            if not separator or ";base64" not in header: raise SystemExit("Unsupported image data URI")
        if encoded:
            raw=base64.b64decode(encoded,validate=True)
        elif uri:
            uri=urljoin("https://api.ailoot.ai",uri)
            parsed=urlsplit(uri)
            if parsed.scheme!="https" or not parsed.netloc or parsed.username or parsed.password:
                raise SystemExit("Invalid returned image URL")
            owned=parsed.netloc=="api.ailoot.ai" and parsed.path.startswith("/v1/media/assets/") and parsed.path.endswith("/content")
            args=["curl","--fail-with-body","--silent","--show-error",uri]
            if owned: args += ["-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"]]
            temporary=Path(f"image-{index}.bin")
            subprocess.run(args+["-o",str(temporary)],check=True)
            raw=temporary.read_bytes()
            temporary.unlink()
        else: raise SystemExit("Image has neither bytes nor URL")
        if not raw: raise SystemExit("Empty image result")
        ext="png" if raw.startswith(b"\x89PNG") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4]==b"RIFF" and raw[8:12]==b"WEBP" else "svg" if raw.lstrip().startswith((b"<svg",b"<?xml")) else "bin"
        Path(f"image-{index}.{ext}").write_bytes(raw)
    print("Every returned image saved; complete response metadata retained")

request={'model': 'recraft/recraft-v4-pro', 'prompt': 'a red panda astronaut floating in space, studio lighting'}
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.images.generate(**request)
Path("sdk-result.txt").write_text(str(result),encoding="utf-8")
save_images([{"b64_json":getattr(item,"b64_json",None),"url":getattr(item,"url",None)} for item in result.data])
```

```js
import OpenAI from "openai";
import { readFileSync, writeFileSync } from "node:fs";
const key=process.env.AILOOT_API_KEY;
if(!key) throw new Error("Set your actual Ailoot API key");
const client=new OpenAI({baseURL:"https://api.ailoot.ai/v1",apiKey:key,maxRetries:0});
const request={"model": "recraft/recraft-v4-pro", "prompt": "a red panda astronaut floating in space, studio lighting"};
const result=await client.images.generate(request);
writeFileSync("sdk-result.json",JSON.stringify(result,null,2));
if(!result.data?.length) throw new Error("No completed images");
for(let index=0;index<result.data.length;index++) {
  const item=result.data[index];let encoded=item.b64_json,uri=item.url||"",raw;
  if(!encoded && uri.startsWith("data:image/")) {
    const comma=uri.indexOf(",");if(comma<0 || !uri.slice(0,comma).includes(";base64")) throw new Error("Unsupported image data URI");
    encoded=uri.slice(comma+1);
  }
  if(encoded) {
    if(encoded.length%4!==0 || !/^[A-Za-z0-9+/]*={0,2}$/.test(encoded)) throw new Error("Invalid Base64");
    raw=Buffer.from(encoded,"base64");
  } else if(uri) {
    const u=new URL(uri,"https://api.ailoot.ai");
    if(u.protocol!=="https:" || u.username || u.password) throw new Error("Invalid returned URL");
    const owned=u.origin==="https://api.ailoot.ai" && u.pathname.startsWith("/v1/media/assets/") && u.pathname.endsWith("/content");
    const response=await fetch(u,{headers:owned?{Authorization:"Bearer "+key}:{},redirect:"manual"});
    if(!response.ok) throw new Error("Image content download failed: "+response.status);
    raw=Buffer.from(await response.arrayBuffer());
  } else throw new Error("Image has neither bytes nor URL");
  if(!raw.length) throw new Error("Empty image result");
  const ext=raw.subarray(0,4).equals(Buffer.from([137,80,78,71]))?"png":raw[0]===255&&raw[1]===216?"jpg":raw.toString("ascii",0,4)==="RIFF"&&raw.toString("ascii",8,12)==="WEBP"?"webp":raw.toString("utf8").trimStart().startsWith("<svg")||raw.toString("utf8").trimStart().startsWith("<?xml")?"svg":"bin";
  writeFileSync(`image-${index}.${ext}`,raw);
}
console.log("Every returned image saved; sdk-result.json retains complete metadata");
```

### Přijímání a ukládání výsledků

#### Ailoot Ultra · Obrázky

Stáhněte každý vrácený obrázek nebo uložte jeho obsah Base64

- `GET /v1/media/tasks/{task_id}`
- `GET /v1/media/assets/{asset_id}/content`
- `GET /v1/media/assets`
- `GET /v1/media/assets/{asset_id}`

##### Uchovejte všechny dokončené výsledky

Uložte každý dokončený obrázek; stáhněte obsah každé vrácené URL nebo dekódujte obsah Base64.

Uchovejte každou datovou položku a úplné údaje o využití; převezměte do správy a uložte všechny skutečně vrácené obrázky. Žádné vymyšlené URL ani ID.

##### Pokud je nutné ověřit původní odpověď

Pokud výsledek generování nebo úpravy obrázku vyžaduje kontrolu, uchovejte původní operation\_id/X-Client-Request-ID a vrácené informace o výsledku. Existující vlastní výsledky obnovte prostřednictvím knihovny médií pomocí skutečných hodnot task\_id nebo asset\_id. Požadavek na generování či úpravu znovu neodesílejte a nevytvářejte URL pro dotazování na stav z operation\_id.

Pole odpovědi

| Pole | Typ |
| --- | --- |
| Pole`created` | Typinteger |
| Pole`data[].url` | Typstring |
| Pole`data[].b64_json` | Typbase64 string |
| Pole`usage` | Typobject |

### Aliasy

#### Aliasy modelu

**Ailoot Ultra** [`recraft/recraft-v4-pro`](https://ailoot.ai/models/cs/#m=recraft%2Frecraft-v4-pro&route=Ultra&caller=recraft%2Frecraft-v4-pro&fmt=images)

#### Aliasy cest metod

`/v1/images`

#### Související ID modelů

[`recraft/recraft-v4-pro`](https://ailoot.ai/models/cs/#m=recraft%2Frecraft-v4-pro&route=Ultra&caller=recraft%2Frecraft-v4-pro&fmt=images)

FAQ · Recraft: Recraft V4 Pro

Jaké vstupy a výsledky jsou dostupné?

`POST /v1/images/generations` · `recraft/recraft-v4-pro`: `text`, `image` → `image`

Jaká pole požadavek používá?

`POST /v1/images/generations` · `recraft/recraft-v4-pro`: `model`, `prompt`, `n`, `aspect_ratio`, `input_references`

Jaké limity platí?

`POST /v1/images/generations` · `recraft/recraft-v4-pro`: `n.minimum`: `1`; `n.maximum`: `6`

Připojte Ailoot k Claude Code, OpenCode, Hermes nebo vlastní aplikaci.

## Společnost a její portfolio projektů

Společnost a její portfolio projektů: miliony zákazníků; měsíční tržby v miliardách.

## Nakupujte tokeny se slevou.

Sleva předplatného pro pravidelnou práci. Promo kódy až 50% na nákup tokenů.

Předplatné

Pro pravidelné požadavky vyberte tarif se slevou.

Promo kód až 50%

Při nákupu zadejte kód. Cena se přepočítá podle probíhající akce.

Výdaje v historii

U každého požadavku se uloží model, tokeny a částka.

[Vybrat předplatné](https://ailoot.ai/docs/cs/billing/subscriptions/) · [Zobrazit ceny modelů](https://ailoot.ai/models/cs/)

## Připojte API k produktu, který prodáváte.

SaaS, aplikace a boti podle nabídky a licenční smlouvy Ailoot. Pro přeprodej požádejte o licenci přeprodejce.

Komerční aplikace

Začleňte generování textu, obrázků, videa a zvuku do placených funkcí své služby.

Licence pro přeprodejce

Pošlete popis projektu a způsob poskytování přístupu. Vyžádejte písemné podmínky použití a přeprodeje.

Dokumenty na webu

Nabídka, licenční smlouva a zásady zpracování dat jsou dostupné před připojením.

[Požádat o licenci přeprodejce](mailto:support@ailoot.ai) · [Nabídka a licenční smlouva](https://ailoot.ai/legal/offer?lang=cs)

## Ailoot · Společnost a její portfolio projektů





Ailoot staví na dlouhodobých provozních zkušenostech, široké klientské základně, stabilních službách a průběžném sledování KPI.





Společnost a její portfolio projektů: miliony zákazníků; měsíční tržby v miliardách.





Ailoot využívá tyto provozní zkušenosti k poskytování přístupu přes API k funkcím AI v produktech zákazníků, agentech, aplikacích a automatizacích.
