Pereiti prie turinio
DikoAPI
API raktai

Importuoti YouTube vaizdo įrašą

Atverti Markdown

Įtraukia YouTube vaizdo įrašą į transkribavimo eilę ir prideda jį į jūsų biblioteką.

POST/library/imports
Reikalingas leidimas
library:write
Autentifikacija
Authorization: Bearer
Ribų politika
writeimportsaccount

Užklausa niekada nelaukia transkribavimo pabaigos. Tikrinkite GET /library/imports/{import_id} (arba prenumeruokite įvykius library.import.*), kol status taps succeeded, failed arba canceled.

* Jei vaizdo įrašas jau yra jūsų bibliotekoje arba Diko jį jau transkribavo, atsakymas yra 201 su reused: true, o kreditai nenaudojami. Tai vis tiek importas: jis įskaitomas į paros ribą. * Jei to paties vaizdo įrašo importas dar vyksta, atsakymas yra 200 su tuo importu. * Kitu atveju atsakymas yra 201 su antrašte Location. Kreditai tikrinami dabar ir dar kartą prieš mokamą darbą. Jei eilėje per daug importų arba pasiekta paros riba, atsakymas yra 429 queue_limit_exceeded (error.details.limit nurodo, kuri riba). * Vaizdo įrašas be subtitrų transkribuojamas kalbos atpažinimu bendroje Diko eilėje. Tie darbai naudoja tas pačias naudotojo transkribavimo vietas kaip jūsų įkėlimai programėlėje, bet niekada nepaima paskutinės laisvos vietos. Ji lieka jūsų įkėlimams ir įrašams. Darbas gali laukti laisvos vietos; tuo metu importas lieka queued arba processing. * Atšaukus, išjungus ar ištrynus API raktą, kuris sukūrė importą, rotavus jį be persidengimo arba atšaukus raktą dėl nutekėjimo, to rakto importai, kurie dar eilėje ar vykdomi, atšaukiami. Sustabdžius API prieigą, taip pat atšaukiami visos paskyros importai. Importas eilėje iškart tampa canceled, vykdomas tampa canceling ir sustojus darbui baigiasi kaip canceled (įvykis library.import.canceled). Rotacija su persidengimu importų nesustabdo. Jau atliktas darbas apmokestinamas kaip įprasta.

Siųskite antraštę Idempotency-Key, kad pakartojimas būtų saugus.

Parametrai

Parametrai
PavadinimasVietaTipasPrivalomasNumatytoji reikšmėApribojimaiAprašas
Idempotency-Keyheaderstringne–8–255 simbolių · pattern: ^[A-Za-z0-9_\-:.]{8,255}$Padaro pakartojimą saugų: tas pats raktas su ta pačia užklausa grąžina pirmąjį atsakymą (Idempotent-Replayed: true); kita užklausa su tuo pačiu raktu atmetama su 422 idempotency_key_reused. 8–255 simboliai iš A-Z a-z 0-9 _ - : . Saugomas 24 val.

Užklausos turinys

Importuotinas vaizdo įrašas.

Turinio tipas: application/json

  • urlstringprivalomas

    YouTube vaizdo įrašo nuoroda (youtube.com, www.youtube.com, m.youtube.com, music.youtube.com arba youtu.be).

    1–2048 simbolių

  • languagestring | null

    Užuomina subtitrų kalbai ir kalbos atpažinimui. Praleiskite, kad būtų naudojama jūsų numatytoji Diko kalba.

    Galimos reikšmės: lten

Atsakymas

201

