Léim go dtí an t-ábhar

API documentation

With the Do4U API you use the same tools as on the website from your own software: summarise, compare, support replies, alt texts, rewrite and translate. Every request is processed on our own servers in Poland, EU.

Base URL: https://do4u.eu/api/v1

OpenAPI 3.1 description (JSON) – Machine-readable description of this API for code generators and tools such as Postman or Insomnia. No key needed.

Authentication

Create a key under API keys in your account. Send it with every request in the header Authorization: Bearer <key> (or X-API-Key: <key>). Keep the key secret and never put it into a web page. You can revoke a key at any time.

How it works

Jobs run asynchronously. You create a job and get its id at once (HTTP 202). Then you fetch the job until its status is done or failed. Ask every 2 to 5 seconds; most jobs take a few seconds.

Endpoints

GET /tools Tools, options and your input limits
GET /balance Your credit balance
POST /jobs Create a job (JSON, or multipart/form-data with an image file)
GET /jobs/{id} Status and result of a job
DELETE /key Revoke the key you send with this request, for example when an integration is disconnected. Jobs already created still finish.
POST /key/revoke The same as DELETE /key, for clients that can only send GET and POST.

Example

Create a job, then fetch the result:

curl -X POST https://do4u.eu/api/v1/jobs \
  -H "Authorization: Bearer d4u_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"tool": "summarize", "text": "...", "options": {"length": "short"}, "language": "en"}'
HTTP/1.1 202 Accepted
{"id": "8f1c0b6a...", "tool": "summarize", "status": "queued", "model": "do4u-standard",
 "credits_estimate": 1, "links": {"self": "https://do4u.eu/api/v1/jobs/8f1c0b6a..."}}
curl https://do4u.eu/api/v1/jobs/8f1c0b6a... -H "Authorization: Bearer d4u_YOUR_KEY"

{"id": "8f1c0b6a...", "tool": "summarize", "status": "done", "model": "do4u-standard", "credits_estimate": 1,
 "result": {"summary": "...", "key_points": ["...", "..."]}, "credits": 1,
 "notice": "AI-generated, please check before use."}
curl -X POST https://do4u.eu/api/v1/jobs -H "Authorization: Bearer d4u_YOUR_KEY" \
  -F tool=alt_text -F language=de -F "text=Product page: hiking boots" -F image=@photo.jpg

Request fields for POST /jobs

toolName of the tool, see the table below. Required.
textInput text. For compare: text A. For alt_text: optional page context.
text_bText B (compare only).
urlPublic web page to read instead of text (summarize, accessibility_check).
htmlHTML of a page to check (accessibility_check), up to 300,000 characters.
focus_keywordOptional focus keyword for seo_meta. Without target, seo_meta writes in language.
faqOptional FAQ snippets (support_reply only).
questionsOptional for seo_meta, content_brief and faq_schema: frequent visitor questions as a list of texts or {"text": ..., "count": n} (up to 50, at most 20 are used). faq_schema answers them first if the source answers them; visitor_questions in the result says what happened to each.
imageImage for alt_text: file field in multipart/form-data, or base64 / data URI in JSON. JPG, PNG, WebP or GIF, up to 5 MB.
image_urlOptional for alt_text instead of image: public address of the image (http or https; JPEG, PNG, WebP or GIF; at most 5 MB). Do4U loads it once in the background. If that fails, the job fails with error image_unavailable and costs nothing.
optionsObject with options of the tool, for example {"length": "short"}.
languageLanguage of the result and notes: en, de or pl. Default en. For translate, the target language is the option target.
no_storetrue: the input is deleted right after processing and the result after the first retrieval.
brand_voiceOptional: false switches your brand voice off for this job (default: the brand voice applies if you have set one).
ai_labelOptional: true shows the visible note "Marked as AI-generated" with the result in the web interface, false hides it. Default: the setting in your account. The machine-readable AI label is always in the result and cannot be switched off: the fields ai_generated and generator, an HTML comment in HTML results, ai_notice for image descriptions. ai_generated is false if the result comes from automatic checks only.
callback_urlOptional: public https address that gets a signed POST when the job is finished (see Webhooks).
render_jsOptional: true loads the page with JavaScript first (pages that build their content in the browser; tools that read a url). Costs the render surcharge only if the page was really loaded this way; the result field render says what happened.
no_cacheOptional: true always starts a new AI job. Without it, a finished and still stored result of your account (or workspace) with the same tool, options and input is reused: the job is done at once, from_history is true and it costs 0 % of the credits of the original. Never with no_store, never for a url.
allow_same_languageOptional for translate, translate_html and translate_file: true translates even if the text already is in the target language. Without it such a job is rejected with same_language (400) – only when the check is sure.

Repeat requests safely (Idempotency-Key)

