Pro API: grænser, fejlkoder og god praksis

Grænser

Hver nøgle har tre: renders på én gang (2 som standard), indsendelser per minut (60 som standard) og, hvis du sætter en, et dagligt kreditloft.

Overskrides en grænse, er svaret 429 med en Retry-After-header i sekunder. Et afvist kald koster ingenting. Den dag der bruges til grænserne er UTC-dagen.

Lange videoer tilføjer to egne grænser: 30 shots per sekvens og 5 sekvenser i gang per licens (se Videos).

Karakterer har én: 50 per Pro-licens, inklusive dem der er lavet i appen, og en karakter der ikke bruges i ét år slettes (se Characters). Lokationer, objekter og dyr har deres egne, talt separat: 50 per Pro-licens (10 med en personlig licens, i appen), slettet efter det samme år uden brug (se Lokationer, objekter, dyr, stilarter og outfits).

Face swap har to egne: et afsnit på maks. 20 s per render, og vores server forbereder to videoer ad gangen. Overskrides det, er svaret 429 server_busy: forsøg igen efter Retry-After (se Face swap). Via MCP tager en Face swap med overgang en hel video på højst 60 s, og serveren håndterer to ad gangen: derudover beder værktøjet om et nyt forsøg om et par minutter.

Vores eget kort deles med appens brugere. Når det er optaget, sendes dine renders til lejede GPU'er, til samme pris og via den samme API, med nogle titals sekunder ekstra ved opstart.

Fejlkoder

