models

kat-coder-pro-v1

Markdown · JSON

kat-coder-pro-v1

KAT-Coder – tai Kuaishou programavimo modelių šeima kūrimo užduotims, kuriose atsižvelgiama į saugyklą. Gamintojo darbo eiga jungia tikrinimą su įrankiais, pataisų generavimą, vykdymu pagrįstą peržiūrą ir refleksiją, kurdama kodą ar paaiškinimus, susietus su tikra projekto elgsena.

Apie modelį

Šis aprašas apima modelio galimybes. Pasirinktam metodui Ailoot prieinamos įvestys, išvestys ir parinktys nurodytos toliau.

KAT-Coder – tai Kuaishou programavimo modelių šeima programinės įrangos kūrimo užduotims aplinkoje su įrankiais. Pradiniame gamintojo leidime daugiausia dėmesio skiriama kūrimo užklausos įvykdymui per saugyklos tyrimą, pataisos kūrimą ir peržiūrą. Mokymas apima funkcijų įgyvendinimą ir tobulinimą, klaidų taisymą, kodo pertvarkymą, našumo darbus, testų kūrimą, kodo supratimą ir su konfigūracija susijusias užduotis. Naudingi rezultatai – kodas ir tekstas, susieti su tikra projekto elgsena.

Pateikite problemą ir svarbų projekto kontekstą

Nurodykite siekiamą elgseną, dabartinį įgyvendinimą ir užbaigimą apibrėžiančias sąlygas. Pridėkite šaltinio failus ar ištraukas, reikalingas problemai suprasti, ir aplinkoje jau turimas komandas ar pastebėjimus. Pradinė klaidos taisymo užduotis gali įvardyti klaidą sukeliančią įvestį, laukiamą rezultatą ir funkciją, kurios elgsena skiriasi. Funkcijos užklausa gali įvardyti naudotojui matomą rezultatą ir sąsajas, kurios turi išlikti suderintos.

Gamintojo agentinis mokymas naudoja problemų aprašus, šakos kodą, vykdomąsias aplinkas ir patikrinamas užduoties sąlygas. Programos palaikomoje užduotyje šias dalis išlaikykite suderintas. Modelio pasiūlymas turėtų spręsti tikro pateikto darbinio medžio ir įrodymų klausimą, o programa atlieka failų ar vykdymo operacijas ir grąžina rezultatus. Kiekvienos reikšmingos operacijos rezultatą išsaugokite kartu su tęsiniu.

Įrankiai ir kelių ėjimų kūrimas

Gamintojas instrukcijų vykdymą, įrankių naudojimą ir ilgalaikę sąveiką dokumentuoja kaip pagrindines šeimos kūrimo dalis. Išleistas programavimo agento parengimo būdas pateikia failų skaitymo bei redagavimo operacijas ir užbaigimo veiksmą. Modelis gali tirti informaciją, prašyti pakeitimo ir tęsti nuo grąžinto pastebėjimo. Jo vaidmuo – pasirinkti ir aprašyti kitą žingsnį; išorinė aplinka patvirtina, kas iš tikrųjų įvyko.

Pradiniame leidime lygiagrečios įrankių užklausos taip pat aprašomos kaip po agentinio mokymo pastebėta galimybė. Nepriklausomas operacijas naudokite tik tada, kai jų rezultatus galima išlaikyti susietus su teisinga užklausa. Saugyklos paaiškinimas gali sujungti kelių failų informaciją, o pataisai reikia dabartinio paveikto kodo turinio ir elgsenos. Trūkstamo pastebėjimo nepakeiskite tikėtinu aplinkos rezultatu.

Sąmoningai peržiūrėkite siūlomus pakeitimus

Paskelbtas gamintojo agento parengimo būdas atskiria pataisų generavimą, filtravimą, atranką ir refleksiją. Filtravimas jungia semantinį dublikatų šalinimą su vykdymu pagrįstomis patikromis; atranka vertina likusius kandidatus; refleksija naudoja ankstesnius rezultatus vėlesniam raundui nukreipti. Šie etapai priklauso dokumentuotai programavimo darbo eigai ir nėra automatinė garantija, pridedama prie kiekvieno paprasto tekstinio atsakymo.

Praktinei kodo užduočiai siūlomą pataisą, iš tikrųjų atliktas patikras ir jų rezultatus laikykite kartu. Galimų pataisų palyginimas turėtų paaiškinti jas skiriančią sąlygą, ypač kai vien iš pakeitimų kiekviena atrodo tikėtina. Nepavykusi patikra gali kitam ėjimui suteikti konkrečią spręstiną problemą, užuot paskatinusi nesusijusį perrašymą.