Send the header Idempotency-Key with POST /jobs, for example a random UUID for each job (1 to 255 printable ASCII characters). If the connection breaks and you send the same request again with the same Idempotency-Key and the same API key within 24 hours, you get the same answer again: the same job, no second job and no second charge. The answer then has the header Idempotent-Replayed: true. Use a new key for every new job. If you send the same key with a different request, you get 422 idempotency_conflict. Errors are not stored: after an error you can send the request again with the same key.

curl -X POST https://do4u.eu/api/v1/jobs \
  -H "Authorization: Bearer d4u_YOUR_KEY" \
  -H "Idempotency-Key: 5f0c2a8e-7d1b-4c3a-9e2f-1b6d8a4c0e77" \
  -H "Content-Type: application/json" \
  -d '{"tool": "summarize", "text": "..."}'

Tools and options

ToolInputs Options (first value is the default)Result fieldsPrice
moderate_commentSeiceáil tráchtanna le haghaidh turscair text – classification, reason, suggestion, action, note de ghnáth 1–3 creidmheas
document_htmlDéan HTML de dhoiciméid image, pdf, text page: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 html, plain_text, notes, page, note de ghnáth 2–3 creidmheas
image_textAimsigh téacs atá bácáilte in íomhá url image_index: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 html, plain_text, notes, images, image_index, coverage, note de ghnáth 2–3 creidmheas
pdf_accessibilitySeiceáil inrochtaineacht PDF pdf – checks, pages, truncated, repaired, note, convert_url de ghnáth 1–2 creidmheas
summarizeAchoimrigh text, url length: medium | short | long summary, key_points de ghnáth 1–3 creidmheas
compareCuir i gcomparáid text, text_b focus: overall | facts | tone | seo summary, similarities, differences de ghnáth 1–3 creidmheas
support_replyFreagra tacaíochta text, faq tone: friendly | neutral | formal reply, concerns, questions de ghnáth 1–3 creidmheas
alt_textTéacsanna malartacha image, text, filename, image_url – alt, caption, description, filename, filename_base, extension, language, alt_length, alt_max, alt_status, caption_length, caption_max, caption_status de ghnáth 2–3 creidmheas
rewriteAthscríobh text style: simpler | shorter | more_formal | more_casual | more_persuasive | easy_to_read text, changes, language, style_label, readability, easy_check, easy_note, review_status, review_limit, diff de ghnáth 1–4 creidmheas
accessibility_checkSeiceáil inrochtaineachta url, html – summary, page, counts, findings, checks, readability, note fixed 3 credits per task
seo_metaTeideal & cur síos SEO url, text, focus_keyword, questions target: en | de | pl | fr | es | it | nl | cs | sk | uk | bg | da | el | fi | hr | hu | lt | pt | ro | sl | sv variants, current, focus_keyword, limits, keywords, note fixed 1 credit per task
translate_htmlAistrigh HTML html target: en | de | pl | fr | es | it | nl | cs | sk | uk | bg | da | el | fi | hr | hu | lt | pt | ro | sl | sv html, segments, check, glossary, notes, note, review_status, alignment de ghnáth 1–4 creidmheas
product_descriptionCur síos ar tháirgí text tone: neutral | friendly | persuasive | formallength: medium | short | longchannel: shop | marketplacetarget: auto | en | de | pl | fr | es | it | nl | cs | sk | uk | bg | da | el | fi | hr | hu | lt | pt | ro | sl | svmeta_description: no | yes products, language, detected_language, channel, format, limits, counts, check, note de ghnáth 1–3 creidmheas
headlinesCeannlínte agus línte ábhair text kind: page | newsletter | adtone: neutral | friendly | persuasive | formalcount: 5 | 3 | 8target: auto | en | de | pl | fr | es | it | nl | cs | sk | uk | bg | da | el | fi | hr | hu | lt | pt | ro | sl | sv kind, fields, variants, limits, counts, enough, report, language, detected_language, note fixed 1 credit per task
faq_schemaCC agus marcáil scéimre url, text, questions type: faq | organization | localbusiness | productcount: 8 | 5 | 10target: auto | en | de | pl | fr | es | it | nl | cs | sk | uk | bg | da | el | fi | hr | hu | lt | pt | ro | sl | sv type, kind, jsonld, html, valid, faq, fields, checks, counts, unverified, dropped, existing, existing_errors, existing_same, page, language, detected_language, notes, note, visitor_questions fixed 2 credits per task
content_briefAchoimre ábhair text, audience, questions target: auto | en | de | pl | fr | es | it | nl | cs | sk | uk | bg | da | el | fi | hr | hu | lt | pt | ro | sl | sv title, title_length, title_max, title_status, goal, intent, outline, questions, length, markdown, counts, dropped, limits, language, detected_language, notes, note de ghnáth 1–2 creidmheas
review_replyFreagraí ar léirmheasanna text, company stars: 0 | 1 | 2 | 3 | 4 | 5platform: general | google | trustpilot | booking | tripadvisor | airbnb | yelp | app_store | google_playtone: friendly | neutral | formalcount: 3 | 2target: auto | en | de | pl | fr | es | it | nl | cs | sk | uk | bg | da | el | fi | hr | hu | lt | pt | ro | sl | sv assessment, variants, limits, platform, stars, tone, counts, dropped, enough, report, hints, checks, language, detected_language, note de ghnáth 1–2 creidmheas
social_postsPostálacha sóisialta ó alt url, text channels: all | linkedin | facebook | instagram | linkedin+facebook | linkedin+instagram | facebook+instagramtone: friendly | neutral | persuasive | formal | casualvariants: 1 | 2 | 3target: auto | en | de | pl | fr | es | it | nl | cs | sk | uk | bg | da | el | fi | hr | hu | lt | pt | ro | sl | sv channels, posts, limits, counts, enough, report, link, link_in_bio, language, detected_language, source, notes, note de ghnáth 1–3 creidmheas
explain_termsMínigh téarmaí url, text level: simple | general | expertexamples: no | yestarget: auto | en | de | pl | fr | es | it | nl | cs | sk | uk | bg | da | el | fi | hr | hu | lt | pt | ro | sl | sv terms, level, language, detected_language, source, text_length, text_clipped, counts, dropped, adjusted, limits, other_candidates, checks, markdown, html, notes, note de ghnáth 1–3 creidmheas
extract_dataBain sonraí amach url, text types: all | hours | prices | hours+prices | addresses | hours+addresses | prices+addresses | hours+prices+addresses | events | hours+events | prices+events | hours+prices+events | addresses+events | hours+addresses+events | prices+addresses+events | hours+prices+addresses+events | contact | hours+contact | prices+contact | hours+prices+contact | addresses+contact | hours+addresses+contact | prices+addresses+contact | hours+prices+addresses+contact | events+contact | hours+events+contact | prices+events+contact | hours+prices+events+contact | addresses+events+contact | hours+addresses+events+contact | prices+addresses+events+contacttarget: auto | en | de | pl | fr | es | it | nl | cs | sk | uk | bg | da | el | fi | hr | hu | lt | pt | ro | sl | sv kinds, hours, prices, addresses, events, contact, counts, empty, unverified, dropped, limits, source, language, detected_language, notes, note de ghnáth 1–3 creidmheas
redirect_planPlean atreoraithe old_urls, new_urls, old_domain, new_domain ai: yes | no old_base, new_base, mappings, counts, unused_new, invalid, dropped, ai, legend, language, domain_ignored, notes, note de ghnáth 1–3 creidmheas
contrast_checkSeiceáil codarsnachta dathanna colors level: aa | aaatext_size: normal | large colors, pairs, counts, invalid, settings, palette_check, legend, language, note de ghnáth 1–2 creidmheas
language_levelLeibhéal teanga (A1–C1) text level: B1 | A1 | A2 | B2 | C1target: auto | en | de | pl | fr | es | it | nl | cs | sk | uk | bg | da | el | fi | hr | hu | lt | pt | ro | sl | svkeep_terms: no | yes text, changes, level, language, detected_language, translated, summary, within_guideline, measures, over_guideline, over_count, readability, content, kept_terms, checks, hints, note de ghnáth 1–4 creidmheas
llms_txtGineadóir llms.txt url target: auto | en | de | pl | fr | es | it | nl | cs | sk | uk | bg | da | el | fi | hr | hu | lt | pt | ro | sl | sv name, summary, details, file, filename, sections, counts, pages_read, read, existing, dropped, hints, language, detected_language, notes, note de ghnáth 1–3 creidmheas
internal_linksNaisc inmheánacha text, pages, sitemap_url, page_url – links, text, text_is_html, counts, pages, dropped, ai, limits, language, detected_language, timeout, notes, note de ghnáth 1–3 creidmheas
outdated_contentÁbhar as dáta url, text, html, reference_date target: auto | en | de | pl | fr | es | it | nl | cs | sk | uk | bg | da | el | fi | hr | hu | lt | pt | ro | sl | sv reference_date, reference_date_given, findings, summary, counts, source, dropped, ai, limits, language, detected_language, timeout, notes, note de ghnáth 1–3 creidmheas
inclusive_languageTeanga chuimsitheach agus shimplí text scope: both | exclusion | complexitygender: not_prescribed | neutral | pair | star | colon | brand_voice language, scope, gender, summary, counts, findings, candidates, measures, applied, changed, revised_text, diff, dropped, checks, hints, note de ghnáth 1–3 creidmheas
review_analysisAnailís léirmheasanna text focus: all | criticismtarget: auto | en | de | pl | fr | es | it | nl | cs | sk | uk | bg | da | el | fi | hr | hu | lt | pt | ro | sl | sv format, columns, language, detected_language, focus, counts, selection, stars, period, languages, languages_unknown, personal_data, themes, praise, criticism, page, faq, cited, dropped, limits, hints, notes, note de ghnáth 1–3 creidmheas
ai_visibility_checkSeiceáil infheictheachta AI url, text, html, topic, questions target: auto | en | de | pl | fr | es | it | nl | cs | sk | uk | bg | da | el | fi | hr | hu | lt | pt | ro | sl | sv coverage, coverage_level, counts, questions, faq_questions, sections, qa_on_page, structured_data, llms_txt, robots_txt, readability, hints, source, topic, dropped, ai, limits, files, language, detected_language, note, how de ghnáth 1–3 creidmheas
events_calendarImeachtaí go féilire url, text, time_zone, year target: auto | en | de | pl | fr | es | it | nl | cs | sk | uk | bg | da | el | fi | hr | hu | lt | pt | ro | sl | sv events, counts, unverified, dropped, timezone, year, today, limits, ics, jsonld, filename, source, language, detected_language, notes, note de ghnáth 1–3 creidmheas
product_photoGrianghraf táirge go téacs image, image_url, text, languages target: auto | en | de | pl | fr | es | it | nl | cs | sk | uk | bg | da | el | fi | hr | hu | lt | pt | ro | sl | svcategory_list: google | free language, detected_language, title, title_length, title_max, title_status, short_description, short_length, short_max, short_status, description, description_length, description_max, description_status, bullets, bullets_count, bullets_max_length, bullets_status, alt_text, alt_length, alt_max, alt_status, category_group, attributes, attribute_sources, attribute_list, translations, removed, hints, claims_checked, claims_unchecked, counts, limits, notes, category_list, jsonld, jsonld_check, product_json, check, note de ghnáth 2–3 creidmheas
chart_descriptionDéan cur síos ar chairteacha agus ar fhaisnéisghrafaicí image, image_url, text target: auto | en | de | pl | fr | es | it | nl | cs | sk | uk | bg | da | el | fi | hr | hu | lt | pt | ro | sl | svlength: normal | short chart_type, title, language, detected_language, alt, alt_length, alt_max, alt_status, description, description_length, description_max, description_status, description_size, axes, data, data_rows, table, data_csv, html, image_text, pie_check, hints, counts, limits, notes, verify_numbers, check, note de ghnáth 2–3 creidmheas
design_feedbackAiseolas dearaidh ó ghabháil scáileáin image, image_url, text target: auto | en | de | pl | fr | es | it | nl | cs | sk | uk | bg | da | el | fi | hr | hu | lt | pt | ro | sl | svdevice: auto | phone | desktop language, detected_language, device, summary, findings, image, image_basis, counts, removed, hints, limits, notes, estimate, check, note, text, markdown de ghnáth 2–3 creidmheas
job_ad_checkSeiceáil fógra poist url, text, html jurisdiction: auto | eu | de | pltarget: auto | en | de | pl | fr | es | it | nl | cs | sk | uk | bg | da | el | fi | hr | hu | lt | pt | ro | sl | sv language, detected_language, jurisdiction, title, checklist, counts, pay, structure, length, findings, titles, summary, source, text_cut, dropped, ai, hints, note de ghnáth 1–3 creidmheas
green_claims_checkSeiceáil éileamh comhshaoil url, text, html target: auto | en | de | pl | fr | es | it | nl | cs | sk | uk | bg | da | el | fi | hr | hu | lt | pt | ro | sl | sv findings, summary, counts, source, dropped, ai, limits, legal, language, detected_language, timeout, notes, note de ghnáth 1–3 creidmheas
third_party_scanSeiceáil seirbhísí tríú páirtí url, html – url, host, page_from, static_only, counts, consent, groups, cookies, legend, notes, check, note, truncated, checked_at de ghnáth 1–2 creidmheas
broken_link_checkSeiceáil nasc briste url resources: yes | noexternal: no | yes language, url, host, counts, broken, more_broken, redirects, more_redirects, soft, start_soft, suggestions, not_reached, limits, note, truncated de ghnáth 1–2 creidmheas
duplicate_content_checkSeiceáil ábhair dhúblaigh url, text – language, mode, url, host, summary, counts, findings, passed, hints, thresholds, pages, limits, note, truncated de ghnáth 1–2 creidmheas
hreflang_checkSeiceáil hreflang url – language, url, counts, findings, pages, matrix, annotations, legend, limits, note de ghnáth 1–2 creidmheas
ai_robots_txtCrálaithe AI in robots.txt site_url, robots_txt, groups, crawlers – file, file_complete, ai_section, crawlers, counts, source, existing, changes, checks, notes, legend, sources, verified_on, language, note de ghnáth 1–2 creidmheas
faq_from_supportCC ó theachtaireachtaí tacaíochta text, faq_url target: auto | en | de | pl | fr | es | it | nl | cs | sk | uk | bg | da | el | fi | hr | hu | lt | pt | ro | sl | sv format, input_kind, columns, language, detected_language, languages, counts, selection, faq_page, personal_data, topics, gaps, cited, dropped, limits, placeholder, hints, notes, note, export de ghnáth 1–3 creidmheas
price_display_checkSeiceáil taispeáint praghsanna url, text, html ai: yes | nojurisdiction: auto | de | pl jurisdiction, jurisdiction_auto, jurisdiction_label, source, price, previous_prices, prior_30_days, unit_prices, quantities, discounts, hints, structured, findings, counts, checks, ai, dropped, legal_sources, language, notes, note de ghnáth 1–3 creidmheas
form_text_checkTéacsanna foirme url, html, error_messages target: auto | en | de | pl | fr | es | it | nl | cs | sk | uk | bg | da | el | fi | hr | hu | lt | pt | ro | sl | svtone: neutral | friendly | formal language, detected_language, tone, required_word, forms, errors, counts, criteria, summary, source, dropped, ai, hints, note de ghnáth 1–3 creidmheas
newsletter_checkSeiceáil nuachtlitreach html, eml, text, subject, preheader target: auto | en | de | pl | fr | es | it | nl | cs | sk | uk | bg | da | el | fi | hr | hu | lt | pt | ro | sl | sv language, detected_language, input, subject, preheader, checklist, counts, links, links_total, images, eml, pairs, improvements, text_cut, dropped, ai, hints, note de ghnáth 1–3 creidmheas
privacy_policy_matchSeiceáil beartais príobháideachta website_url, pages, policy_url, policy_text – website, pages, policy, not_in_policy, not_found, matched, categories, counts, dropped, ai, limits, legal, notes, check, note, checked_at de ghnáth 1–3 creidmheas
social_card_checkSeiceáil cárta sóisialta url – language, url, counts, preview, findings, tags, images, snippet, guidance, limits, note de ghnáth 1–2 creidmheas
image_performance_checkSeiceáil íomhánna url – language, url, counts, total, formats, lcp, page_findings, summary, images, more_images, legend, limits, note, truncated de ghnáth 1–2 creidmheas
ai_transparency_checkSeiceáil trédhearcachta AI url, text, html chatbot: auto | yes | nomedia: unknown | no | realistic | artistic | illustrativearticles: unknown | no | unreviewed | reviewedtarget: auto | en | de | pl | fr | es | it | nl | cs | sk | uk | bg | da | el | fi | hr | hu | lt | pt | ro | sl | sv language, detected_language, source, answers, checklist, detected, notices, summary, counts, dropped, ai, legal, hints, note de ghnáth 1–3 creidmheas
structured_data_checkSeiceáil sonraí struchtúrtha url, html – language, url, input, counts, formats, findings, items, rules, visible, limits, truncated, note de ghnáth 1–2 creidmheas
legal_notice_checkSeiceáil fógra dlí url, text, html ai: yes | nojurisdiction: auto | de | pl jurisdiction, jurisdiction_auto, jurisdiction_basis, jurisdiction_label, source, entity, items, extra, counts, ai, dropped, legal_sources, language, notes, note, truncated de ghnáth 1–3 creidmheas
glossary_builderTóg gluais url, text, html, languages source: auto | en | de | pl | fr | es | it | nl | cs | sk | uk | bg | da | el | fi | hr | hu | lt | pt | ro | sl | svmax_pages: 1 | 2 | 3 | 5 | 10 language, language_name, language_source, targets, target_names, items, existing, counts, pages, reading, source, text_cut, dropped, glossary, hints, note, export de ghnáth 1–3 creidmheas
local_business_checkSeiceáil sonraí gnó url, text ai: no | yes language, url, host, mode, country, table, findings, counts, structured, suggestion, handover, pages, failed, not_reached, limits, ai, dropped, notes, note de ghnáth 1–2 creidmheas
consent_preload_checkAn lódáiltear rud roimh thoiliú? url – url, final_url, host, loaded, counts, timing, consent, groups, cookies, storage, notes, check, law, note, truncated, checked_at de ghnáth 1–2 creidmheas
ai_literacy_policyBeartas litearthachta AI (Acht AI an AE, Airt. 4) text, uses, roles, data, company_name company_size: 1-9 | 10-49 | 50-249 | 250+sector: general | retail | services | crafts | health | finance | education | public_sector | media | it | manufacturing | tourism | socialreview_months: 12 | 6 | 24language: auto | en | de | pl | fr | es | it | nl | cs | sk | uk | bg | da | el | fi | hr | hu | lt | pt | ro | sl | sv language, title, sections, training, record_columns, markdown, text, profile, counts, dropped, legal, hints, note de ghnáth 1–2 creidmheas
withdrawal_button_checkSeiceáil cnaipe tarraingt siar url, text, html ai: yes | nojurisdiction: auto | de | pl | eusubscriptions: auto | yes | no jurisdiction, jurisdiction_auto, jurisdiction_basis, jurisdiction_label, law, source, subscription, items, candidates, counts, ai, dropped, legal_sources, language, notes, note, truncated de ghnáth 1–3 creidmheas
product_safety_checkSeiceáil leathanaigh táirge (GPSR) url, text, html market_language: auto | bg | cs | da | de | el | en | es | fi | fr | hr | hu | it | lt | nl | pl | pt | ro | sk | sl | sv language, market_language, market_language_label, market_basis, page_language, source, product, manufacturer_seat, items, counts, dropped, ai, hints, notes, legal, legal_sources, note de ghnáth 1–3 creidmheas
website_checkSeiceáil suímh url scope: short | full score, categories, findings, counts, snippet, llms_txt, summary, actions, note fixed 5 credits per task
translateAistrigh text target: en | de | pl | fr | es | it | nl | cs | sk | uk | bg | da | el | fi | hr | hu | lt | pt | ro | sl | sv translation, notes, review_status, alignment de ghnáth 1–4 creidmheas
proofreadProfléamh text text_language: auto | en | de | pl | fr | es | it | pt | nl | cs | sk | uk | ru | bg | ro | hu | sv | da | fi | tr | el | ar | fa | he | hi | zh | ja | ko | th text, html, language, identical, summary, counts, changed_share, changes, notes, beta, note de ghnáth 1–4 creidmheas
translate_fileComhaid teanga text target: en | de | pl | fr | es | it | nl | cs | sk | uk | bg | da | el | fi | hr | hu | lt | pt | ro | sl | svscope: auto | all | missingline_endings: lf | crlf | lf_no_final_newline | crlf_no_final_newline format, target, filename, mime, file, entries, counts, flagged, preview, check, notes, note de ghnáth 5–8 creidmheas

