API Referentie

API Documentatie van Aitubo

Overzicht

Dit document beschrijft hoe u de code kunt gebruiken om dezelfde resultaten te bereiken als op het web. Na het document geeft alleen het relatieve adres API, moet u samenvoegen met de hoofddomeinnaam: https://api.aitubo.ai.

Als u bijvoorbeeld een taak wilt maken, moet u bellen https://api.aitubo.ai/api/job/create

Het document is verdeeld in twee secties, de eerste voor voorbeelden en de tweede voor specifieke API.

Voorbeelden

Deze sectie beschrijft hoe u een taak kunt maken en een taak kunt verkrijgen. Onze API voor het maken van taken biedt drie kernfuncties: Text2Image, Image2Image, and ControlNet(ControlNet is een neurale netwerkstructuur om diffusiemodellen te besturen door extra voorwaarden toe te voegen).

Ongeacht welke van de drie functies u gebruikt, moet u eerst een lijst met de modellen krijgen die we ondersteunen, en vervolgens, wanneer u de taak maakt, moet u de id veld van de modelinformatie

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

Het resultaat is zoiets als dit:

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

Dan krijgt u een reactie als deze:

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

U kunt de status van het maken van taken controleren door te peilen. Elke foto duurt ongeveer 2 seconden om te voltooien, dus controleer uw queryfrequentie. Ten slotte krijgt u dit:

{
  "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

Om Image2Image te gebruiken, kunt u onze Afbeelding uploaden API aanroepen om het relatieve adres van een afbeelding van OSS te krijgen, of u kunt een afbeelding met een absoluut adres geven.

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
}'

U kunt de status van het maken van taken controleren door te peilen, net als bij Text2Image.

3. ControlNet

Voordat u de ControlNet-functie gebruikt, moet u eerst de /job/model/list API aanroepen om de bijbehorende ControlNet-categorieën te verkrijgen:

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

Roep dan /job/create API aan:

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"
}'

U kunt ook doorgeven modelId veld(Zorg ervoor dat het model ControlNet ondersteunt):

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"
}'

API'S

1. Afbeelding uploaden

Basisinfo

Pad: /api/job/upload-image

Methode: POST

Verzoekparameters

Headers

NaamWaardeVereistVoorbeeld
Content-Typemultipart/form-dataja
AuthorizationBearer {YOUR KEY}jaBearer 37f333a2d5f811edb248acde48001122

Body

NaamWaardeVereist
imagebestandja

Responsgegevens

NaamTypeVereistStandaardOpmerkingAnderen
codeintegerjacode=0 -> succes
infostringneefoutinfo
dataobjectnee
├─pathstringneeafbeeldingspad van AliYun OSS

2. Taak maken

Basisinfo

Pad: /api/job/create

Methode: POST

Verzoekparameters

Headers

NaamWaardeVereistVoorbeeld
Content-Typeapplication/jsonja
AuthorizationBearer {YOUR KEY}jaBearer 37f333a2d5f811edb248acde48001122

Body

NaamTypeVereistStandaardOpmerkingAnderen
imagePathstringneepad van de geüploade afbeelding (url/oss beide)
maskImagestringneeAI Editor moet dit veld doorgeven
modelIdstringneeals controlModel null is, moet dit veld worden ingevuld
promptstringjaprompt
negativePromptstringneenegatieve prompt
controlModelstringneecanny / scribble / openpose / mlsd / hed / seg / depth / normal
controlStrengthnumbernee1[0, 2]
controlFilterstringneepreprecessor van controleafbeelding, bijvoorbeeld: openpose / openpose_full / openpose_hand / openpose_face / openpose_faceonly
strengthnumbernee0.8[0.1, 1]
widthintegernee512
heightintegernee512
stepsintegernee3010 <= waarde <= 50
guidanceScaleintegernee7.50 < waarde <= 20
countintegernee4gegenereerd aantal afbeeldingen

Responsgegevens

NaamTypeVereistStandaardOpmerkingAnderen
codenumberja0 -> succes;1000 -> niet genoeg tegoed
infostringneefoutinfo
dataobjectja
├─idstringjataak-ID
├─creditintegerjatotaal tegoed van de gebruiker
├─consumedCreditintegerjaverbruikt tegoed van de taak

3. Taak ophalen

Basisinfo

Pad: /api/job/get

Methode: GET

Verzoekparameters

Query

