API Reference

API-dokumentation af Aitubo

Oversigt

Dette dokument beskriver, hvordan du bruger koden til at opnå de samme resultater som på nettet. Efter dokumentet vil kun give relativ adresse API, du skal samle sammen til hoveddomænenavnet: https://api.aitubo.ai.

For eksempel, hvis du vil oprette et job, skal du ringe https://api.aitubo.ai/api/job/create

Dokumentet er opdelt i to sektioner, den første for eksempler og den anden for specifik API.

Eksempler

Dette afsnit beskriver, hvordan du opretter et job og får et job. Vores API til oprettelse af job giver tre kernefunktioner: Text2Image, Image2Image, and ControlNet(ControlNet er en neural netværksstruktur til at kontrollere diffusionsmodeller ved at tilføje ekstra betingelser).

Uanset hvilken af ​​de tre funktioner du bruger, skal du først have en liste over de modeller, vi understøtter, og derefter, når du opretter jobbet, skal du videregive id feltet med modelinformationen

curl --request GET \
  --url 'https://api.aitubo.ai/api/model/list?type=platform' \
  --header 'Authorization: Bearer ced695cfd83811eda5e286850d1dc848'

Resultatet er noget som dette:

{
    "code": 0,
    "data": {
        "domain": "https://file.aitubo.ai/",
        "total": 10,
        "models": [
            {
                "id": "6426f9c60ca4651b98b91a6d",
                "name": "ConceptCanvas",
                "username": "Aitubo",
                "desc": "A model that creates concept scenes with a European thick paint or CG style.",
                "cover": "assets/model/6426f9c60ca4651b98b91a6d/cover.jpg",
                "isFavourite": false,
                "controlNet": false
            },
            {
                "id": "642b977d2f2842537c09fe41",
                "name": "DreamShaper",
                "username": "Aitubo",
                "desc": "A model that can generate multiple styles of scenes, characters, and game assets.",
                "cover": "assets/model/642b977d2f2842537c09fe41/cover.jpg",
                "isFavourite": false,
                "controlNet": true
            },
            ...
        ]
    }
}

1. Text2Image

curl --request POST \
  --url https://api.aitubo.ai/api/job/create \
  --header 'Authorization: Bearer ced695cfd83811eda5e286850d1dc848' \
  --header 'content-type: application/json' \
  --data '{
    "prompt": "A cat sleeps on the plane",
    "modelId": "642b977d2f2842537c09fe41"
}

Derefter får du et svar som dette:

{
  "code": 0,
  "data": {
    "consumedCredit": 40,
    "credit": 120,
    "id": "64351e4d567bcd86773dc841"
  }
}

Du kan kontrollere status for joboprettelse ved at afstemme. Hvert foto tager cirka 2 sekunder at gennemføre, så kontroller din forespørgselsfrekvens. Endelig får du sådan her:

{
  "code": 0,
  "data": {
    "id": "64351e4d567bcd86773dc841",
    "args": {
      "prompt": "A cat sleeps on the plane",
      "negativePrompt": "lowres, bad anatomy, cropped, worst quality, low quality",
      "strength": 0.8,
      "width": 512,
      "height": 512,
      "count": 4,
      "steps": 30,
      "modelId": "642b977d2f2842537c09fe41"
    },
    "result": {
      "info": "Warning: some images may contain NSFW content",
      "data": {
        "images": [
          "images/art/640076a4661aa1c0f81ba2d7/cgqhsljj5mf00080001g.png",
          "images/art/640076a4661aa1c0f81ba2d7/cgqhsljj5mf000800020.png",
          "images/art/640076a4661aa1c0f81ba2d7/cgqhsljj5mf00080002g.png",
          "images/art/640076a4661aa1c0f81ba2d7/cgqhsljj5mf000800030.png"
        ],
        "artIds": [
          "64351e56567bcd86773dc842",
          "64351e56567bcd86773dc843",
          "64351e56567bcd86773dc844",
          "64351e56567bcd86773dc845"
        ],
        "domain": "https://file.aitubo.ai/"
      }
    },
    "status": 2,
    "createAt": "2023-04-11T08:46:05.55Z"
  }
}

2. Image2Image