Job status

queued and running: still working (position and wait_seconds help you to wait). done: result contains the fields of the tool. failed: nothing was charged (credits is 0); error.code names the reason: address_blocked (Do4U does not open this address, for example a private or internal one; send the text or HTML instead), input_too_large (shorten the input), image_unavailable or job_failed. expired: the result is no longer stored.

Webhooks

Cuir "callback_url" le POST /api/v1/jobs, agus seolann Do4U POST sínithe (imeacht job.finished le stádas, creidmheasanna agus nasc an toraidh - ní an toradh féin) a luaithe a bhíonn an jab déanta. Seoltaí poiblí ar chalafort 80 nó 443 amháin; déanaimid iarracht arís suas le 6 huaire le sosanna atá ag éirí níos faide.

Sampla: cruthaigh jab le callback_url – agus an t-iarratas a sheolann Do4U chuig an seoladh sin nuair a bhíonn an jab críochnaithe:

curl -X POST https://do4u.eu/api/v1/jobs \
  -H "Authorization: Bearer d4u_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"tool": "summarize", "text": "...", "callback_url": "https://example.com/do4u-hook"}'
POST /do4u-hook
Content-Type: application/json
X-Do4U-Event: job.finished
X-Do4U-Signature: t=1793180000,v1=6b1f...

