API Referanse

API Dokumentasjon av Aitubo

Oversikt

Dette dokumentet beskriver hvordan du bruker koden for å oppnå de samme resultatene som på nettet. Etter dokumentet vil bare gi relativ adresse API, du må sette sammen til hoveddomenenavnet: https://api.aitubo.ai.

For eksempel, hvis du vil opprette en jobb, må du ringe https://api.aitubo.ai/api/job/create

Dokumentet er delt inn i to seksjoner, den første for eksempler og den andre for spesifikk API.

Eksempler

Denne delen beskriver hvordan du oppretter en jobb og får en jobb. Vår API for å opprette jobber tilbyr tre kjernefunksjoner: Text2Image, Image2Image, and ControlNet(ControlNet er en nevrale nettverksstruktur for å kontrollere diffusjonsmodeller ved å legge til ekstra betingelser).

Uavhengig av hvilken av de tre funksjonene du bruker, må du først få en liste over modellene vi støtter, og deretter når du oppretter jobben, må du sende inn id feltet i modellinformasjonen

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

Resultatet er noe sånt 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"
}

Deretter får du et svar som dette:

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

Du kan sjekke statusen for oppretting av oppgaven ved å spørre. Hvert bilde tar omtrent 2 sekunder å fullføre, så kontroller spørringsfrekvensen din. Til slutt får du slik:

{
  "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 å bruke Image2Image kan du ringe vår Last opp bilde API for å få en bildes OSS relative adresse, eller du kan gi et bilde med en absolutt 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 sjekke statusen for oppretting av oppgaven ved å spørre akkurat som Text2Image.

3. ControlNet

Før du bruker ControlNet-funksjonen, må du først ringe /job/model/list API for å få de tilsvarende ControlNet-kategoriene:

{
    "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"
            },
            ...
    }
}