NaamVereistVoorbeeldOpmerking
idja642ba091592245d79a645b39taak-ID

Response Data

NaamTypeVereistDefaultOpmerkingOthers
codeintegerja0 -> succes
infostringneefoutinfo
dataobjectja
├─idstringjataak-ID
├─createAtstringjaaanmaaktijd van de taak
├─statusintegerjastatus van de taak. 0 -> niet klaar; 1 -> verwerking; 2 -> succes; 3 -> mislukking
├─resultobjectnee
├─├─infostringnee
├─├─dataobjectnee
├─├─├─imagesstring []neeHet resulterende relatieve pad van de afbeelding (moet worden samengevoegd met het domeinveld)item Type:string
├─├─├─artIdsstring []neeAfbeelding overeenkomstige artIDitem Type:string
├─├─├─domainstringneeoss url, u moet het relatieve pad van de afbeelding samenvoegen
├─argsobjectnee
├─├─promptstringnee
├─├─negativePromptstringnee
├─├─modelstringnee
├─├─strengthintegernee
├─├─widthintegernee
├─├─heightintegernee

4. Lijst ControlNet-model

Basisinfo

Pad: /api/job/models

Methode: GET

Responsgegevens

NaamTypeVereistStandaardOpmerkingAnderen
codeintegerja0 -> succes
infostringneefoutinfo
dataobjectja
├domainstringjaafbeelding oss domeinnaam, moet het pictogramveld hieronder samenvoegen
├modelsobject []jaitem Type:object
idstringjamodel-id, De parameterwaarde controlModel is deze ID bij het maken van een taak
namestringjaEngelse naam
cnamestringjaChinese naam
iconstringjavoorbeeld afbeelding. oss relatief pad, u moet domeinen samenvoegen

5. Lijst Histroy-taak

Basisinfo

Pad: /api/job/list

Methode: GET

Verzoekparameters

Headers

NaamWaardeVereistVoorbeeldOpmerking
Content-Typeapplication/jsonja
AuthorizationBearer {YOUR KEY}jaBearer 37f333a2d5f811edb248acde48001122

Query

NaamVereistVoorbeeldOpmerking
pageIndexjabegin vanaf 1
pageSizeja

Responsgegevens

NaamTypeVereistStandaardOpmerkingAnderen
codeintegerja0 -> succes
infostringneefoutinfo
dataobjectja
├─jobsobject []jataakreeksitem Type:object
├─├─idstringjataak-ID
├─├─createdAtstringja
├─├─argsobjectja
├─├─├─promptstringja
├─├─├─negativePromptstringja
├─├─├─strengthintegerja
├─├─├─widthintegerja
├─├─├─heightintegerja
├─├─├─countintegerja
├─├─├─stepsintegerja
├─├─artsobject []jade gegenereerde reeks afbeeldingenitem Type:object
├─├─├─idstringjade id van de gegenereerde afbeelding
├─├─├─imagesobject []javerscheidenheid aan afbeeldingenitem Type:object
├─├─├─├─specstringjavarianttype. o -> origin; 2x/3x/4x -> 2/3/4 schaalafbeelding
├─├─├─├─pathstringjaafbeeldingspad. domein om samen te voegen
├─├─├─├─sizeintegerjaafbeeldingsgrootte. eenheid: Byte
├─domainstringjaoss afbeeldingsdomein

6. Lijst Model

Basisinfo

Pad: /api/model/list

Methode: GET

Verzoekparameters

Headers

NaamWaardeVereistVoorbeeldOpmerking
AuthorizationBearer {YOUR KEY}jaBearer 37f333a2d5f811edb248acde48001122

Query

NaamVereistVoorbeeldOpmerking
pageIndexjabegin vanaf 1
pageSizeja
typeneeplatform/community

Responsgegevens

NaamTypeVereistStandaardOpmerkingAnderen
codeintegerja0 -> succes
infostringneefoutinfo
dataobjectja
├─domainstringjaoss domein
├─totalintegerjahet totale aantal modellen dat is gefilterd voor paginering
├─modelsobject []jaitem Type:object
├─├─idstringjamodel-ID
├─├─namestringjamodelnaam
├─├─usernamestringjamodel’s author name
├─├─descstringjamodelbeschrijving
├─├─coverstringjamodelcover
├─├─isFavouritebooleanjaof de gebruiker het model favoriet maakt
├─├─controlNetbooleanjaof het model ControlNet ondersteunt