{"event":"job.finished","id":"8f1c0b6a...","tool":"summarize","status":"done","credits":1,
 "created":"2026-10-28T10:00:00+01:00","finished":"2026-10-28T10:00:04+01:00","result_url":"https://do4u.eu/api/v1/jobs/8f1c0b6a..."}

Seiceáil an ceanntásc X-Do4U-Signature: t=<time>,v1=<hex>, áit a bhfuil v1 = HMAC-SHA256(secret, "<time>.<raw body>"). Diúltaigh d’amanna sean (m.sh. níos sine ná 5 nóiméad). Tosaíonn do rún le whsec_ agus taispeántar é ar an leathanach Eochracha API.

// Node.js: rawBody = the request body exactly as received (string)
const crypto = require('crypto');
function do4uSignatureOk(rawBody, header, secret) {
  const t = (header.match(/t=(\d+)/) || [])[1];
  const v1 = (header.match(/v1=([0-9a-f]{64})/) || [])[1];
  if (!t || !v1 || Math.abs(Date.now() / 1000 - Number(t)) > 300) return false;
  const expected = crypto.createHmac('sha256', secret).update(t + '.' + rawBody).digest('hex');
  return crypto.timingSafeEqual(Buffer.from(expected), Buffer.from(v1));
}
// PHP
function do4u_signature_ok(string $raw, string $header, string $secret): bool {
    if (!preg_match('/t=(\d+),v1=([0-9a-f]{64})/', $header, $m) || abs(time() - (int)$m[1]) > 300) return false;
    return hash_equals(hash_hmac('sha256', $m[1] . '.' . $raw, $secret), $m[2]);
}
$ok = do4u_signature_ok(file_get_contents('php://input'), $_SERVER['HTTP_X_DO4U_SIGNATURE'] ?? '', 'whsec_YOUR_SECRET');