Importas sukurtas (queued) arba transkripcija jau egzistavo (succeeded su reused: true).

  • Idempotent-Replayed true, kai atsakymas yra ankstesnės užklausos su tuo pačiu Idempotency-Key pakartojimas.
  • Location Sukurto importo URL.
  • RateLimit Labiausiai ribojanti taikyta politika: "pavadinimas";r=<liko užklausų>;t=<sekundės>. t – sekundės iki kitos leidžiamos užklausos (0, kai talpa pilna). Nesiunčiama, kai užklausai ribotuvas netaikytas.
  • RateLimit-Policy Užklausai taikytos ribų politikos, po vieną elementą "pavadinimas";q=<pradinė talpa>;w=<sekundės> kiekvienai, pavyzdžiui, "read";q=10;w=2, "account";q=20;w=2: q – pradinė talpa, w – sekundės, per kurias tuščia talpa vėl prisipildo. Siunčiama su kiekvienu autentifikuotu atsakymu; nesiunčiama, kai užklausai ribotuvas netaikytas, pavyzdžiui, kai ji atmesta dar nepatikrinus rakto.
  • Request-Id Šios užklausos ID (priešdėlis req_), toks pat kaip request_id klaidos atsakyme. Siunčiamas ir kaip X-Request-ID. Kreipdamiesi pagalbos nurodykite jį.
  • X-Client-Request-Id Jūsų siųsta užklausos antraštė X-Client-Request-Id, grąžinta atgal. Grąžinama tik tada, kai jūsų reikšmė turi 1–128 simbolius iš A-Z a-z 0-9 . _ : -.
  • X-RateLimit-Limit Labiausiai ribojančios politikos pradinė talpa (q antraštėje RateLimit-Policy). Nesiunčiama, kai užklausai ribotuvas netaikytas.
  • X-RateLimit-Remaining Labiausiai ribojančioje politikoje likusios užklausos (r antraštėje RateLimit). Nesiunčiama, kai užklausai ribotuvas netaikytas.
  • X-RateLimit-Reset Sekundės iki kitos leidžiamos užklausos labiausiai ribojančioje politikoje (t antraštėje RateLimit; 0, kai talpa pilna). Tai sekundžių skaičius, o ne laiko žyma. Nesiunčiama, kai užklausai ribotuvas netaikytas.

Turinio tipas: application/json

  • idstringprivalomas

    Viešas importo ID (priešdėlis imp_).

    26–26 simbolių · pattern: ^imp_[0-9A-Za-z]{22}$

  • objectstringprivalomas

    Visada library_import.

  • statusstringprivalomas

    Importo būsena.

    Galimos reikšmės: queuedprocessingcancelingsucceededfailedcanceled

  • stagestring | nullprivalomas

    Dabartinis etapas; tik kai processing.

    Galimos reikšmės: captionswaitingdownloadingtranscribingsummarizing

  • queue_positioninteger | nullprivalomas

    Vieta tarp jūsų eilėje esančių importų (1 = kitas); null, kai importas nėra queued.

    1–2147483647 · format: int32

  • urlstringprivalomas

    Kanoninis YouTube URL.

    format: uri

  • youtube_video_idstringprivalomas

    YouTube vaizdo įrašo ID.

  • languagestring | nullprivalomas

    Išsiųsta kalbos užuomina arba null.

    Galimos reikšmės: lten

  • reusedbooleanprivalomas

    true, kai vaizdo įrašas jau buvo jūsų bibliotekoje arba bendroje Diko talpykloje, todėl kreditai nenaudoti.

  • transcript_idstring | nullprivalomas

    Bibliotekos transkripcijos ID (priešdėlis trn_), kai importas succeeded; kitaip null.

    6–64 simbolių · pattern: ^trn_[A-Za-z0-9_-]+$

  • errorobject | nullprivalomas

    Klaidos duomenys, kai importas failed; kitaip null.

    2 laukai
    • codestringprivalomas

      Stabilus klaidos kodas. Nežinomi vidiniai kodai pateikiami kaip internal_error.

      Galimos reikšmės: video_unavailablevideo_privateage_restrictedvideo_too_longvideo_duration_unknowncaptions_unavailabledownload_failedtranscription_failedtranscription_timeoutprovider_limitinsufficient_creditsinternal_error

    • messagestringprivalomas

      Paaiškinimas Accept-Language kalba.

  • created_atstringprivalomas

    Kada importas sukurtas.

    ≤ 24 simbolių · format: date-time

  • updated_atstringprivalomas

    Kada importas paskutinį kartą pasikeitė.

    ≤ 24 simbolių · format: date-time

  • completed_atstring | nullprivalomas

    Kada importas pasiekė galutinę būseną; kitaip null.

    ≤ 24 simbolių · format: date-time

200