7. Superresolutie

Basisinfo

Pad: /api/job/upscale

Methode: POST

Verzoekparameters

Headers

NaamWaardeVereistVoorbeeldOpmerking
Content-Typeapplication/jsonja
AuthorizationBearer {YOUR KEY}jaBearer 37f333a2d5f811edb248acde48001122

Body

NaamTypeVereistStandaardOpmerkingAnderen
modelstringneeupscale modelnaam
RealESRGAN _x4plus / RealESRGAN_x4plus_anime_6B
imagePathstringjaafbeeldingspad. domein om samen te voegen
upscaleFactorintegerja2 <= factor <= 4
beautybooleanneeof gezichtsverbetering moet worden ingeschakeld
artIdstringjaEen superpuntafbeelding artID nodig

Responsgegevens

NaamTypeVereistStandaardOpmerkingAnderen
codenumberja0 -> succes;1000 -> niet genoeg tegoed
infostringneefoutinfo
dataobjectja
├─idstringneeupscale taak-id
├─creditintegerjatotaal tegoed van de gebruiker
├─consumedCreditintegerjaverbruikt tegoed van de taak

8. Afbeeldingssegmentatie

Basisinfo

Pad: /api/art/segment

Methode: POST

Verzoekparameters

Headers

NaamWaardeVereistVoorbeeldOpmerking
Content-Typeapplication/jsonja
AuthorizationBearer {YOUR KEY}jaBearer 37f333a2d5f811edb248acde48001122

Body

NaamTypeVereistStandaardOpmerkingAnderen
imagestringjaafbeeldingspad. absoluut/relatief pad

Responsgegevens

NaamTypeVereistStandaardOpmerkingAnderen
codenumberja0 -> succes
infostringneefoutinfo
dataobjectja
├─imagestringjaURL van de afbeelding na segmentatie

9. Gebruikersinfo ophalen

Basisinfo

Pad: /api/user/profile

Methode: GET

Verzoekparameters

Headers

NaamWaardeVereistVoorbeeldOpmerking
Content-Typeapplication/jsonja
AuthorizationBearer {YOUR KEY}jaBearer 37f333a2d5f811edb248acde48001122

Responsgegevens

NaamTypeVereistStandaardOpmerkingAnderen
codenumberja0 -> succes
infostringneefoutinfo
dataobjectja
├─namestringja
├─emailstringja
├─avatarstringja
├─phonestringja
├─creditintegerjatotaal tegoed van de gebruiker
├─displayNSFWbooleanja
├─discordbooleanja

10. Hoofdfoto maken

10.1 Lijst Sjablonen

Basisinfo

Pad: api/transform/list

Methode: GET

Responsgegevens

NaamTypeVereistStandaardOpmerkingAnderen
codenumberja0 -> succes
infostringneefoutinfo
dataobjectja
├─domainstringjaafbeelding oss domeinnaam, moet het pictogramveld hieronder samenvoegen
├─tagsstring[]jasjabloontag
├─transformobjectja
├─├─tagobject[]ja
├─├─├─idstringja
├─├─├─namestringja
├─├─├─imagestringjaoriginele afbeelding
├─├─├─artstringjaresultaat afbeelding
├─├─├─costnumberjategoed verbruiken
├─├─├─probooleanjais pro
├─├─├─tagstringjatag

10.2 Hoofdfoto maken

Basisinfo

Pad: api/transform/create-headshot

Methode: POST

Headers

NaamWaardeVereistVoorbeeldOpmerking
Content-Typeapplication/jsonja
AuthorizationBearer {YOUR KEY}jaBearer 37f333a2d5f811edb248acde48001122

Body

NaamTypeVereistStandaardOpmerkingAnderen
imagePathstringjaafbeeldingspad geretourneerd bij aanroep upload-image api
transformIdstringja
widthintegernee
heightintegernee
keepHairbooleanneefalse
keepPosebooleanneetrue

Responsgegevens

NaamTypeVereistStandaardOpmerkingAnderen
codenumberja0 -> succes;1000 -> niet genoeg tegoed
infostringneefoutinfo
dataobjectja
├─idstringjataak-ID
├─creditintegerjatotaal tegoed van de gebruiker
├─consumedCreditintegerjaverbruikt tegoed van de taak

Commerciële Service-toB/API

[email protected]