credits.low

Nuair a thiteann iarmhéid creidmheasa cuntais faoin tairseach, seolann Do4U POST sínithe amháin chuig seoladh webhook an chuntais. Níl aon sonraí pearsanta san imeacht, ach an t-iarmhéid, an tairseach agus an t-am (UTC). Ní leanann an chéad cheann eile ach tar éis creidmheasanna a chur leis arís (ceannach, creidmheasanna míosúla saor in aisce nó dearbhán). Is ionann síniú agus rún agus iad siúd do job.finished.

POST /do4u-hook
Content-Type: application/json
X-Do4U-Event: credits.low
X-Do4U-Signature: t=1793180000,v1=6b1f...

{"event":"credits.low","balance":18,"threshold":20,"ts":"2026-10-29T10:00:04Z"}

Socraíonn tú an seoladh agus an tairseach anseo: Eochracha API

n8n

Sreabhadh oibre réamhdhéanta: faigheann webhook an glao ó Do4U, seiceálann sé an síniú, faigheann sé an toradh agus tugann sé don chéad chéim eile é.

Íoslódáil an teimpléad n8n (JSON)

Teimpléad, nár tástáladh fós i bhfíor-chás n8n nó Make – tástáil an tseiceáil sínithe sula n-úsáideann tú é.