Šeimos ir leidimų skirtumai

Pradinis gamintojo leidimas KAT-Coder atskiria nuo atskiro atviro KAT-Dev-32B modelio. Mokymo aptarimai ir darbo eigos demonstracijos nereiškia, kad kiekvienas įvardytas šeimos variantas yra identiškas kontrolinis taškas. Pasirinktą variantą ir pateiktas projekto instrukcijas išsaugokite kartu su rezultatu, o operacijoms naudokite konkrečią gamintojo sąsają ar aplinkos parengimo būdą.

Naudingas perdavimas gali apimti konkretų įgyvendinimą, defekto paaiškinimą ar kodo pertvarkymą su jo elgseną pagrindžiančiais įrodymais. Prieš laikydami užduotį baigta, peržiūrėkite pakeistą logiką ir tikras aplinkos išvestis. KAT-Coder programinės įrangos kūrimo paskirtis naudingiausia tada, kai lieka susieta su konkrečia kūrimo užklausa, susijusiu kodu ir patikrinamu galutiniu rezultatu.

Ailoot Ultra · OpenAI pokalbis POST /v1/chat/completions KAT-Coder-Pro-V1

KAT-Coder-Pro-V1

Kuaishou /KAT-Coder-Pro-V1

Pradžia

KAT-Coder – tai Kuaishou programavimo modelių šeima kūrimo užduotims, kuriose atsižvelgiama į saugyklą. Gamintojo darbo eiga jungia tikrinimą su įrankiais, pataisų generavimą, vykdymu pagrįstą peržiūrą ir refleksiją, kurdama kodą ar paaiškinimus, susietus su tikra projekto elgsena.

Leidžiamos įvestys
Tekstas
Rezultatai
Tekstas

Prieinama Ailoot · įvestys ir metodai

Ailoot Ultra · OpenAI pokalbis POST /v1/chat/completions
Įvestis
text
Išvestis
text
Išvesties formatas
json arba SSE
LaukasTipasReikalavimasReikšmės ir ribosNumatyta
LaukasmodelTipasstringReikalavimasPrivalomaReikšmės ir ribos
KAT-Coder-Pro-V1
Numatyta—
LaukasmessagesTipasmessage[]ReikalavimasPrivalomaReikšmės ir ribos
Mažiausias elementų skaičius: 1
Numatyta—
Laukasmessages[].roleTipasstringReikalavimasPrivalomaReikšmės ir ribos
Priklauso nuo modelio
Numatyta—
Laukasmessages[].contentTipasstringReikalavimasNeprivalomaReikšmės ir ribos
Taikoma, kai: Tekstinis pokalbis
Numatyta—
LaukasstreamTipasbooleanReikalavimasNeprivalomaReikšmės ir ribosNumatytafalse
Įvesties medžiagos deriniai

Tekstas · UTF8 tekstas

messages[].content

Metodo parametrai ir gyvavimo ciklas
ParametrasSpecifikacija
Parametrascontent_typeSpecifikacijaapplication/json
ParametrasrequiredSpecifikacijamodel, messages
Parametrasmaterial_typesSpecifikacijatext
ParametrasmessagesSpecifikacijapranešimų masyvas su role/content struktūra
Parametrasfile_materialSpecifikacijatikrasis UTF-8 dokumentas įterptas kaip pažodinis tekstas; failo ID nenumanomas
Parametrasoptional_controlsSpecifikacijastream
Parametrascontrol_scopeSpecifikacijaTekstinis pokalbis; stream yra loginė reikšmė, kurios numatytoji reikšmė yra false.
Parametrasoutput_modalitiesSpecifikacijatext
Parametrashosted_operationsSpecifikacijafalse
Parametrasmultimodal_input_bindingSpecifikacijanull

Metodo pseudonimai: /chat/completions

Gyvavimo ciklas: synchronous_or_streamed

Siųskite tikslų modelio ID kartu su messages.

Konteksto ilgis nėra išvesties limitas.

Teksto failas gali pateikti pažodinį tekstą; vaizdų / garso / failų objektų įvestims reikia tikslaus susiejimo.

Planai

Tarifų informacija neprideda užklausos parinkčių. Palaikomi parametrai nurodyti prie pasirinkto metodo.

Spartusis režimas
Nenurodyta Pasirinkus spartųjį režimą
Flex režimas
Nenurodyta Pasirinkus flex režimą
Didžiausios samprotavimo pastangos
Nenurodyta Kai didžiausioms samprotavimo pastangoms taikomas numatytasis koregavimas (default)