For at bruge Image2Image kan du ringe til vores Upload billede API for at få en billedes OSS relative adresse, eller du kan give et billede med en absolut adresse.

curl --request POST \
  --url https://api.aitubo.ai/api/job/create \
  --header 'Authorization: Bearer ced695cfd83811eda5e286850d1dc848' \
  --header 'content-type: application/json' \
  --data '{
    "imagePath": "images/tmp/cgqi1jntuq4000800040.png",
    "modelId": "642b977d2f2842537c09fe41",
    "prompt": "scene",
    "guidanceScale": 0.7
}'

Du kan kontrollere status for joboprettelse ved at afstemme ligesom Text2Image.

3. ControlNet

Før du bruger ControlNet-funktionen, skal du først kalde /job/model/list API for at få de tilsvarende ControlNet-kategorier:

{
    "code": 0,
    "data": {
        "domain": "https://file.aitubo.ai/",
        "models": [
            {
                "id": "canny",
                "name": "canny",
                "icon": "assets/template/control_canny.jpg"
            },
            {
                "id": "scribble",
                "name": "scribble",
                "icon": "assets/template/control_scribble.jpg"
            },
            ...
    }
}

Kald derefter /job/create API:

curl --request POST \
  --url https://api.aitubo.ai/api/job/create \
  --header 'Authorization: Bearer ced695cfd83811eda5e286850d1dc848' \
  --header 'content-type: application/json' \
  --data '{    "imagePath": "https://ichef.bbci.co.uk/news/976/cpsprodpb/17638/production/_124800859_gettyimages-817514614.jpg.webp",
    "controlModel": "canny",
    "prompt": "a little dog"
}'

Du kan også videregive modelId felt(Sørg for, at modellen understøtter ControlNet):

curl --request POST \
  --url https://api.aitubo.ai/api/job/create \
  --header 'Authorization: Bearer ced695cfd83811eda5e286850d1dc848' \
  --header 'content-type: application/json' \
  --data '{
    "imagePath": "https://ichef.bbci.co.uk/news/976/cpsprodpb/17638/production/_124800859_gettyimages-817514614.jpg.webp",
    "controlModel": "canny",
    "prompt": "a little dog",
    "modelId": "642b977d2f2842537c09fe41"
}'

APIS

1. Upload billede

Grundlæggende info

Sti: /api/job/upload-image

Metode: POST

Anmodningsparametre

Headere

NavnVærdiPåkrævetEksempel
Content-Typemultipart/form-dataja
AuthorizationBearer {YOUR KEY}jaBearer 37f333a2d5f811edb248acde48001122

Krop

NavnVærdiPåkrævet
imagefilja

Svardata

NavnTypePåkrævetStandardBemærkAndre
codeintegerjacode=0 -> succes
infostringnejfejl info
dataobjectnej
├─pathstringnejbilledsti af AliYun OSS

2. Opret job

Grundlæggende info

Sti: /api/job/create

Metode: POST

Anmodningsparametre

Headere

NavnVærdiPåkrævetEksempel
Content-Typeapplication/jsonja
AuthorizationBearer {YOUR KEY}jaBearer 37f333a2d5f811edb248acde48001122

Krop

NavnTypePåkrævetStandardBemærkAndre
imagePathstringnejsti for det uploadede billede(url/oss begge)
maskImagestringnejAI Editor skal videregive dette felt
modelIdstringnejhvis controlModel er null, skal dette felt udfyldes
promptstringjaprompt
negativePromptstringnejnegativ prompt
controlModelstringnejcanny / scribble / openpose / mlsd / hed / seg / depth / normal
controlStrengthnumbernej1[0, 2]
controlFilterstringnejpreprecessor of control image, for example: openpose / openpose_full / openpose_hand / openpose_face / openpose_faceonly
strengthnumbernej0.8[0.1, 1]
widthintegernej512
heightintegernej512
stepsintegernej3010 <= value <= 50
guidanceScaleintegernej7.50 < value <= 20
countintegernej4genereret billedantal

Svardata

NavnTypePåkrævetStandardBemærkAndre
codenumberja0 -> succes;1000 -> ikke nok kredit
infostringnejfejl info
dataobjectja
├─idstringjajob ID
├─creditintegerjabrugerens samlede kredit
├─consumedCreditintegerjaforbrugt kredit af jobbet