In n8n: Workflows → Import from file. Ansin cuir isteach do rún sa nód "Check signature" agus d’eochair API in "Do4U: get result", gníomhachtaigh an sreabhadh oibre agus úsáid URL táirgeachta an webhook mar callback_url. Teastaíonn an athróg timpeallachta NODE_FUNCTION_ALLOW_BUILTIN=crypto ó n8n féinóstáilte don tseiceáil sínithe.

Make

  1. Cuir an modúl Webhooks → Custom webhook leis mar thruicear agus cas air "JSON pass-through" agus "Get request headers" ina ardsocruithe.
  2. Úsáid seoladh an webhook seo mar callback_url.
  3. Seiceáil an síniú: cuir v1 ón gceanntásc X-Do4U-Signature i gcomparáid le sha256(t + "." + raw body; hex; do rún).
  4. Cuir HTTP → Make a request leis: GET ar result_url leis an gceanntásc Authorization: Bearer <your API key>.
  5. Úsáid an réimse result i do chéad mhodúil eile.

Teimpléad, nár tástáladh fós i bhfíor-chás n8n nó Make – tástáil an tseiceáil sínithe sula n-úsáideann tú é.

Oidis: ceangail uirlisí le chéile

Ritheann oideas 2 go 4 uirlis ceann i ndiaidh a chéile mar jab amháin. Seol "recipe" in ionad "tool": ainm oidis réamhdhéanta nó liosta céimeanna. Téann an téacs isteach sa chéad chéim; is é toradh gach céime an téacs don chéad chéim eile. Liostaíonn GET /api/v1/recipes na hoidis réamhdhéanta, na huirlisí is féidir leat a úsáid agus an réimse a thugann gach uirlis ar aghaidh.