Ailoot įkainiai

Kainos pagal konfigūraciją

KonfigūracijaĮkainių lentelėMokestis
KonfigūracijaBaziniai žetonų įkainiaiĮkainių lentelėBazinis įkainisMokestis
Įvestis · Įvesties tokenai $0.00114 / 1K tokenų
Išvestis · Išvesties tokenai $0.00456 / 1K tokenų
Įvestis · Talpyklos skaitymas $0 / 1K tokenų
Įvestis · Rašymas į talpyklą $0 / 1K tokenų
Įvestis · Rašymas į talpyklą, 1 val — / 1K tokenų

Ailoot prieš užklausą rezervuoja numatomą sumą. Gavus rezultatą, galutinis mokestis nuskaitomas pagal išmatuotą naudojimą. Srautinio atsakymo atsiskaitymui naudojamas galutinis naudojimo įrašas. Kaip veikia rezervavimas ir atsiskaitymas →

Užklausų pavyzdžiai

Ailoot Ultra · OpenAI pokalbis

curlPython SDK
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model":"KAT-Coder-Pro-V1","messages":[{"role":"user","content":"hello"}],"stream":false}')

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/chat/completions \
  -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 json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
for x in r.get("choices",[]):
    if x.get("message",{}).get("content"): print(x["message"]["content"])
PY_RESULT
from openai import OpenAI
import os

if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.chat.completions.create(model="KAT-Coder-Pro-V1", messages=[{"role":"user","content":"hello"}], stream=False)
import base64, json
from pathlib import Path

def save_result(data, stem="result"):
    # Keep every field, including usage, IDs, reasoning and tool requests.
    Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
    print(json.dumps(data, ensure_ascii=False, indent=2))
    def save_blob(encoded, suffix, label):
        raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
        ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
        file = Path(stem + "-" + label + "." + ext)
        file.write_bytes(raw)
        print("Saved", file)
    for index, block in enumerate(data.get("content") or []):
        print("Content", index, json.dumps(block, ensure_ascii=False))
    for choice in data.get("choices") or []:
        print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
    for index, item in enumerate(data.get("output") or []):
        print("Output", index, json.dumps(item, ensure_ascii=False))
        if item.get("type") == "image_generation_call" and item.get("result"):
            save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
    for ci, candidate in enumerate(data.get("candidates") or []):
        for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
            print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
            blob = part.get("inlineData") or part.get("inline_data")
            if blob and blob.get("data"):
                mime = blob.get("mimeType") or blob.get("mime_type")
                suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
                save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))

save_result(result.to_dict(mode="json"))

Gauti ir išsaugoti rezultatus

Ailoot Ultra · OpenAI pokalbis

json arba SSE

Išsaugoti visus baigtus rezultatus

Išsaugokite kiekvieną visą grąžintą atsakymą, failą ir turinio dalį.

Išsaugokite kiekvieną variantą ir jo turinį / įrankių iškvietimus / samprotavimą. SSE prieaugius surinkite pagal varianto / įrankio indeksą; išsaugokite galutinę užbaigimo priežastį ir naudojimo duomenis.

Jei reikia patikrinti pradinį atsakymą

Išsaugokite užklausų / atsakymų ID ir antraštes. Bendras teksto užduoties gavimo URL nepateikiamas.

Atsakymo laukai
LaukasTipas
Laukaschoices[].indexTipasinteger
Laukaschoices[].message.contentTipasstring|null
Laukaschoices[].message.tool_callsTipastool_call[]
Laukaschoices[].message.reasoning_contentTipasstring
Laukaschoices[].message.reasoning_detailsTipasobject|array
Laukaschoices[].finish_reasonTipasstring|null
LaukasusageTipasobject
Klaidos ir tolesni veiksmai
AtsakymasSąlygaKitas žingsnis
Atsakymas400 · invalid_request_errorSąlygaNetinkami privalomi laukai, medžiagos pateikimo forma arba parametro reikšmėKitas žingsnisPrieš naują kūrimo užklausą pataisykite nurodytus laukus.

Pseudonimai

Modelių pseudonimai

Ailoot Ultra KAT-Coder-Pro-V1

Metodų kelių pseudonimai

/chat/completions

Susiję ID iškvietimui

KAT-Coder-Pro-V1

Ailoot Ultra · Anthropic pranešimai POST /v1/messages KAT-Coder-Pro-V1

KAT-Coder-Pro-V1

Kuaishou /KAT-Coder-Pro-V1

Pradžia