To paties vaizdo įrašo importas jau vyksta; grąžinamas esamas importas.

  • Content-Location Esamo importo, kurį aprašo šis atsakymas, URL.
  • Idempotent-Replayed true, kai atsakymas yra ankstesnės užklausos su tuo pačiu Idempotency-Key pakartojimas.
  • RateLimit Labiausiai ribojanti taikyta politika: "pavadinimas";r=<liko užklausų>;t=<sekundės>. t – sekundės iki kitos leidžiamos užklausos (0, kai talpa pilna). Nesiunčiama, kai užklausai ribotuvas netaikytas.
  • RateLimit-Policy Užklausai taikytos ribų politikos, po vieną elementą "pavadinimas";q=<pradinė talpa>;w=<sekundės> kiekvienai, pavyzdžiui, "read";q=10;w=2, "account";q=20;w=2: q – pradinė talpa, w – sekundės, per kurias tuščia talpa vėl prisipildo. Siunčiama su kiekvienu autentifikuotu atsakymu; nesiunčiama, kai užklausai ribotuvas netaikytas, pavyzdžiui, kai ji atmesta dar nepatikrinus rakto.
  • Request-Id Šios užklausos ID (priešdėlis req_), toks pat kaip request_id klaidos atsakyme. Siunčiamas ir kaip X-Request-ID. Kreipdamiesi pagalbos nurodykite jį.
  • X-Client-Request-Id Jūsų siųsta užklausos antraštė X-Client-Request-Id, grąžinta atgal. Grąžinama tik tada, kai jūsų reikšmė turi 1–128 simbolius iš A-Z a-z 0-9 . _ : -.
  • X-RateLimit-Limit Labiausiai ribojančios politikos pradinė talpa (q antraštėje RateLimit-Policy). Nesiunčiama, kai užklausai ribotuvas netaikytas.
  • X-RateLimit-Remaining Labiausiai ribojančioje politikoje likusios užklausos (r antraštėje RateLimit). Nesiunčiama, kai užklausai ribotuvas netaikytas.
  • X-RateLimit-Reset Sekundės iki kitos leidžiamos užklausos labiausiai ribojančioje politikoje (t antraštėje RateLimit; 0, kai talpa pilna). Tai sekundžių skaičius, o ne laiko žyma. Nesiunčiama, kai užklausai ribotuvas netaikytas.

Turinio tipas: application/json

  • idstringprivalomas

    Viešas importo ID (priešdėlis imp_).

    26–26 simbolių · pattern: ^imp_[0-9A-Za-z]{22}$

  • objectstringprivalomas

    Visada library_import.

  • statusstringprivalomas

    Importo būsena.

    Galimos reikšmės: queuedprocessingcancelingsucceededfailedcanceled

  • stagestring | nullprivalomas

    Dabartinis etapas; tik kai processing.

    Galimos reikšmės: captionswaitingdownloadingtranscribingsummarizing

  • queue_positioninteger | nullprivalomas

    Vieta tarp jūsų eilėje esančių importų (1 = kitas); null, kai importas nėra queued.

    1–2147483647 · format: int32

  • urlstringprivalomas

    Kanoninis YouTube URL.

    format: uri

  • youtube_video_idstringprivalomas

    YouTube vaizdo įrašo ID.

  • languagestring | nullprivalomas

    Išsiųsta kalbos užuomina arba null.

    Galimos reikšmės: lten

  • reusedbooleanprivalomas

    true, kai vaizdo įrašas jau buvo jūsų bibliotekoje arba bendroje Diko talpykloje, todėl kreditai nenaudoti.

  • transcript_idstring | nullprivalomas

    Bibliotekos transkripcijos ID (priešdėlis trn_), kai importas succeeded; kitaip null.

    6–64 simbolių · pattern: ^trn_[A-Za-z0-9_-]+$

  • errorobject | nullprivalomas

    Klaidos duomenys, kai importas failed; kitaip null.

    2 laukai
    • codestringprivalomas

      Stabilus klaidos kodas. Nežinomi vidiniai kodai pateikiami kaip internal_error.

      Galimos reikšmės: video_unavailablevideo_privateage_restrictedvideo_too_longvideo_duration_unknowncaptions_unavailabledownload_failedtranscription_failedtranscription_timeoutprovider_limitinsufficient_creditsinternal_error

    • messagestringprivalomas

      Paaiškinimas Accept-Language kalba.

  • created_atstringprivalomas

    Kada importas sukurtas.

    ≤ 24 simbolių · format: date-time

  • updated_atstringprivalomas

    Kada importas paskutinį kartą pasikeitė.

    ≤ 24 simbolių · format: date-time

  • completed_atstring | nullprivalomas

    Kada importas pasiekė galutinę būseną; kitaip null.

    ≤ 24 simbolių · format: date-time

Pavyzdžiai

Užklausa

cURL
curl -X POST "https://api.diko.app/api/v1/library/imports" \
  -H "Authorization: Bearer $DIKO_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{"url":"https://www.youtube.com/watch?v=dQw4w9WgXcQ","language":"lt"}'

Atsakymo pavyzdys · 201 · application/json

JSON
{
  "id": "imp_6Mfj7Oxm4MfxGGmZRhiUQf",
  "object": "library_import",
  "status": "queued",
  "stage": null,
  "queue_position": 1,
  "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
  "youtube_video_id": "dQw4w9WgXcQ",
  "language": "lt",
  "reused": false,
  "transcript_id": null,
  "error": null,
  "created_at": "2026-10-11T09:30:00.000Z",
  "updated_at": "2026-10-11T09:30:00.100Z",
  "completed_at": null
}