curl -X POST https://do4u.eu/api/v1/jobs \
  -H "Authorization: Bearer d4u_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"recipe": [{"tool": "summarize", "options": {"length": "short"}},
               {"tool": "translate", "options": {"target": "pl"}}], "text": "..."}'
curl -X POST https://do4u.eu/api/v1/jobs \
  -H "Authorization: Bearer d4u_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"recipe": "summary_translate_meta", "options": {"target": "pl"}, "text": "..."}'

Faigheann tú meastachán amháin do gach céim (credits_estimate). Áirithítear an méid sin ag an tús. Tar éis gach céime cuirtear an úsáid iarbhír in áireamh agus fanann an chuid eile áirithe go dtí an deireadh, ansin scaoiltear í. Ní chosnaíonn céim theipthe aon rud, scipeáiltear na céimeanna eile, agus gearrtar as céimeanna a bhí críochnaithe cheana.

HTTP/1.1 202 Accepted
{"id": "3c9e0d1a...", "tool": "recipe", "recipe": null, "status": "queued", "model": "do4u-standard", "credits_estimate": 4,
 "steps": [{"n": 1, "tool": "summarize", "credits_estimate": 2}, {"n": 2, "tool": "translate", "credits_estimate": 2}],
 "links": {"self": "https://do4u.eu/api/v1/jobs/3c9e0d1a..."}}