Deretter ringer du /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å sende modelId felt(Sørg for at modellen stø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. Last opp bilde

Grunnleggende info

Sti: /api/job/upload-image

Metode: POST

Forespørselsparametere

Overskrifter

NavnVerdiPåkrevdEksempel
Content-Typemultipart/form-dataja
AuthorizationBearer {YOUR KEY}jaBearer 37f333a2d5f811edb248acde48001122

Kropp

NavnVerdiPåkrevd
imagefilja

Svarsdata

NavnTypePåkrevdStandardMerkAndre
codeintegerjacode=0 -> suksess
infostringneifeilinfo
dataobjectnei
├─pathstringneibildebane for AliYun OSS

2. Opprett jobb

Grunnleggende info

Sti: /api/job/create

Metode: POST

Forespørselsparametere

Overskrifter

NavnVerdiPåkrevdEksempel
Content-Typeapplication/jsonja
AuthorizationBearer {YOUR KEY}jaBearer 37f333a2d5f811edb248acde48001122

Kropp

NavnTypePåkrevdStandardMerkAndre
imagePathstringneibane til det opplastede bildet(url/oss begge)
maskImagestringneiAI Editor bør sende dette feltet
modelIdstringneihvis controlModel er null, bør dette feltet fylles ut
promptstringjaledetekst
negativePromptstringneinegativ ledetekst
controlModelstringneicanny / scribble / openpose / mlsd / hed / seg / depth / normal
controlStrengthnumbernei1[0, 2]
controlFilterstringneiforløper for kontrollbilde, for eksempel: openpose / openpose_full / openpose_hand / openpose_face / openpose_faceonly
strengthnumbernei0.8[0.1, 1]
widthintegernei512
heightintegernei512
stepsintegernei3010 <= verdi <= 50
guidanceScaleintegernei7.50 < verdi <= 20
countintegernei4generert bildeantall

Svarsdata

NavnTypePåkrevdStandardMerkAndre
codenumberja0 -> suksess;1000 -> ikke nok kreditt
infostringneifeilinfo
dataobjectja
├─idstringjajobb-ID
├─creditintegerjabrukerens totale kreditt
├─consumedCreditintegerjaforbrukt kreditt av jobben

3. Få jobb

Grunnleggende info

Sti: /api/job/get

Metode: GET

Forespørselsparametere

Spørring

NavnPåkrevdEksempelMerk
idja642ba091592245d79a645b39jobb-ID

Response Data

NavnTypePåkrevdDefaultMerkOthers
codeintegerja0 -> suksess
infostringneifeilinfo
dataobjectja
├─idstringjajobb-ID
├─createAtstringjaopprettet tidspunkt for jobben
├─statusintegerjastatus for jobben. 0 -> ikke klar; 1 -> behandling; 2 -> suksess; 3 -> feil
├─resultobjectnei
├─├─infostringnei
├─├─dataobjectnei
├─├─├─imagesstring []neiDen resulterende relative banen til bildet (må sammenkobles med domene feltet)item Type:string
├─├─├─artIdsstring []neiBilde tilsvarende artIDitem Type:string
├─├─├─domainstringneioss url, du må sette sammen den relative banen til bildet
├─argsobjectnei
├─├─promptstringnei
├─├─negativePromptstringnei
├─├─modelstringnei
├─├─strengthintegernei
├─├─widthintegernei
├─├─heightintegernei

4. Liste ControlNet-modell

Grunnleggende info

Sti: /api/job/models

Metode: GET

Svarsdata

NavnTypePåkrevdStandardMerkAndre
codeintegerja0 -> suksess
infostringneifeilinfo
dataobjectja
├domainstringjabilde oss domenenavn, må sette sammen ikonfeltet nedenfor
├modelsobject []jaitem Type:object
idstringjamodell-ID, ControlModel-parameterverdien er denne ID-en når du oppretter en jobb
namestringjaEngelsk navn
cnamestringjaKinesisk navn
iconstringjaeksempelbilde. oss relativ bane, du må sette sammen domener

5. Liste Histroy Jobb

Grunnleggende info

Sti: /api/job/list

Metode: GET

Forespørselsparametere

Overskrifter

NavnVerdiPåkrevdEksempelMerk
Content-Typeapplication/jsonja
AuthorizationBearer {YOUR KEY}jaBearer 37f333a2d5f811edb248acde48001122

Query

NavnPåkrevdEksempelMerk
pageIndexjastart fra 1
pageSizeja

Svarsdata

NavnTypePåkrevdStandardMerkAndre
codeintegerja0 -> suksess
infostringneifeilinfo
dataobjectja
├─jobsobject []jajobbmatriseitem Type:object
├─├─idstringjajobb-ID
├─├─createdAtstringja
├─├─argsobjectja
├─├─├─promptstringja
├─├─├─negativePromptstringja
├─├─├─strengthintegerja
├─├─├─widthintegerja
├─├─├─heightintegerja
├─├─├─countintegerja
├─├─├─stepsintegerja
├─├─artsobject []jaden genererte matrisen av bilderitem Type:object
├─├─├─idstringjaID-en til det genererte bildet
├─├─├─imagesobject []jautvalg bilde matriseitem Type:object
├─├─├─├─specstringjavarianttype. o -> opprinnelse; 2x/3x/4x -> 2/3/4 skala bilde
├─├─├─├─pathstringjabildebane. domene som skal sammenkobles
├─├─├─├─sizeintegerjabildestørrelse. enhet: Byte
├─domainstringjaoss bildedomenet

6. Liste modell

Grunnleggende info

Sti: /api/model/list

Metode: GET

Forespørselsparametere

Overskrifter

NavnVerdiPåkrevdEksempelMerk
AuthorizationBearer {YOUR KEY}jaBearer 37f333a2d5f811edb248acde48001122

Spørring

NavnPåkrevdEksempelMerk
pageIndexjastart fra 1
pageSizeja
typeneiplatform/community

Svarsdata

NavnTypePåkrevdStandardMerkAndre
codeintegerja0 -> suksess
infostringneifeilinfo
dataobjectja
├─domainstringjaoss domene
├─totalintegerjadet totale antallet modeller filtrert for paginering
├─modelsobject []jaitem Type:object
├─├─idstringjamodell-ID
├─├─namestringjamodellnavn
├─├─usernamestringjamodel’s author name
├─├─descstringjamodel beskrivelse
├─├─coverstringjamodellomslag
├─├─isFavouritebooleanjaom brukeren favoriserer modellen
├─├─controlNetbooleanjaom modellen støtter ControlNet

7. Superoppløsning

Grunnleggende info

Sti: /api/job/upscale

Metode: POST

Forespørselsparametere

Overskrifter

NavnVerdiPåkrevdEksempelMerk
Content-Typeapplication/jsonja
AuthorizationBearer {YOUR KEY}jaBearer 37f333a2d5f811edb248acde48001122

Kropp

NavnTypePåkrevdStandardMerkAndre
modelstringneioppskaleringsmodellnavn
RealESRGAN _x4plus / RealESRGAN_x4plus_anime_6B
imagePathstringjabildebane. domene som skal sammenkobles
upscaleFactorintegerja2 <= faktor <= 4
beautybooleanneiom du vil aktivere ansiktsforbedring
artIdstringjaTrenger et superpunkt bilde artID

Svarsdata

NavnTypePåkrevdStandardMerkAndre
codenumberja0 -> suksess;1000 -> ikke nok kreditt
infostringneifeilinfo
dataobjectja
├─idstringneioppskaleringsjobb-ID
├─creditintegerjabrukerens totale kreditt
├─consumedCreditintegerjaforbrukt kreditt av jobben

8. Bildesegmentering

Grunnleggende info

Sti: /api/art/segment

Metode: POST

Forespørselsparametere

Overskrifter

NavnVerdiPåkrevdEksempelMerk
Content-Typeapplication/jsonja
AuthorizationBearer {YOUR KEY}jaBearer 37f333a2d5f811edb248acde48001122

Kropp

NavnTypePåkrevdStandardMerkAndre
imagestringjabildebane. absolutt/relativ bane

Svarsdata

NavnTypePåkrevdStandardMerkAndre
codenumberja0 -> suksess
infostringneifeilinfo
dataobjectja
├─imagestringjaURL for bildet etter segmentering

9. GetUserInfo

Grunnleggende info

Sti: /api/user/profile

Metode: GET

Forespørselsparametere

Overskrifter

NavnVerdiPåkrevdEksempelMerk
Content-Typeapplication/jsonja
AuthorizationBearer {YOUR KEY}jaBearer 37f333a2d5f811edb248acde48001122

Svarsdata

NavnTypePåkrevdStandardMerkAndre
codenumberja0 -> suksess
infostringneifeilinfo
dataobjectja
├─namestringja
├─emailstringja
├─avatarstringja
├─phonestringja
├─creditintegerjabrukerens totale kreditt
├─displayNSFWbooleanja
├─discordbooleanja

10. Opprett hodebilde

10.1 Liste maler

Grunnleggende info

Sti: api/transform/list

Metode: GET

Svarsdata

NavnTypePåkrevdStandardMerkAndre
codenumberja0 -> suksess
infostringneifeilinfo
dataobjectja
├─domainstringjabilde oss domenenavn, må sette sammen ikonfeltet nedenfor
├─tagsstring[]jamal tag
├─transformobjectja
├─├─tagobject[]ja
├─├─├─idstringja
├─├─├─namestringja
├─├─├─imagestringjaopprinnelig bilde
├─├─├─artstringjaresultatbilde
├─├─├─costnumberjakredittforbruk
├─├─├─probooleanjaer pro
├─├─├─tagstringjatag

10.2 Opprett hodebilde

Grunnleggende info

Sti: api/transform/create-headshot

Metode: POST

Overskrifter

NavnVerdiPåkrevdEksempelMerk
Content-Typeapplication/jsonja
AuthorizationBearer {YOUR KEY}jaBearer 37f333a2d5f811edb248acde48001122

Kropp

NavnTypePåkrevdStandardMerkAndre
imagePathstringjabildebane returnert når den kalles upload-image api
transformIdstringja
widthintegernei
heightintegernei
keepHairbooleanneifalse
keepPosebooleanneitrue

Svarsdata

NavnTypePåkrevdStandardMerkAndre
codenumberja0 -> suksess;1000 -> ikke nok kreditt
infostringneifeilinfo
dataobjectja
├─idstringjajobb-ID
├─creditintegerjabrukerens totale kreditt
├─consumedCreditintegerjaforbrukt kreditt av jobben

Kommersiell Service-toB/API

[email protected]