3. Få job

Grundlæggende info

Sti: /api/job/get

Metode: GET

Anmodningsparametre

Forespørgsel

NavnPåkrævetEksempelBemærk
idja642ba091592245d79a645b39job ID

Response Data

NavnTypePåkrævetDefaultBemærkOthers
codeintegerja0 -> succes
infostringnejfejl info
dataobjectja
├─idstringjajob ID
├─createAtstringjaoprettet tidspunkt for jobbet
├─statusintegerjastatus for jobbet. 0 -> ikke klar; 1 -> behandling; 2 -> succes; 3 -> fejl
├─resultobjectnej
├─├─infostringnej
├─├─dataobjectnej
├─├─├─imagesstring []nejDen resulterende relative sti for billedet (skal sammenkædes med domænefeltet)item Type:string
├─├─├─artIdsstring []nejBillede svarende til artIDitem Type:string
├─├─├─domainstringnejoss url, du skal sammenkæde den relative sti for billedet
├─argsobjectnej
├─├─promptstringnej
├─├─negativePromptstringnej
├─├─modelstringnej
├─├─strengthintegernej
├─├─widthintegernej
├─├─heightintegernej

4. Liste ControlNet-model

Grundlæggende info

Sti: /api/job/models

Metode: GET

Svardata

NavnTypePåkrævetStandardBemærkAndre
codeintegerja0 -> succes
infostringnejfejl info
dataobjectja
├domainstringjabilledets oss-domænenavn, skal sammenkæde ikonfeltet nedenfor
├modelsobject []jaitem Type:object
idstringjamodel id, The controlModel parameter value is this ID when creating a job
namestringjaEngelsk navn
cnamestringjaKinesisk navn
iconstringjaeksempelbillede. oss relativ sti, du skal sammenkæde domæner

5. Liste Histroy Job

Grundlæggende info

Sti: /api/job/list

Metode: GET

Anmodningsparametre

Headere

NavnVærdiPåkrævetEksempelBemærk
Content-Typeapplication/jsonja
AuthorizationBearer {YOUR KEY}jaBearer 37f333a2d5f811edb248acde48001122

Query

NavnPåkrævetEksempelBemærk
pageIndexjastart fra 1
pageSizeja

Svardata

NavnTypePåkrævetStandardBemærkAndre
codeintegerja0 -> succes
infostringnejfejl info
dataobjectja
├─jobsobject []jajob arrayitem Type:object
├─├─idstringjajob ID
├─├─createdAtstringja
├─├─argsobjectja
├─├─├─promptstringja
├─├─├─negativePromptstringja
├─├─├─strengthintegerja
├─├─├─widthintegerja
├─├─├─heightintegerja
├─├─├─countintegerja
├─├─├─stepsintegerja
├─├─artsobject []jadet genererede array af billederitem Type:object
├─├─├─idstringjaid'et for det genererede billede
├─├─├─imagesobject []javarieret billedarrayitem Type:object
├─├─├─├─specstringjavariant type. o -> oprindelse; 2x/3x/4x -> 2/3/4 skala billede
├─├─├─├─pathstringjabilledsti. domæne, der skal sammenkædes
├─├─├─├─sizeintegerjabilledstørrelse. enhed: Byte
├─domainstringjaoss billeddomæne

6. Liste model

Grundlæggende info

Sti: /api/model/list

Metode: GET

Anmodningsparametre

Headere

NavnVærdiPåkrævetEksempelBemærk
AuthorizationBearer {YOUR KEY}jaBearer 37f333a2d5f811edb248acde48001122

Forespørgsel

NavnPåkrævetEksempelBemærk
pageIndexjastart fra 1
pageSizeja
typenejplatform/community

Svardata

NavnTypePåkrævetStandardBemærkAndre
codeintegerja0 -> succes
infostringnejfejl info
dataobjectja
├─domainstringjaoss-domæne
├─totalintegerjadet samlede antal modeller filtreret til sideinddeling
├─modelsobject []jaitem Type:object
├─├─idstringjamodel ID
├─├─namestringjamodelnavn
├─├─usernamestringjamodel’s author name
├─├─descstringjamodelbeskrivelse
├─├─coverstringjamodelcover
├─├─isFavouritebooleanjaom brugeren favoritter modellen
├─├─controlNetbooleanjaom modellen understøtter ControlNet