KAT-Coder – tai Kuaishou programavimo modelių šeima kūrimo užduotims, kuriose atsižvelgiama į saugyklą. Gamintojo darbo eiga jungia tikrinimą su įrankiais, pataisų generavimą, vykdymu pagrįstą peržiūrą ir refleksiją, kurdama kodą ar paaiškinimus, susietus su tikra projekto elgsena.

Leidžiamos įvestys
Tekstas
Rezultatai
json · sse

Prieinama Ailoot · įvestys ir metodai

Ailoot Ultra · Anthropic pranešimai POST /v1/messages
Įvestis
text
Išvestis
json, sse
Išvesties formatas
JSON arba SSE
LaukasTipasReikalavimasReikšmės ir ribosNumatyta
LaukasmodelTipasstringReikalavimasPrivalomaReikšmės ir ribos
KAT-Coder-Pro-V1
Numatyta—
LaukasmessagesTipasmessage[]ReikalavimasPrivalomaReikšmės ir ribosNumatyta—
Laukasmessages[].roleTipasstringReikalavimasPrivalomaReikšmės ir ribos
user, assistant
Numatyta—
Laukasmessages[].contentTipasstringReikalavimasPrivalomaReikšmės ir ribosNumatyta—
Laukasmax_tokensTipasintegerReikalavimasPrivalomaReikšmės ir ribosNumatyta—
LaukasstreamTipasbooleanReikalavimasNeprivalomaReikšmės ir ribosNumatytafalse
Įvesties medžiagos deriniai

Tekstas · UTF-8 tekstas

messages[].content eilutė

Metodo parametrai ir gyvavimo ciklas
ParametrasSpecifikacija
Parametrascontent_typeSpecifikacijaapplication/json
ParametrasrequiredSpecifikacijamodel, messages, max_tokens
Parametrasoptional_controlsSpecifikacijastream
Parametrasmaterial_typesSpecifikacijatext
Parametrastext_file_materialSpecifikacijaPerskaitykite tikrąjį UTF-8 dokumentą ir įterpkite jo tekstą į nurodytą input lauką arba pranešimo turinio eilutę.

Gyvavimo ciklas: synchronous_or_streamed

Planai

Tarifų informacija neprideda užklausos parinkčių. Palaikomi parametrai nurodyti prie pasirinkto metodo.

Spartusis režimas
Nenurodyta Pasirinkus spartųjį režimą
Flex režimas
Nenurodyta Pasirinkus flex režimą
Didžiausios samprotavimo pastangos
Nenurodyta Kai didžiausioms samprotavimo pastangoms taikomas numatytasis koregavimas (default)

Ailoot įkainiai

Kainos pagal konfigūraciją

KonfigūracijaĮkainių lentelėMokestis
KonfigūracijaBaziniai žetonų įkainiaiĮkainių lentelėBazinis įkainisMokestis
Įvestis · Įvesties tokenai $0.00114 / 1K tokenų
Išvestis · Išvesties tokenai $0.00456 / 1K tokenų
Įvestis · Talpyklos skaitymas $0 / 1K tokenų
Įvestis · Rašymas į talpyklą $0 / 1K tokenų
Įvestis · Rašymas į talpyklą, 1 val — / 1K tokenų

Ailoot prieš užklausą rezervuoja numatomą sumą. Gavus rezultatą, galutinis mokestis nuskaitomas pagal išmatuotą naudojimą. Srautinio atsakymo atsiskaitymui naudojamas galutinis naudojimo įrašas. Kaip veikia rezervavimas ir atsiskaitymas →

Užklausų pavyzdžiai

Ailoot Ultra · Anthropic pranešimai

Visas minimalus JSON užklausos turinyscurl · naudokite savo UTF-8 dokumentąPython · išsaugokite visą rezultatą
{
  "model": "KAT-Coder-Pro-V1",
  "max_tokens": 128,
  "messages": [
    {
      "role": "user",
      "content": "Summarize the incident report."
    }
  ],
  "stream": false
}
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json, os
from pathlib import Path

source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
    raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
    raise SystemExit('Choose a document containing text')