Taispeánann GET /api/v1/jobs/{id} gach céim lena stádas (pending, queued, running, done, failed, skipped), a creidmheasanna, fógra input_shortened má b’éigean an téacs a ghiorrú don chéad uirlis eile, agus toradh gach céime nuair a bhíonn an t-oideas críochnaithe. Le no_store taispeántar na torthaí uair amháin. Lasann callback_url uair amháin, ag deireadh an oidis.

GET https://do4u.eu/api/v1/jobs/3c9e0d1a...

{"id": "3c9e0d1a...", "tool": "recipe", "status": "done", "credits_estimate": 4, "credits": 3, "steps_total": 2,
 "steps": [{"n": 1, "tool": "summarize", "status": "done", "credits": 1, "result": {"summary": "...", "key_points": ["..."]}},
           {"n": 2, "tool": "translate", "status": "done", "credits": 2, "notices": ["input_shortened"], "result": {"translation": "...", "notes": []}}],
 "result": {"translation": "...", "notes": []}}

GET https://do4u.eu/api/v1/recipes

Errors

Errors always have the same form: {"error": {"code": "...", "message": "..."}}. With 429 and 503 the header Retry-After says how many seconds to wait.

CodeHTTPMeaning
missing_key401No API key sent.
invalid_key401Key unknown or revoked.
rate_limited429Too many requests in this minute.
invalid_json400Body is not a JSON object.
unknown_tool400No tool with this name.
invalid_option400Unknown option or value.
invalid_field400A field has the wrong type.
invalid_language400language is not en, de or pl.
empty_input400No text or URL.
text_b_required400compare needs text and text_b.
input_too_long400Input longer than your limit.
input_too_large400Input too large for one job: shorten it or split it into several jobs.
invalid_url400URL not allowed or not readable.
invalid_image400Image missing, wrong format or too large.
payload_too_large413Request body larger than 8 MB.
insufficient_credits402Not enough credits.
email_not_verified402Confirm your email address first.
daily_limit429Free daily limit used up (website_check scope short).
too_many_open_jobs429Too many open jobs in your account.
package_required403The tool needs a purchased package.
busy503The queue is full, try again shortly.
tool_unavailable503The tool is not available right now.
not_found404Unknown endpoint or job.
method_not_allowed405Wrong HTTP method.
internal_error500Error on our side.
invalid_idempotency_key400Idempotency-Key is empty, too long or has characters that are not printable ASCII.
idempotency_conflict422This Idempotency-Key was already used with a different request.
idempotency_in_progress409A request with this Idempotency-Key is still running. Wait a moment (Retry-After).
idempotency_unavailable503Idempotency-Key cannot be used right now. Try again later.
same_language400The text already is in the target language (translate tools). Send allow_same_language: true to translate anyway.

Limits

Credits

A new job shows an estimate (credits_estimate); charged is the actual use (credits). Failed jobs cost nothing. Free credits are used first.

Data

Inputs and results are stored for 7 days (Free) or 30 days (paid packages), then deleted. Images are deleted right after processing. Results are AI-generated: please check them before you use them.

Freagair ríomhphoist gan do bhosca isteach a athrú

Ní ritheann Do4U bosca isteach agus ní stórálann sé sonraí rochtana do do bhosca poist riamh. Dhá bhealach chun dréacht-fhreagraí a fháil mar sin féin:

S1 – Teimpléad do n8n nó Make

  1. Truicear: ríomhphost nua i do bhosca poist (truicear IMAP in n8n nó Make – fanann na sonraí rochtana ansin)
  2. POST /api/v1/jobs leis an uirlis support_reply, téacs an ríomhphoist agus no_store: true
  3. Fan cúpla soicind agus faigh GET /api/v1/jobs/{id} go dtí go mbíonn an stádas done
  4. Cruthaigh dréacht i do bhosca poist leis an téacs ó result.reply (modúl Gmail nó Outlook)

Íoslódáil an teimpléad n8n (JSON)

In Make, tóg an cás céanna ó na modúil Email (watch emails), HTTP (make a request), Sleep agus Gmail nó Outlook (create a draft).

Síntí forbróra agus breiseáin siopa

Bain an ZIP amach agus léigh an treoir atá ann. Lódáil an síneadh brabhsálaí go háitiúil; seiceáil breiseáin siopa i siopa tástála ar dtús. Teastaíonn d’eochair Dev API féin. Soláthraíonn Shopware CLI faoi láthair.