changedInput schema / properties / ask / description
Previous value: -"A question to answer from the post, in any language: \"what products and prices does it recommend?\", \"does the speaker say X?\", \"what is step three?\". The answer comes with the quotes it rests on, each checked against the post by the server (`answer` in json: answer, found, support[]; an Answer section in markdown). `found` is false when the post does not address it — nothing is invented. Costs the digest's price plus 1 credit; the same question on the same url is served from cache for free."New value: +"A question to answer from the post, e.g. \"what products and prices does it recommend?\". Returns answer, found and the quotes it rests on, checked against the post; found is false when the post does not say — nothing is invented. +1 credit."
changedInput schema / properties / breakdown / description
Previous value: -"Also take the post apart (爆款拆解): the hook in its first seconds, the structure as timed beats, the title formula, cover text, call to action, audience, and a reusable template to make your own version. Quotes are copied from the post and checked against it; engagement counts and hashtags come from the platform. Written in the post's language, or in translate_to if given. Shown as a section in markdown and as `breakdown` in json. Costs the digest's price plus 1 credit; a repeat is served from cache for free."New value: +"Also take the post apart (爆款拆解): hook, timed beats, title formula, call to action, reusable template; quotes checked against the post. +1 credit."
changedInput schema / properties / depth / description
Previous value: -"How much of a video to read. full (default): the transcript plus frames sampled densely, 1 credit per started minute. transcript: transcript-first, for long videos — the whole transcript plus one frame a minute (or one per chapter), one credit per started 2 minutes, and a longer length cap (free 60 min, paid 120 min, against 10 and 30 for full). Coverage says the frames were sparse and `depth` in json says which read it was. When a full read would be partial, `partial.transcript_credits` is what this read of the whole video costs. A YouTube video read by Gemini watching it (YouTube blocks this server) has no transcript-only form: it is read in full and priced as a full read."New value: +"full (default), or transcript for a long video: the whole transcript with a frame a minute, 1 credit per started 2 minutes and a longer length cap. YouTube is always read in full."
changedInput schema / properties / format / description
Previous value: -"markdown (default, best for reading) or json (structured). json adds `coverage` (seconds_transcribed, duration_seconds, largest_frame_gap_seconds, images_read, images_total, not_captured) and `key_point_support` ({ point_index, kind, t, image_index, quote, verified } per key point). Either format lists the links the post points to (a Links section; `links` in json: { url, found_in, label, kind }, from its caption, QR codes, WeChat's 阅读原文 and on-screen text). None is opened; kind marks payment codes and group invites."New value: +"markdown (default) or json (structured: `coverage`, `key_point_support`, `answer`, and `links` — the links the post points to, with kind; None is opened)."
changedInput schema / properties / job_id / description
Previous value: -"Collect a digest already running. Pass the job id from a previous call instead of url. Use this rather than re-sending the url, which would start the work again."New value: +"Collect a digest still running, instead of url (re-sending the url would start it again)."
changedInput schema / properties / partial_ok / description
Previous value: -"Read the opening minutes the budget affords instead of refusing a video over max_credits or the plan's length cap. Default false: a long video is refused and costs nothing (YouTube excepted: its length is known only after Gemini watches it, so it is read in full and billed at most max_credits). When true, the digest carries `partial` (read_seconds, duration_seconds, full_credits). An image post the budget does not cover whole reads its first images instead (6 a credit); its partial has 0 seconds, and image_count / images_read say how many."New value: +"Read the opening minutes the budget affords instead of refusing a long video; the digest then carries `partial`. Default false: a long video is refused for free."
changedInput schema / properties / translate_to / description
Previous value: -"Also translate the digest into this language: an ISO 639-1 code, optionally with a region (en, ja, zh-CN). The original-language text is always returned; the translation is added alongside it under `translation` (title, caption, key points, transcript text, on-screen text, image descriptions), and as a Translation section at the end of the markdown. Machine translation. Costs the digest's price plus 1 credit; a repeat of the same url and language is served from cache for free."New value: +"Also translate into this language (en, ja, zh-CN); the original text is kept. +1 credit."
changedInput schema / properties / url / description
Previous value: -"The post URL, including any share tokens. Required unless job_id is given."New value: +"The post link, or the share text that contains it. Required unless job_id is given."