7. Super opløsning

Grundlæggende info

Sti: /api/job/upscale

Metode: POST

Anmodningsparametre

Headere

NavnVærdiPåkrævetEksempelBemærk
Content-Typeapplication/jsonja
AuthorizationBearer {YOUR KEY}jaBearer 37f333a2d5f811edb248acde48001122

Krop

NavnTypePåkrævetStandardBemærkAndre
modelstringnejupscale model navn
RealESRGAN _x4plus / RealESRGAN_x4plus_anime_6B
imagePathstringjabilledsti. domæne, der skal sammenkædes
upscaleFactorintegerja2 <= factor <= 4
beautybooleannejom du vil aktivere ansigtsforbedring
artIdstringjaBrug for et super point billede artID

Svardata

NavnTypePåkrævetStandardBemærkAndre
codenumberja0 -> succes;1000 -> ikke nok kredit
infostringnejfejl info
dataobjectja
├─idstringnejupscale job id
├─creditintegerjabrugerens samlede kredit
├─consumedCreditintegerjaforbrugt kredit af jobbet

8. Billedsegmentering

Grundlæggende info

Sti: /api/art/segment

Metode: POST

Anmodningsparametre

Headere

NavnVærdiPåkrævetEksempelBemærk
Content-Typeapplication/jsonja
AuthorizationBearer {YOUR KEY}jaBearer 37f333a2d5f811edb248acde48001122

Krop

NavnTypePåkrævetStandardBemærkAndre
imagestringjabilledsti. absolut/relativ sti

Svardata

NavnTypePåkrævetStandardBemærkAndre
codenumberja0 -> succes
infostringnejfejl info
dataobjectja
├─imagestringjaURL for billedet efter segmentering

9. GetUserInfo

Grundlæggende info

Sti: /api/user/profile

Metode: GET

Anmodningsparametre

Headere

NavnVærdiPåkrævetEksempelBemærk
Content-Typeapplication/jsonja
AuthorizationBearer {YOUR KEY}jaBearer 37f333a2d5f811edb248acde48001122

Svardata

NavnTypePåkrævetStandardBemærkAndre
codenumberja0 -> succes
infostringnejfejl info
dataobjectja
├─namestringja
├─emailstringja
├─avatarstringja
├─phonestringja
├─creditintegerjabrugerens samlede kredit
├─displayNSFWbooleanja
├─discordbooleanja

10. Opret Headshot

10.1 Liste skabeloner

Grundlæggende info

Sti: api/transform/list

Metode: GET

Svardata

NavnTypePåkrævetStandardBemærkAndre
codenumberja0 -> succes
infostringnejfejl info
dataobjectja
├─domainstringjabilledets oss-domænenavn, skal sammenkæde ikonfeltet nedenfor
├─tagsstring[]jaskabelon tag
├─transformobjectja
├─├─tagobject[]ja
├─├─├─idstringja
├─├─├─namestringja
├─├─├─imagestringjaoprindelsesbillede
├─├─├─artstringjaresultatbillede
├─├─├─costnumberjakreditforbrug
├─├─├─probooleanjaer pro
├─├─├─tagstringjatag

10.2 Opret Headshot

Grundlæggende info

Sti: api/transform/create-headshot

Metode: POST

Headere

NavnVærdiPåkrævetEksempelBemærk
Content-Typeapplication/jsonja
AuthorizationBearer {YOUR KEY}jaBearer 37f333a2d5f811edb248acde48001122

Krop

NavnTypePåkrævetStandardBemærkAndre
imagePathstringjabilledsti returneret ved kald upload-image api
transformIdstringja
widthintegernej
heightintegernej
keepHairbooleannejfalse
keepPosebooleannejtrue

Svardata

NavnTypePåkrævetStandardBemærkAndre
codenumberja0 -> succes;1000 -> ikke nok kredit
infostringnejfejl info
dataobjectja
├─idstringjajob ID
├─creditintegerjabrugerens samlede kredit
├─consumedCreditintegerjaforbrugt kredit af jobbet

Kommerciel Service-toB/API

[email protected]