KodeerrorHvad det betyder, og hvad du skal gøre
400prompt_requiredTilføj et prompt.
400forbidden_contentIndholdsfiltrene afviste promptet.
400invalid_seedseed skal være et helt tal fra 0 til 4294967295.
400image_required, inpaint_images_requiredTilstanden kræver image_b64, og mask_b64 til inpaint.
401key_required, invalid_keyHeader mangler, eller ukendt nøgle.
402insufficient_creditsIkke nok saldo til denne render (cost opgives). Svaret indeholder buy_url, siden til køb af kreditter for din licens. En render eller en træning i gang reserverer sin pris indtil den slutter: engaged angiver, hvor mange kreditter der holdes tilbage på den måde.
402confirmation_required, payment_declinedEt køb med dit gemte kort (POST /credits/purchase): din bank beder om din bekræftelse eller har afvist betalingen. Brug buy_url, det almindelige købslink.
409agent_not_allowed, no_saved_card, monthly_cap_reachedEt køb med dit gemte kort: din agent må ikke købe (automatisk optankning på din kontoside), der er ikke gemt noget kort, eller købet ville overskride din månedlige grænse. Brug buy_url.
409topup_in_progress, purchase_in_progressEn anden betaling med dit gemte kort er i gang: vent, til den er færdig.
400unknown_packEt køb med en ukendt pakke, eller et valgfrit antal uden for grænserne eller ikke i hele trin.
503payment_unavailableBetalingen kunne ikke bekræftes: vi ved ikke, om trækket gik igennem. Prøv ikke igen med det samme; et træk, der gik igennem, bliver krediteret.
403key_disabled, key_revoked, key_expiredNøgle slukket, tilbagekaldt eller udløbet: opret en ny i appen.
403license_revoked, license_not_proLicens tilbagekaldt, eller en konto der ikke er Pro.
403missing_scopeNøglen mangler den adgang der anmodes om, angivet i scope.
403unknown_loraEn karakter der ikke tilhører kontoen.
404media_unavailableFilen er væk: send igen.
404unknown_loraVed DELETE /loras/{name}, ingen fil med det navn på kontoen. Bemærk koden: det samme navn svarer 403, når en render anmoder om en karakter der ikke er din.
411size_requiredEn LoRA-upload uden Content-Length. Brødteksten er rå, så størrelsen skal oplyses.
413file_too_largeEn LoRA over 800 MB, eller over 90 MB i en enkelt upload. Send den i dele. En ren 413 uden JSON-brødtekst er noget andet: anmodningen nåede aldrig API'et, se upload-afsnittet.
413part_too_largeEn del er større end den max_part_size sessionen meldte.
404unknown_upload_sessionuploadId eksisterer ikke, eller sessionen blev opgivet (seks timer) eller annulleret af en afvist del.
503upload_refused, part_refusedLageret kunne ikke nås under uploaden: forsøg igen.
507storage_fullIngen plads tilbage på serverlageret (LoRA'er eller sekvenser i gang). Teamet er advaret: forsøg igen senere.
415invalid_safetensorsDen uploadede fil er ikke et safetensors-format.
415incompatible_loraLoRA'en er til en anden arkitektur, angivet i architecture. Billeder bruger kun Krea 2, videoer LTX 2.5 eller 2.3. Intet gemmes, og ingen kvote bruges.
413lora_quotaKontoens LoRA-lager er fuldt (20 filer eller 10 GB). Svaret angiver hvad der er tilbage; slet en fil for at frigøre plads.
413image_too_largeKildebillede eller maske over 12 MB afkodet.
429too_many_concurrent_renders, rate_limited, daily_capEn grænse er nået, se Retry-After.
429daily_credit_capNøglens daglige kreditloft er nået (cap, spent, cost).
502submission_failed, status_failedEn hændelse på render-siden: forsøg igen om et par sekunder.
503license_check_failedKontoen kan ikke tjekkes lige nu: forsøg igen om et minut.
400invalid_extend_framesEn udvidelse hvis extend_frames ikke er 9, 17, 25, 33, 41 eller 49, eller en extend_video der ikke har præcis det antal frames.
400extension_with_transitionEn udvidelse kan ikke samtidig være en overgang, undtagen med consistency enhanced: fjern end_image, eller anmod om enhanced consistency.
400extension_too_shortlength for en udvidelse tæller kun de nye frames og skal være mindst 9.
404clip_unavailableDet klip der skal udvides er ikke længere tilgængeligt: udvid det hurtigere, eller send dets slutning i extend_video. Som 502 mislykkedes læsningen: forsøg igen.
404unknown_clipDet klip der skal udvides tilhører en anden licens.
404unknown_sequenceSekvensen eksisterer ikke, tilhører en anden licens eller er udløbet.
400job_id_required, empty_sequencePOST /sequences/{id}/clips uden et job_id, eller eksporten af en sekvens der ikke har noget shot.
409not_exported_yetGET /sequences/{id}/file før eksporten: kald POST /sequences/{id}/export først.
404unknown_exportEksport af projektmappen: ukendt rendering, fra en anden licens eller indsendt for mere end 24 t siden; ZIP-filen slettet (45 min efter første download, højst 2 t).
409export_in_progressÉn eksport af projektmappe ad gangen pr. licens.
413export_too_largeProjektmappe over 2 GB: eksportér skuddene ét ad gangen.
400unknown_referenceEksport af projektmappen: en post i exclude_references peger ikke på nogen reference i eksporten (hverken id, navn eller @omtale).
400invalid_export_optionsEksport af projektmappen: et valg, der ikke er en boolesk værdi, en exclude_references, der ikke er en liste af tekster, eller include_film uden include_media.
500export_failedEksporten mislykkedes (årsag i detail): intet trækkes, prøv igen.
422resolution_mismatch, unreadable_clipEn render indsendt manuelt (POST /sequences/{id}/clips) med en anden opløsning end sekvensens, eller ulæselig.
409missing_shotEt shot er endnu ikke færdigt, eller ikke længere tilgængeligt (job_id angiver det): vent til det er færdigt, og eksporter derefter igen.
409sequence_exportedSekvensen er allerede samlet.
409audio_mismatchEt shot med lyd i en lydløs sekvens, eller omvendt.
413extend_video_too_largeKlipafslutningen du sendte er over 8 MB.
413too_many_shotsMaks. 30 shots per sekvens.
422unreadable_tailKlipafslutningen, sendt eller læst tilbage, er ikke en læsbar video.
422assembly_failedShots har forskellige opløsninger, eller lyd på kun nogle af dem.
503ultra_unavailableUltra-tilstand er lukket i øjeblikket: forsøg igen senere, eller render uden quality.
503ultra_4k_unavailableEn 4K-størrelse anmodet i Ultra: 4K tilbydes ikke længere, video går op til 1080p (1920 x 1088).
400ultra_incompatibleEn overgang (end_image) anmodet i Ultra.
400extension_4kFortsættelsen af et ældre 4K-klip: 4K tilbydes ikke længere, et 4K-klip kan ikke forlænges (ultra_4k_unavailable med quality: "max"). Forlæng et klip på højst 1080p.
400resolution_above_qualityEn størrelse over 1080p (1920 x 1088) uden quality: "max": 1080p er loftet i alle tilstande.
400invalid_keyframes, invalid_keyframe_time, keyframes_modeKeyframes uden for grænserne: mere end 4, et ugyldigt billede eller strength; et tidspunkt uden for klippet, eller to keyframes mindre end 0,5 s fra hinanden; en anden tilstand end Quality (Ultra, Multi-Ref), eller en udvidelse uden consistency enhanced.
400invalid_consistency, consistency_modeconsistency andet end standard eller enhanced; enhanced consistency anmodet i Ultra eller i Multi-Ref.
400consistency_explicitEt prompt som enhanced consistency endnu ikke renderer, over 20 s (15 s med et end_image), i en udvidelse eller i en sekvens (et enkelt kortere shot renderes i standard consistency): gør det kortere, eller brug standard.
403consistency_licensed_onlyEnhanced consistency er forbeholdt licenser.
503consistency_unavailableEnhanced consistency er lukket i øjeblikket: forsøg igen senere, eller render i standard.
409consistency_mismatchEt shot hvis consistency adskiller sig fra sekvensens.
422encoding_mismatchEn render indsendt manuelt (POST /sequences/{id}/clips) hvis consistency adskiller sig fra de allerede indsendte shots.
400invalid_fps, fps_requires_fixed_duration, extend_fps_mismatchEn billedhastighed (fps) tilstanden ikke har (detail lister dem den har); enhanced consistency over 30 fps med automatisk varighed (sæt duration_auto til false og angiv length); en udvidelse med en anden billedhastighed end det forrige klips.
409sequence_fps_mismatchEt shot hvis billedhastighed (fps) adskiller sig fra sekvensens.
503keyframes_unavailableKeyframes er lukket i øjeblikket: render uden keyframes.
429too_many_sequencesMaks. 5 sekvenser i gang per licens: eksporter én, eller vent på at én udløber.
400invalid_name, invalid_kind, invalid_photo_role, outfit_too_long, invalid_roleEt karakterfelt uden for grænserne (se Characters).
400image_too_smallEt foto under 1024 px på den lange side.
415unsupported_image_format, unreadable_imageEt foto eller et lokationsbillede der ikke er en læsbar JPEG, PNG eller WebP.
404unknown_charactercharacter_id er ikke på din licens, eller blev slettet (ét år uden brug, eller slettet i appen).
409character_limitKaraktergrænsen (max) er nået: slet én.
409character_busyDens visninger er ved at blive lavet: vent til status ikke længere er pending. Ved POST /characters: den samme oprettelse er ved at blive gemt, send den igen nogle sekunder senere.
409photo_view, empty_character, single_image_sheetDen visning der kom fra det originale foto kan ikke genskabes; eller karakteren har ingen læsbar visning (hvis det er lageret, der afviser læsningen: 503 storage_unavailable, prøv igen); eller et sheet importeret som ét billede (bevaret som det er): dets visninger laves ikke om, og det klæder ikke et nyt sheet på (send visning 4 eller 1).
409app_characterEn instruction eller en uploadet visning på en karakter eller en character sheet fra appen: forbeholdt karakterer og character sheets oprettet via API'et.
400instruction_too_longEn instruction længere end 200 tegn.
400outfit_or_views_requiredEn character sheet tilføjet uden outfit og uden views: angiv et outfit at generere, eller vinkler.
400views_requiredEn character sheet tilføjet med generate: false: angiv mindst én vinkel.
409source_sheet_emptyEn character sheet tilføjet uden helkropsvinkel og uden buste til en karakter, der ingen af dem har at tage udgangspunkt i: send en af dem i views.
404unknown_sheetKun en character sheet tilføjet via API'et (sheet_origin api) kan slettes med DELETE /characters/{id}/sheets/{sheet_id}.
404unknown_subjectsubject_id er ikke på din licens, eller blev slettet efter ét år uden brug.
409subject_limitGrænsen for subjects (max) er nået: lokationer, objekter, dyr, stilarter og outfits tælles sammen; slet ét.
409empty_subjectEt subject uden noget læsbart billede.
400invalid_type, description_too_long, invalid_imagesEt subject-felt uden for grænserne (se Lokationer, objekter, dyr, stilarter og outfits).
400invalid_imageEt subject-billede der ikke er en læsbar JPEG, PNG eller WebP på mindst 512 px på den lange side (index angiver hvilket).
400description_required, invalid_views, invalid_view, invalid_count, too_many_images, prompt_too_long, invalid_instructionsGenerér et subject: hverken description, prompt eller startbillede; en visningsnøgle, som typen ikke har (detail giver listen); count uden for 1 til 6, eller flere end 6 billeder, start medregnet; en prompt på over 2.000 tegn; instructions tomme, for lange eller til flere visninger.
409subject_busy, subject_not_generated, view_exists, views_exist, start_image_missing, start_image_importedDer kører allerede en serie på dette subject; et subject lavet ud fra billeder (tilføj billeder via /images); en visning, der allerede er lavet (lav den om); en start, der skal laves om, mens visninger tager udgangspunkt i den; en mislykket start, der først skal laves om; en importeret start, som ikke kan laves om.
404 / 503unknown_view, generation_unavailableEn visning, der aldrig er bedt om (tilføj den); generering af subjects er ikke tilgængelig på serveren i øjeblikket: prøv igen senere.
400multiref_characters_required, multiref_incompatible, multiref_mode, multiref_format, invalid_lengthMulti-Ref uden for grænserne: 1 til 4 karakterer (12 i Ultra), ingen udvidelse eller overgang, formaterne og længderne for Multi-Ref Video.
400duplicate_name, invalid_strength, unknown_mentionTo karakterer med samme navn; strength uden for 0 til 2; et @Navn i promptet uden en karakter (mentions lister dem).
400voice_requires_audio, voice_slotEn karakterstemme (voice_b64) uden lyd ("audio": true); eller på en anden karakter end characters[0] og characters[1] (motoren understøtter 2 stemmer). index angiver hvilken.
400invalid_voice_choicevoice andet end character eller original i et Face swap, eller characters[].voice andet end character eller generated i Multi-Ref Video.
413audio_too_largeEn karakterstemme over 4 MB, eller over 2 MB i et Face swap. Kun de første 5 sekunder bruges (20 i et Face swap): send et kort uddrag.
415unsupported_audio_formatEn karakterstemme der ikke er en læsbar lydfil (WAV, MP3, OGG, FLAC).
400multiref_too_many_references, invalid_subject_typeMere end 4 karakterer, objekter og dyr tilsammen uden for Ultra; et subject i det forkerte felt (en lokation i subjects, et objekt som location, en stil uden for styles, et outfit uden for outfits).
400invalid_count, invalid_view, invalid_lora_pass, invalid_subject_image, invalid_sizeCreate an image: count 1 eller 2, view 1 til 5 og til stede i character sheet, lora_pass 0,3 til 0,9, image for et subject blandt dets billeder, bredde og højde fra 256 til 2048.
400character_not_readyCreate an image: den valgte vinkel for en karakter har endnu intet billede.
503multiref_image_disabledCreate an image er endnu ikke åbnet på denne server.
400multiref_ultra_only, multiref_too_many_images, unknown_wearerStilarter, outfits eller bevægelse uden for Multi-Ref i Ultra; mere end 30 billeder i Ultra; en worn_by, der ikke navngiver nogen karakter.
400invalid_motion, invalid_motion_mode, unreadable_motion, motion_missingmotion uden motion_id og uden video_b64; en anden mode end camera eller choreography; en ulæselig video, eller en uden for 4 til 30 s (input_video_out_of_limits); et motion_id, der aldrig er uploadet (intet PUT).
404 / 409unknown_motion, motion_already_usedEt motion_id, der er ukendt, allerede brugt eller ældre end 2 timer: upload videoen igen.
413 / 503motion_too_large, motion_not_open, motion_mode_unavailableEn bevægelsesvideo over 20 MB (20 MB, når den er nedskaleret til 480p); bevægelsen er ikke åbnet endnu (ultra.motion_per_second er null); en mode, der ikke er åbnet endnu.
409extension_link_expiredEt extend_job_id, som din licens ikke kender, eller et Ultra-skud ældre end 24 timer: upload dets original (POST /extensions) og send extend_upload_id.
400extension_real_faceVideoen, der skal forlænges i Ultra, er ikke renderet i Ultra-tilstand (for eksempel en rendering fra en anden tilstand) og viser et realistisk ansigt: intet trækkes. Forlæng den i Quality-tilstand, eller lav skuddet om i Ultra.
400extension_ultra_only, extension_ultra_options, invalid_extension_direction, extension_backward_sequence, extension_tail_quality_onlyUltra-forlængelse uden for grænserne: extend_upload_id eller backward uden quality: "max" (eller fra et klip, der ikke er Ultra); et startbillede, referencer, bevægelse eller forbedret konsistens samtidig; en anden retning end forward eller backward; backward i en sekvens; extend_video i Ultra.
400extension_too_large, unreadable_extension, extension_upload_missingEn uploadet video over 1080p; en ulæselig MP4, eller en uden for 4 til 30 s (input_video_out_of_limits); en fil, der aldrig er uploadet (intet PUT).
400input_video_out_of_limitsEn video, der sendes til Ultra-tilstanden (bevægelse, video, der skal forlænges), uden for grænserne, kontrolleret før renderingen, intet trukket: limit angiver hvilken (duration: 4 til 30 s; total_duration: 30 s med referencelydene; count: 10; size: 200 MB; format: MP4 eller MOV; fps: 24 til 60; pixels: bredde × højde fra 409.600 til 8.295.044; aspect_ratio: 0,4 til 2,5), med value, min og max.
404 / 409unknown_extension_upload, extension_upload_usedEt extend_upload_id, der er ukendt, ældre end 2 timer eller allerede brugt: upload filen igen.
413 / 503extension_too_heavy, extension_not_open, extension_backward_unavailableEn fil over 60 MB; Ultra-forlængelsen er ikke åbnet endnu (ultra.extend_per_second er null); bagud er ikke åbnet endnu.
413references_too_largeDe forberedte visninger overskrider renderens budget: færre karakterer, eller et mindre format.
400video_required, character_requiredEt Face swap uden video_b64, eller uden character_id.
413video_too_largeEn Face swap-video over 20 MB: klip eller komprimer den først, eller brug MCP-værktøjet tendre_face_swap, som håndterer op til 95 MB.
415unreadable_videoFace swap-videoen er ikke en læsbar MP4, MOV, WebM eller MKV.
400invalid_start, invalid_duration, passage_too_shortEt Face swap-afsnit uden for grænserne: start under 0 eller efter videoens slutning; duration uden for 0,5 til 20 s; et afsnit kortere end et halvt sekund.
400invalid_zone, invalid_likeness, invalid_scene, invalid_description, invalid_character_name, invalid_partEt Face swap-felt uden for grænserne: zone andet end tight, normal eller wide; part andet end full eller head; likeness uden for 0,5 til 2; scene over 400 tegn; description over 360; name over 60.
413face_swap_too_largeAfsnittet er stadig for tungt efter forberedelse: angiv en kortere duration.
429server_busyVores server forbereder allerede to Face swap-videoer: forsøg igen efter Retry-After (20 s). MCP-uploadlinket svarer med samme kode som en 503, når der venter for mange filer: forsøg igen om et par minutter.
503face_swap_unavailable, face_swap_price_missingFace swap er lukket, eller har ingen pris, i øjeblikket: forsøg igen senere.
503creation_unavailable, multiref_unavailable, storage_unavailableTjenesten er utilgængelig i øjeblikket: forsøg igen senere.
500internal_errorEn uventet hændelse på serverside: forsøg igen, og fortæl os det, hvis det sker igen.

Ultra pr. sekund (Ultra):

KodeerrorHvad det betyder, og hvad du skal gøre
400resolution_outside_ultraOver 1080p: 480p, 720p eller 1080p.
400engine_refusedMotoren afviser teksten eller et billede: årsagen står i detail og koden i code. Intet trækkes: omformuler.
502engine_unavailableMotoren svarer ikke: prøv igen om nogle minutter. Intet trækkes.
409render_in_progressAnnullering af en gengivelse, der allerede beregnes: den stopper ikke længere, den leveres og afregnes.
400invalid_references, references_too_large, multiref_ultra_options, multiref_ultra_explicitMulti-Ref i Ultra: et referencebillede er ulæseligt eller for tungt (højst 20 MB i alt), eller en indstilling understøttes ikke.
403multiref_ultra_unavailableMulti-Ref i Ultra pr. sekund er endnu ikke åbent for denne konto.

Fejlnavnene er de præcise strenge API'et returnerer. Match på dem frem for på beskeden, som kan blive omformuleret.

Et svar er ikke en fejl: en Multi-Ref-render eller et Face swap med en karakter der kun har én visning, gennemføres med en limited_likeness-advarsel i warnings ({ "code": "limited_likeness", "character_id": "...", "detail": "..." }). Ligheden er begrænset: opret karakterens syv visninger for en trofast gengivelse.

En Multi-Ref-render i Ultra med 9 til 12 karakterer gennemføres også, med en many_characters-advarsel: nogle kan mangle eller blive blandet sammen (8 anbefales).

God praksis

  • Poll hvert 3. sekund, ikke hurtigere. Køen er delt, og det hjælper ingen at hamre løs på den.
  • Download så snart status er completed. Filen arkiveres ikke.
  • Skriv prompts på engelsk, og til videoer beskriv bevægelsen frem for stilbilledet.
  • Én nøgle per anvendelse, og et dagligt kreditloft på hver nøgle der lever på en server. En lækket nøgle med et loft koster dig én dag, ikke hele saldoen.
  • Behandl en 429 som noget normalt, ikke som en fejl: vent på Retry-After og fortsæt.
  • En forbindelse, der afbrydes før svaret, koster intet. Hvis en indsendelse af et billede eller en video forbliver uden svar (en proxys tidsgrænse overskredet, fejl 524, programmet stoppet), startes renderingen ikke, eller den annulleres med det samme, og der opkræves intet: send blot anmodningen igen. For en serie billeder (count) annulleres de allerede oprettede renderinger også. Oprettelsen af en karakter fortsætter derimod: sender du den samme anmodning igen, får du den samme karakter tilbage, uden at noget opkræves to gange (se Characters).

Prompts logges på vores side, ligesom det sker for appen, af sikkerhedsmæssige årsager.

Windows · Mac · Cloud eller lokalt

Generer privat. I aften.

Download tendre.AI gratis og generér uden grænser, privat, på din egen GPU.

OS Windows 10/11GPU NVIDIA 8GB+VRAM 12GB anbefaletDisk 20GB

Mac: Apple Silicon (M1 eller nyere), macOS 13 eller nyere. Intel-Mac'er understøttes ikke.

Lokal billedgenerering på Mac kræver en M4 med 24 GB hukommelse, eller en M2 eller M3 Pro, Max eller Ultra med 24 GB. Under det kører alt online med credits. Retouchering og video kører online på Mac indtil videre.

Alt om tendre.AI til Mac

Intet NVIDIA GPU? Start 100% i skyen: 5 gratis billeder og 1 gratis video hver dag. Et NVIDIA-kort (8GB+) låser op for ubegrænset lokal generering.