payload = {'model': 'KAT-Coder-Pro-V1', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
Path('request.json').write_text(json.dumps(payload, ensure_ascii=False), encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/messages \
  -H "x-api-key: $AILOOT_API_KEY" -H 'anthropic-version: 2023-06-01' -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path

result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
PY_RESULT
import json, os
from pathlib import Path

source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
    raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
    raise SystemExit('Choose a document containing text')
payload = {'model': 'KAT-Coder-Pro-V1', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
from urllib.request import Request, urlopen
from urllib.error import HTTPError

api_key = os.environ['AILOOT_API_KEY']
if not api_key.strip():
    raise SystemExit('Set AILOOT_API_KEY before making a request')
headers = {'x-api-key': 'PLACEHOLDER_KEY', 'anthropic-version': '2023-06-01', 'Content-Type': 'application/json'}
headers['x-api-key'] = api_key
request = Request('https://api.ailoot.ai/v1/messages', data=json.dumps(payload, ensure_ascii=False).encode('utf-8'), headers=headers, method='POST')
try:
    with urlopen(request, timeout=120) as response:
        raw = response.read()
        Path('response-headers.txt').write_text(str(response.headers), encoding='utf-8')
except HTTPError as error:
    Path('result.json').write_bytes(error.read())
    Path('response-headers.txt').write_text(str(error.headers), encoding='utf-8')
    raise
Path('result.json').write_bytes(raw)
import json
from pathlib import Path

result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))

Gauti ir išsaugoti rezultatus

Ailoot Ultra · Anthropic pranešimai

JSON arba SSE

Išsaugoti visus baigtus rezultatus

Išsaugokite kiekvieną visą grąžintą atsakymą, failą ir turinio dalį.

Išsaugokite visus turinio blokus, mąstymo parašus ir tikruosius įrankių naudojimo ID. Surinkite visus SSE blokų prieaugius; pirmasis teksto blokas nėra visa išvestis.

Jei reikia patikrinti pradinį atsakymą

Išsaugokite užklausų / atsakymų ID ir antraštes. Bendras teksto užduoties gavimo URL nepateikiamas.

Atsakymo laukai
LaukasTipas
LaukasidTipasstring
LaukasmodelTipasstring
Laukascontent[]Tipastext|thinking|tool_use|other content block
Laukasstop_reasonTipasstring|null
LaukasusageTipasobject
Klaidos ir tolesni veiksmai
AtsakymasSąlygaKitas žingsnis
Atsakymas400 · invalid_request_errorSąlygaNetinkami privalomi laukai, medžiagos pateikimo forma arba parametro reikšmėKitas žingsnisPrieš naują kūrimo užklausą pataisykite nurodytus laukus.

Pseudonimai

Modelių pseudonimai

Ailoot Ultra KAT-Coder-Pro-V1

Metodų kelių pseudonimai

/chat/completions

Susiję ID iškvietimui

KAT-Coder-Pro-V1

FAQ · kat-coder-pro-v1
Kokios įvestys ir rezultatai prieinami?

POST /v1/chat/completions · KAT-Coder-Pro-V1: text → text

POST /v1/messages · KAT-Coder-Pro-V1: text → json, sse

Kokius laukus naudoja užklausa?

POST /v1/chat/completions · KAT-Coder-Pro-V1: model, messages, stream

POST /v1/messages · KAT-Coder-Pro-V1: model, messages, max_tokens, stream

Kokie apribojimai taikomi?

POST /v1/chat/completions · KAT-Coder-Pro-V1: messages.min_items: 1

Išsamiau

Prijunkite Ailoot prie Claude Code, OpenCode, Hermes arba savo programos.

Įmonė ir jos projektų portfelis

Įmonė ir jos projektų portfelis: milijonai klientų; mėnesio pardavimai siekia milijardus.

Pirkite žetonus su nuolaida.

Prenumeratos nuolaida reguliariam darbui. Kodai — iki 50% žetonų pirkimui.

Prenumerata
Pasirinkite planą su nuolaida reguliarioms užklausoms.
Nuolaidos kodas iki 50%
Įveskite kodą perkant. Kaina perskaičiuojama pagal galiojančios akcijos sąlygas.
Išlaidos istorijoje
Kiekvienai užklausai išsaugomi modelis, žetonai ir suma.

Pasirinkti prenumeratą · Peržiūrėti modelių kainas

Prijunkite API prie produkto, kurį parduodate.

SaaS, programos ir botai pagal Ailoot ofertą bei licencijos sutartį. Perpardavimui paprašykite perpardavėjo licencijos.

Komercinė programa
Teksto, vaizdų, video ir garso kūrimą integruokite į mokamas paslaugos funkcijas.
Perpardavėjo licencija
Atsiųskite projekto aprašymą ir prieigos schemą. Paprašykite rašytinių naudojimo ir perpardavimo sąlygų.
Dokumentai svetainėje
Oferta, licencijos sutartis ir duomenų tvarkymo politika prieinamos prieš prisijungiant.

Paprašyti perpardavėjo licencijos · Oferta ir licencijos sutartis