Atsakymo pavyzdys · 200 · application/json

JSON
{
  "id": "imp_6Mfj7Oxm4MfxGGmZRhiUQf",
  "object": "library_import",
  "status": "queued",
  "stage": null,
  "queue_position": 1,
  "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
  "youtube_video_id": "dQw4w9WgXcQ",
  "language": "lt",
  "reused": false,
  "transcript_id": null,
  "error": null,
  "created_at": "2026-10-11T09:30:00.000Z",
  "updated_at": "2026-10-11T09:30:00.100Z",
  "completed_at": null
}

Klaidos

Šis endpointas gali grąžinti šias klaidas. Visų kodų aprašai yra klaidų kataloge.

HTTPKodasReikšmėKartoti?
400invalid_requestUžklausa neatitinka formato: užklausos turinys nėra tinkamas JSON, jo nėra, jis nėra JSON objektas arba `Content-Length` nėra skaičius. Trūkstamas privalomas laukas ar nežinomas laukas yra `invalid_parameter`.ne
400invalid_parameterKelio, užklausos ar turinio parametro reikšmė netinkama, privalomo lauko trūksta arba laukas nežinomas (nežinomi laukai atmetami). Lauke `error.param` nurodytas parametras.ne
400invalid_youtube_urlURL nėra palaikomas vieno YouTube vaizdo įrašo adresas.ne
400idempotency_key_invalid`Idempotency-Key` netinkamas: reikia 8–255 simbolių iš aibės `A-Z a-z 0-9 _ - : .`.ne
401missing_api_keyUžklausoje nėra antraštės `Authorization`.ne
401invalid_api_keyAntraštė netinkama (ne `Bearer` schema, tuščias raktas arba kelios antraštės `Authorization`) arba raktas nežinomas ar blogo formato (neatitinka struktūros ar kontrolinės sumos). Atsakymas visais šiais atvejais vienodas.ne
401api_key_expiredRakto galiojimas pasibaigė.ne
401api_key_revokedRaktas atšauktas: rankiniu būdu, pasibaigus rotacijos persidengimui, dėl nutekėjimo arba išjungus paskyrą.ne
401api_key_disabledRaktas laikinai išjungtas.ne
402subscription_requiredPaskyra neturi aktyvios apmokėtos prieigos.ne
402insufficient_creditsImportui nepakanka kreditų.ne
402team_member_limit_reachedPasiekta jūsų kreditų riba komandoje.ne
403ip_not_allowedRaktas turi IP apribojimą, o užklausos IP nėra sąraše arba jo nepavyksta nustatyti patikimai.ne
403account_disabledPaskyra išjungta.ne
403email_not_verifiedPaskyros el. paštas nepatvirtintas.ne
403api_access_suspendedDiko administratorius sustabdė šios paskyros API prieigą.ne
403plan_requiredPlanas neapima API. `error.details.required_plans` yra `verslas`.ne
403insufficient_scopeRaktas neturi endpointui reikalingo leidimo. `error.details` turi `required_scopes` ir `granted_scopes`.ne
403team_member_disabledJūsų narystė komandoje išjungta.ne
408request_timeoutUžklausos turinys nebuvo gautas per ribotą laiką (numatyta 10 s). Taip nutinka, kai klientas siunčia turinį per lėtai arba sustoja per siuntimą. Nieko nesukurta.taip
409idempotency_in_progressTa pati užklausa su tuo pačiu `Idempotency-Key` dar vykdoma.taip, po Retry-After
413request_too_largeUžklausos turinys didesnis nei 64 KB.ne
415unsupported_media_typePOST užklausos turinys turi būti `application/json`.ne
422idempotency_key_reusedTas pats `Idempotency-Key` panaudotas su kitu metodu, keliu ar turiniu.ne
429queue_limit_exceededPasiekta importų talpa: iki 10 aktyvių vienam naudotojui, 200 iš viso arba 500 per parą.taip, po Retry-After
429rate_limit_exceededViršyta ribų politika. `error.details.policy` nurodo, kuri.taip, po Retry-After
500internal_errorVidinė serverio klaida.sąlygiškai
503credit_balance_unavailableKreditų likučio dabar nepavyko nustatyti, todėl importas nepradėtas.taip, po Retry-After
503writes_disabledRašymo operacijos laikinai išjungtos platformos pusėje. Skaitymas veikia.taip, po Retry-After
503service_unavailablePaslauga laikinai užimta, pavyzdžiui, dėl duomenų bazės apkrovos.taip, po Retry-After

Ieškokite temos, endpointo ar klaidos kodo.

Paieška visuose dokumentacijos puslapiuoseesc uždaryti