{"info":{"name":"MetaPlatho API","description":"Two requests: send the file with what you want done to it, then poll until it's ready.\n\nSet `mp_api_key` in the collection variables (Variables tab) if it is not filled in, pick your file in request 1's Body tab, and Send. job_id is chained automatically.\n\nDocs: https://metaplatho.com/docs/api — the live catalog of operations and their params: https://metaplatho.com/api/v1/studio/tools","schema":"https://schema.getpostman.com/json/collection/v2.1.0/collection.json"},"auth":{"type":"apikey","apikey":[{"key":"key","value":"X-Api-Key","type":"string"},{"key":"value","value":"{{mp_api_key}}","type":"string"},{"key":"in","value":"header","type":"string"}]},"variable":[{"key":"mp_base_url","value":"https://metaplatho.com"},{"key":"mp_api_key","value":"<YOUR_API_KEY>"},{"key":"mp_job_id","value":""},{"key":"mp_output_url","value":""}],"item":[{"name":"1. Send the file + operation","item":[{"name":"Compress for web (video)","event":[{"listen":"test","script":{"type":"text/javascript","exec":["const b = pm.response.json();","if (pm.response.code >= 400) {","  pm.test(`refused: HTTP ${pm.response.code} — ${JSON.stringify(b.detail)}`, () => pm.expect.fail(JSON.stringify(b.detail)));","} else {","  pm.collectionVariables.set(\"mp_job_id\", b.id);","  pm.test(\"job accepted — now send request 2 until status is done\", () => pm.expect(b.id).to.be.a(\"string\"));","}"]}}],"request":{"method":"POST","header":[{"key":"X-Api-Key","value":"{{mp_api_key}}"}],"url":"{{mp_base_url}}/api/v1/jobs/upload","description":"Pick your file in the Body tab (the 'file' row), then Send. Change what happens by editing the 'params' row — nothing else moves.","body":{"mode":"formdata","formdata":[{"key":"file","type":"file","description":"Pick your file here"},{"key":"service_slug","value":"clipconvert","type":"text"},{"key":"operation_key","value":"compress","type":"text"},{"key":"params","value":"{\"level\": \"light\"}","type":"text"}]}}},{"name":"Resize (cap 1080p) (video)","event":[{"listen":"test","script":{"type":"text/javascript","exec":["const b = pm.response.json();","if (pm.response.code >= 400) {","  pm.test(`refused: HTTP ${pm.response.code} — ${JSON.stringify(b.detail)}`, () => pm.expect.fail(JSON.stringify(b.detail)));","} else {","  pm.collectionVariables.set(\"mp_job_id\", b.id);","  pm.test(\"job accepted — now send request 2 until status is done\", () => pm.expect(b.id).to.be.a(\"string\"));","}"]}}],"request":{"method":"POST","header":[{"key":"X-Api-Key","value":"{{mp_api_key}}"}],"url":"{{mp_base_url}}/api/v1/jobs/upload","description":"Pick your file in the Body tab (the 'file' row), then Send. Change what happens by editing the 'params' row — nothing else moves.","body":{"mode":"formdata","formdata":[{"key":"file","type":"file","description":"Pick your file here"},{"key":"service_slug","value":"clipconvert","type":"text"},{"key":"operation_key","value":"resize","type":"text"},{"key":"params","value":"{\"height\": 1080, \"mode\": \"fit\"}","type":"text"}]}}},{"name":"Convert format (video)","event":[{"listen":"test","script":{"type":"text/javascript","exec":["const b = pm.response.json();","if (pm.response.code >= 400) {","  pm.test(`refused: HTTP ${pm.response.code} — ${JSON.stringify(b.detail)}`, () => pm.expect.fail(JSON.stringify(b.detail)));","} else {","  pm.collectionVariables.set(\"mp_job_id\", b.id);","  pm.test(\"job accepted — now send request 2 until status is done\", () => pm.expect(b.id).to.be.a(\"string\"));","}"]}}],"request":{"method":"POST","header":[{"key":"X-Api-Key","value":"{{mp_api_key}}"}],"url":"{{mp_base_url}}/api/v1/jobs/upload","description":"Pick your file in the Body tab (the 'file' row), then Send. Change what happens by editing the 'params' row — nothing else moves.","body":{"mode":"formdata","formdata":[{"key":"file","type":"file","description":"Pick your file here"},{"key":"service_slug","value":"clipconvert","type":"text"},{"key":"operation_key","value":"convert","type":"text"},{"key":"params","value":"{\"format\": \"mp4\"}","type":"text"}]}}},{"name":"Social media format (video)","event":[{"listen":"test","script":{"type":"text/javascript","exec":["const b = pm.response.json();","if (pm.response.code >= 400) {","  pm.test(`refused: HTTP ${pm.response.code} — ${JSON.stringify(b.detail)}`, () => pm.expect.fail(JSON.stringify(b.detail)));","} else {","  pm.collectionVariables.set(\"mp_job_id\", b.id);","  pm.test(\"job accepted — now send request 2 until status is done\", () => pm.expect(b.id).to.be.a(\"string\"));","}"]}}],"request":{"method":"POST","header":[{"key":"X-Api-Key","value":"{{mp_api_key}}"}],"url":"{{mp_base_url}}/api/v1/jobs/upload","description":"Pick your file in the Body tab (the 'file' row), then Send. Change what happens by editing the 'params' row — nothing else moves.","body":{"mode":"formdata","formdata":[{"key":"file","type":"file","description":"Pick your file here"},{"key":"service_slug","value":"clipconvert","type":"text"},{"key":"operation_key","value":"social","type":"text"},{"key":"params","value":"{\"preset\": \"square\", \"mode\": \"crop\"}","type":"text"}]}}},{"name":"Trim length (video)","event":[{"listen":"test","script":{"type":"text/javascript","exec":["const b = pm.response.json();","if (pm.response.code >= 400) {","  pm.test(`refused: HTTP ${pm.response.code} — ${JSON.stringify(b.detail)}`, () => pm.expect.fail(JSON.stringify(b.detail)));","} else {","  pm.collectionVariables.set(\"mp_job_id\", b.id);","  pm.test(\"job accepted — now send request 2 until status is done\", () => pm.expect(b.id).to.be.a(\"string\"));","}"]}}],"request":{"method":"POST","header":[{"key":"X-Api-Key","value":"{{mp_api_key}}"}],"url":"{{mp_base_url}}/api/v1/jobs/upload","description":"Pick your file in the Body tab (the 'file' row), then Send. Change what happens by editing the 'params' row — nothing else moves.","body":{"mode":"formdata","formdata":[{"key":"file","type":"file","description":"Pick your file here"},{"key":"service_slug","value":"clipconvert","type":"text"},{"key":"operation_key","value":"trim","type":"text"},{"key":"params","value":"{\"start\": 0, \"duration\": 15}","type":"text"}]}}},{"name":"Change frame rate (video)","event":[{"listen":"test","script":{"type":"text/javascript","exec":["const b = pm.response.json();","if (pm.response.code >= 400) {","  pm.test(`refused: HTTP ${pm.response.code} — ${JSON.stringify(b.detail)}`, () => pm.expect.fail(JSON.stringify(b.detail)));","} else {","  pm.collectionVariables.set(\"mp_job_id\", b.id);","  pm.test(\"job accepted — now send request 2 until status is done\", () => pm.expect(b.id).to.be.a(\"string\"));","}"]}}],"request":{"method":"POST","header":[{"key":"X-Api-Key","value":"{{mp_api_key}}"}],"url":"{{mp_base_url}}/api/v1/jobs/upload","description":"Pick your file in the Body tab (the 'file' row), then Send. Change what happens by editing the 'params' row — nothing else moves.","body":{"mode":"formdata","formdata":[{"key":"file","type":"file","description":"Pick your file here"},{"key":"service_slug","value":"clipconvert","type":"text"},{"key":"operation_key","value":"fps","type":"text"},{"key":"params","value":"{\"fps\": 30}","type":"text"}]}}},{"name":"Web-optimize (instant play) (video)","event":[{"listen":"test","script":{"type":"text/javascript","exec":["const b = pm.response.json();","if (pm.response.code >= 400) {","  pm.test(`refused: HTTP ${pm.response.code} — ${JSON.stringify(b.detail)}`, () => pm.expect.fail(JSON.stringify(b.detail)));","} else {","  pm.collectionVariables.set(\"mp_job_id\", b.id);","  pm.test(\"job accepted — now send request 2 until status is done\", () => pm.expect(b.id).to.be.a(\"string\"));","}"]}}],"request":{"method":"POST","header":[{"key":"X-Api-Key","value":"{{mp_api_key}}"}],"url":"{{mp_base_url}}/api/v1/jobs/upload","description":"Pick your file in the Body tab (the 'file' row), then Send. Change what happens by editing the 'params' row — nothing else moves.","body":{"mode":"formdata","formdata":[{"key":"file","type":"file","description":"Pick your file here"},{"key":"service_slug","value":"clipconvert","type":"text"},{"key":"operation_key","value":"faststart","type":"text"},{"key":"params","value":"{}","type":"text"}]}}},{"name":"Remove audio (mute) (video)","event":[{"listen":"test","script":{"type":"text/javascript","exec":["const b = pm.response.json();","if (pm.response.code >= 400) {","  pm.test(`refused: HTTP ${pm.response.code} — ${JSON.stringify(b.detail)}`, () => pm.expect.fail(JSON.stringify(b.detail)));","} else {","  pm.collectionVariables.set(\"mp_job_id\", b.id);","  pm.test(\"job accepted — now send request 2 until status is done\", () => pm.expect(b.id).to.be.a(\"string\"));","}"]}}],"request":{"method":"POST","header":[{"key":"X-Api-Key","value":"{{mp_api_key}}"}],"url":"{{mp_base_url}}/api/v1/jobs/upload","description":"Pick your file in the Body tab (the 'file' row), then Send. Change what happens by editing the 'params' row — nothing else moves.","body":{"mode":"formdata","formdata":[{"key":"file","type":"file","description":"Pick your file here"},{"key":"service_slug","value":"clipconvert","type":"text"},{"key":"operation_key","value":"mute","type":"text"},{"key":"params","value":"{}","type":"text"}]}}},{"name":"Extract audio (video)","event":[{"listen":"test","script":{"type":"text/javascript","exec":["const b = pm.response.json();","if (pm.response.code >= 400) {","  pm.test(`refused: HTTP ${pm.response.code} — ${JSON.stringify(b.detail)}`, () => pm.expect.fail(JSON.stringify(b.detail)));","} else {","  pm.collectionVariables.set(\"mp_job_id\", b.id);","  pm.test(\"job accepted — now send request 2 until status is done\", () => pm.expect(b.id).to.be.a(\"string\"));","}"]}}],"request":{"method":"POST","header":[{"key":"X-Api-Key","value":"{{mp_api_key}}"}],"url":"{{mp_base_url}}/api/v1/jobs/upload","description":"Pick your file in the Body tab (the 'file' row), then Send. Change what happens by editing the 'params' row — nothing else moves.","body":{"mode":"formdata","formdata":[{"key":"file","type":"file","description":"Pick your file here"},{"key":"service_slug","value":"clipconvert","type":"text"},{"key":"operation_key","value":"extract_audio","type":"text"},{"key":"params","value":"{\"format\": \"mp3\"}","type":"text"}]}}},{"name":"Grab a thumbnail (video)","event":[{"listen":"test","script":{"type":"text/javascript","exec":["const b = pm.response.json();","if (pm.response.code >= 400) {","  pm.test(`refused: HTTP ${pm.response.code} — ${JSON.stringify(b.detail)}`, () => pm.expect.fail(JSON.stringify(b.detail)));","} else {","  pm.collectionVariables.set(\"mp_job_id\", b.id);","  pm.test(\"job accepted — now send request 2 until status is done\", () => pm.expect(b.id).to.be.a(\"string\"));","}"]}}],"request":{"method":"POST","header":[{"key":"X-Api-Key","value":"{{mp_api_key}}"}],"url":"{{mp_base_url}}/api/v1/jobs/upload","description":"Pick your file in the Body tab (the 'file' row), then Send. Change what happens by editing the 'params' row — nothing else moves.","body":{"mode":"formdata","formdata":[{"key":"file","type":"file","description":"Pick your file here"},{"key":"service_slug","value":"clipconvert","type":"text"},{"key":"operation_key","value":"thumbnail","type":"text"},{"key":"params","value":"{\"at\": 0}","type":"text"}]}}},{"name":"Video → GIF (video)","event":[{"listen":"test","script":{"type":"text/javascript","exec":["const b = pm.response.json();","if (pm.response.code >= 400) {","  pm.test(`refused: HTTP ${pm.response.code} — ${JSON.stringify(b.detail)}`, () => pm.expect.fail(JSON.stringify(b.detail)));","} else {","  pm.collectionVariables.set(\"mp_job_id\", b.id);","  pm.test(\"job accepted — now send request 2 until status is done\", () => pm.expect(b.id).to.be.a(\"string\"));","}"]}}],"request":{"method":"POST","header":[{"key":"X-Api-Key","value":"{{mp_api_key}}"}],"url":"{{mp_base_url}}/api/v1/jobs/upload","description":"Pick your file in the Body tab (the 'file' row), then Send. Change what happens by editing the 'params' row — nothing else moves.","body":{"mode":"formdata","formdata":[{"key":"file","type":"file","description":"Pick your file here"},{"key":"service_slug","value":"clipconvert","type":"text"},{"key":"operation_key","value":"gif","type":"text"},{"key":"params","value":"{\"start\": 0, \"duration\": 5}","type":"text"}]}}},{"name":"Change speed (video)","event":[{"listen":"test","script":{"type":"text/javascript","exec":["const b = pm.response.json();","if (pm.response.code >= 400) {","  pm.test(`refused: HTTP ${pm.response.code} — ${JSON.stringify(b.detail)}`, () => pm.expect.fail(JSON.stringify(b.detail)));","} else {","  pm.collectionVariables.set(\"mp_job_id\", b.id);","  pm.test(\"job accepted — now send request 2 until status is done\", () => pm.expect(b.id).to.be.a(\"string\"));","}"]}}],"request":{"method":"POST","header":[{"key":"X-Api-Key","value":"{{mp_api_key}}"}],"url":"{{mp_base_url}}/api/v1/jobs/upload","description":"Pick your file in the Body tab (the 'file' row), then Send. Change what happens by editing the 'params' row — nothing else moves.","body":{"mode":"formdata","formdata":[{"key":"file","type":"file","description":"Pick your file here"},{"key":"service_slug","value":"clipconvert","type":"text"},{"key":"operation_key","value":"speed","type":"text"},{"key":"params","value":"{\"factor\": 0.5}","type":"text"}]}}},{"name":"Rotate (video)","event":[{"listen":"test","script":{"type":"text/javascript","exec":["const b = pm.response.json();","if (pm.response.code >= 400) {","  pm.test(`refused: HTTP ${pm.response.code} — ${JSON.stringify(b.detail)}`, () => pm.expect.fail(JSON.stringify(b.detail)));","} else {","  pm.collectionVariables.set(\"mp_job_id\", b.id);","  pm.test(\"job accepted — now send request 2 until status is done\", () => pm.expect(b.id).to.be.a(\"string\"));","}"]}}],"request":{"method":"POST","header":[{"key":"X-Api-Key","value":"{{mp_api_key}}"}],"url":"{{mp_base_url}}/api/v1/jobs/upload","description":"Pick your file in the Body tab (the 'file' row), then Send. Change what happens by editing the 'params' row — nothing else moves.","body":{"mode":"formdata","formdata":[{"key":"file","type":"file","description":"Pick your file here"},{"key":"service_slug","value":"clipconvert","type":"text"},{"key":"operation_key","value":"rotate","type":"text"},{"key":"params","value":"{\"mode\": \"90cw\"}","type":"text"}]}}},{"name":"Mirror / flip (video)","event":[{"listen":"test","script":{"type":"text/javascript","exec":["const b = pm.response.json();","if (pm.response.code >= 400) {","  pm.test(`refused: HTTP ${pm.response.code} — ${JSON.stringify(b.detail)}`, () => pm.expect.fail(JSON.stringify(b.detail)));","} else {","  pm.collectionVariables.set(\"mp_job_id\", b.id);","  pm.test(\"job accepted — now send request 2 until status is done\", () => pm.expect(b.id).to.be.a(\"string\"));","}"]}}],"request":{"method":"POST","header":[{"key":"X-Api-Key","value":"{{mp_api_key}}"}],"url":"{{mp_base_url}}/api/v1/jobs/upload","description":"Pick your file in the Body tab (the 'file' row), then Send. Change what happens by editing the 'params' row — nothing else moves.","body":{"mode":"formdata","formdata":[{"key":"file","type":"file","description":"Pick your file here"},{"key":"service_slug","value":"clipconvert","type":"text"},{"key":"operation_key","value":"flip","type":"text"},{"key":"params","value":"{\"axis\": \"h\"}","type":"text"}]}}},{"name":"Watermark (video)","event":[{"listen":"test","script":{"type":"text/javascript","exec":["const b = pm.response.json();","if (pm.response.code >= 400) {","  pm.test(`refused: HTTP ${pm.response.code} — ${JSON.stringify(b.detail)}`, () => pm.expect.fail(JSON.stringify(b.detail)));","} else {","  pm.collectionVariables.set(\"mp_job_id\", b.id);","  pm.test(\"job accepted — now send request 2 until status is done\", () => pm.expect(b.id).to.be.a(\"string\"));","}"]}}],"request":{"method":"POST","header":[{"key":"X-Api-Key","value":"{{mp_api_key}}"}],"url":"{{mp_base_url}}/api/v1/jobs/upload","description":"Pick your file in the Body tab (the 'file' row), then Send. Change what happens by editing the 'params' row — nothing else moves.","body":{"mode":"formdata","formdata":[{"key":"file","type":"file","description":"Pick your file here"},{"key":"service_slug","value":"clipconvert","type":"text"},{"key":"operation_key","value":"watermark","type":"text"},{"key":"params","value":"{}","type":"text"}]}}},{"name":"Strip metadata (video)","event":[{"listen":"test","script":{"type":"text/javascript","exec":["const b = pm.response.json();","if (pm.response.code >= 400) {","  pm.test(`refused: HTTP ${pm.response.code} — ${JSON.stringify(b.detail)}`, () => pm.expect.fail(JSON.stringify(b.detail)));","} else {","  pm.collectionVariables.set(\"mp_job_id\", b.id);","  pm.test(\"job accepted — now send request 2 until status is done\", () => pm.expect(b.id).to.be.a(\"string\"));","}"]}}],"request":{"method":"POST","header":[{"key":"X-Api-Key","value":"{{mp_api_key}}"}],"url":"{{mp_base_url}}/api/v1/jobs/upload","description":"Pick your file in the Body tab (the 'file' row), then Send. Change what happens by editing the 'params' row — nothing else moves.","body":{"mode":"formdata","formdata":[{"key":"file","type":"file","description":"Pick your file here"},{"key":"service_slug","value":"clipconvert","type":"text"},{"key":"operation_key","value":"strip_metadata","type":"text"},{"key":"params","value":"{}","type":"text"}]}}},{"name":"Subtitles on video (video)","event":[{"listen":"test","script":{"type":"text/javascript","exec":["const b = pm.response.json();","if (pm.response.code >= 400) {","  pm.test(`refused: HTTP ${pm.response.code} — ${JSON.stringify(b.detail)}`, () => pm.expect.fail(JSON.stringify(b.detail)));","} else {","  pm.collectionVariables.set(\"mp_job_id\", b.id);","  pm.test(\"job accepted — now send request 2 until status is done\", () => pm.expect(b.id).to.be.a(\"string\"));","}"]}}],"request":{"method":"POST","header":[{"key":"X-Api-Key","value":"{{mp_api_key}}"}],"url":"{{mp_base_url}}/api/v1/jobs/upload","description":"Pick your file in the Body tab (the 'file' row), then Send. Change what happens by editing the 'params' row — nothing else moves.","body":{"mode":"formdata","formdata":[{"key":"file","type":"file","description":"Pick your file here"},{"key":"service_slug","value":"clipconvert","type":"text"},{"key":"operation_key","value":"subtitles","type":"text"},{"key":"params","value":"{\"language\": \"uk\"}","type":"text"}]}}},{"name":"Video → text (SRT) (video)","event":[{"listen":"test","script":{"type":"text/javascript","exec":["const b = pm.response.json();","if (pm.response.code >= 400) {","  pm.test(`refused: HTTP ${pm.response.code} — ${JSON.stringify(b.detail)}`, () => pm.expect.fail(JSON.stringify(b.detail)));","} else {","  pm.collectionVariables.set(\"mp_job_id\", b.id);","  pm.test(\"job accepted — now send request 2 until status is done\", () => pm.expect(b.id).to.be.a(\"string\"));","}"]}}],"request":{"method":"POST","header":[{"key":"X-Api-Key","value":"{{mp_api_key}}"}],"url":"{{mp_base_url}}/api/v1/jobs/upload","description":"Pick your file in the Body tab (the 'file' row), then Send. Change what happens by editing the 'params' row — nothing else moves.","body":{"mode":"formdata","formdata":[{"key":"file","type":"file","description":"Pick your file here"},{"key":"service_slug","value":"clipconvert","type":"text"},{"key":"operation_key","value":"transcribe","type":"text"},{"key":"params","value":"{\"format\": \"txt\"}","type":"text"}]}}},{"name":"Enhance voice (video)","event":[{"listen":"test","script":{"type":"text/javascript","exec":["const b = pm.response.json();","if (pm.response.code >= 400) {","  pm.test(`refused: HTTP ${pm.response.code} — ${JSON.stringify(b.detail)}`, () => pm.expect.fail(JSON.stringify(b.detail)));","} else {","  pm.collectionVariables.set(\"mp_job_id\", b.id);","  pm.test(\"job accepted — now send request 2 until status is done\", () => pm.expect(b.id).to.be.a(\"string\"));","}"]}}],"request":{"method":"POST","header":[{"key":"X-Api-Key","value":"{{mp_api_key}}"}],"url":"{{mp_base_url}}/api/v1/jobs/upload","description":"Pick your file in the Body tab (the 'file' row), then Send. Change what happens by editing the 'params' row — nothing else moves.","body":{"mode":"formdata","formdata":[{"key":"file","type":"file","description":"Pick your file here"},{"key":"service_slug","value":"clipconvert","type":"text"},{"key":"operation_key","value":"enhance_voice","type":"text"},{"key":"params","value":"{\"level\": \"light\"}","type":"text"}]}}},{"name":"Cut pauses & fillers (video)","event":[{"listen":"test","script":{"type":"text/javascript","exec":["const b = pm.response.json();","if (pm.response.code >= 400) {","  pm.test(`refused: HTTP ${pm.response.code} — ${JSON.stringify(b.detail)}`, () => pm.expect.fail(JSON.stringify(b.detail)));","} else {","  pm.collectionVariables.set(\"mp_job_id\", b.id);","  pm.test(\"job accepted — now send request 2 until status is done\", () => pm.expect(b.id).to.be.a(\"string\"));","}"]}}],"request":{"method":"POST","header":[{"key":"X-Api-Key","value":"{{mp_api_key}}"}],"url":"{{mp_base_url}}/api/v1/jobs/upload","description":"Pick your file in the Body tab (the 'file' row), then Send. Change what happens by editing the 'params' row — nothing else moves.","body":{"mode":"formdata","formdata":[{"key":"file","type":"file","description":"Pick your file here"},{"key":"service_slug","value":"clipconvert","type":"text"},{"key":"operation_key","value":"auto_edit","type":"text"},{"key":"params","value":"{\"max_pause\": 0.4, \"keep_pause\": 0.15}","type":"text"}]}}},{"name":"Circle video / Telegram note (video)","event":[{"listen":"test","script":{"type":"text/javascript","exec":["const b = pm.response.json();","if (pm.response.code >= 400) {","  pm.test(`refused: HTTP ${pm.response.code} — ${JSON.stringify(b.detail)}`, () => pm.expect.fail(JSON.stringify(b.detail)));","} else {","  pm.collectionVariables.set(\"mp_job_id\", b.id);","  pm.test(\"job accepted — now send request 2 until status is done\", () => pm.expect(b.id).to.be.a(\"string\"));","}"]}}],"request":{"method":"POST","header":[{"key":"X-Api-Key","value":"{{mp_api_key}}"}],"url":"{{mp_base_url}}/api/v1/jobs/upload","description":"Pick your file in the Body tab (the 'file' row), then Send. Change what happens by editing the 'params' row — nothing else moves.","body":{"mode":"formdata","formdata":[{"key":"file","type":"file","description":"Pick your file here"},{"key":"service_slug","value":"clipconvert","type":"text"},{"key":"operation_key","value":"circle","type":"text"},{"key":"params","value":"{\"format\": \"note\", \"diameter\": 512, \"mute\": false}","type":"text"}]}}},{"name":"Fit to canvas (blurred bg) (video)","event":[{"listen":"test","script":{"type":"text/javascript","exec":["const b = pm.response.json();","if (pm.response.code >= 400) {","  pm.test(`refused: HTTP ${pm.response.code} — ${JSON.stringify(b.detail)}`, () => pm.expect.fail(JSON.stringify(b.detail)));","} else {","  pm.collectionVariables.set(\"mp_job_id\", b.id);","  pm.test(\"job accepted — now send request 2 until status is done\", () => pm.expect(b.id).to.be.a(\"string\"));","}"]}}],"request":{"method":"POST","header":[{"key":"X-Api-Key","value":"{{mp_api_key}}"}],"url":"{{mp_base_url}}/api/v1/jobs/upload","description":"Pick your file in the Body tab (the 'file' row), then Send. Change what happens by editing the 'params' row — nothing else moves.","body":{"mode":"formdata","formdata":[{"key":"file","type":"file","description":"Pick your file here"},{"key":"service_slug","value":"clipconvert","type":"text"},{"key":"operation_key","value":"blur_bg","type":"text"},{"key":"params","value":"{\"width\": 1080, \"height\": 1920, \"bg_mode\": \"blur\"}","type":"text"}]}}},{"name":"Cover / thumbnail (video)","event":[{"listen":"test","script":{"type":"text/javascript","exec":["const b = pm.response.json();","if (pm.response.code >= 400) {","  pm.test(`refused: HTTP ${pm.response.code} — ${JSON.stringify(b.detail)}`, () => pm.expect.fail(JSON.stringify(b.detail)));","} else {","  pm.collectionVariables.set(\"mp_job_id\", b.id);","  pm.test(\"job accepted — now send request 2 until status is done\", () => pm.expect(b.id).to.be.a(\"string\"));","}"]}}],"request":{"method":"POST","header":[{"key":"X-Api-Key","value":"{{mp_api_key}}"}],"url":"{{mp_base_url}}/api/v1/jobs/upload","description":"Pick your file in the Body tab (the 'file' row), then Send. Change what happens by editing the 'params' row — nothing else moves.","body":{"mode":"formdata","formdata":[{"key":"file","type":"file","description":"Pick your file here"},{"key":"service_slug","value":"clipconvert","type":"text"},{"key":"operation_key","value":"cover","type":"text"},{"key":"params","value":"{}","type":"text"}]}}},{"name":"Add audio / music (video)","event":[{"listen":"test","script":{"type":"text/javascript","exec":["const b = pm.response.json();","if (pm.response.code >= 400) {","  pm.test(`refused: HTTP ${pm.response.code} — ${JSON.stringify(b.detail)}`, () => pm.expect.fail(JSON.stringify(b.detail)));","} else {","  pm.collectionVariables.set(\"mp_job_id\", b.id);","  pm.test(\"job accepted — now send request 2 until status is done\", () => pm.expect(b.id).to.be.a(\"string\"));","}"]}}],"request":{"method":"POST","header":[{"key":"X-Api-Key","value":"{{mp_api_key}}"}],"url":"{{mp_base_url}}/api/v1/jobs/upload","description":"Pick your file in the Body tab (the 'file' row), then Send. Change what happens by editing the 'params' row — nothing else moves.","body":{"mode":"formdata","formdata":[{"key":"file","type":"file","description":"Pick your file here"},{"key":"service_slug","value":"clipconvert","type":"text"},{"key":"operation_key","value":"add_audio","type":"text"},{"key":"params","value":"{}","type":"text"}]}}},{"name":"Camera metadata (video)","event":[{"listen":"test","script":{"type":"text/javascript","exec":["const b = pm.response.json();","if (pm.response.code >= 400) {","  pm.test(`refused: HTTP ${pm.response.code} — ${JSON.stringify(b.detail)}`, () => pm.expect.fail(JSON.stringify(b.detail)));","} else {","  pm.collectionVariables.set(\"mp_job_id\", b.id);","  pm.test(\"job accepted — now send request 2 until status is done\", () => pm.expect(b.id).to.be.a(\"string\"));","}"]}}],"request":{"method":"POST","header":[{"key":"X-Api-Key","value":"{{mp_api_key}}"}],"url":"{{mp_base_url}}/api/v1/jobs/upload","description":"Pick your file in the Body tab (the 'file' row), then Send. Change what happens by editing the 'params' row — nothing else moves.","body":{"mode":"formdata","formdata":[{"key":"file","type":"file","description":"Pick your file here"},{"key":"service_slug","value":"clipconvert","type":"text"},{"key":"operation_key","value":"device_meta","type":"text"},{"key":"params","value":"{\"preset\": \"iphone\"}","type":"text"}]}}},{"name":"Resize (photo)","event":[{"listen":"test","script":{"type":"text/javascript","exec":["const b = pm.response.json();","if (pm.response.code >= 400) {","  pm.test(`refused: HTTP ${pm.response.code} — ${JSON.stringify(b.detail)}`, () => pm.expect.fail(JSON.stringify(b.detail)));","} else {","  pm.collectionVariables.set(\"mp_job_id\", b.id);","  pm.test(\"job accepted — now send request 2 until status is done\", () => pm.expect(b.id).to.be.a(\"string\"));","}"]}}],"request":{"method":"POST","header":[{"key":"X-Api-Key","value":"{{mp_api_key}}"}],"url":"{{mp_base_url}}/api/v1/jobs/upload","description":"Pick your file in the Body tab (the 'file' row), then Send. Change what happens by editing the 'params' row — nothing else moves.","body":{"mode":"formdata","formdata":[{"key":"file","type":"file","description":"Pick your file here"},{"key":"service_slug","value":"photoconvert","type":"text"},{"key":"operation_key","value":"resize","type":"text"},{"key":"params","value":"{\"width\": 1080, \"resize_mode\": \"fit\"}","type":"text"}]}}},{"name":"Compress photo (photo)","event":[{"listen":"test","script":{"type":"text/javascript","exec":["const b = pm.response.json();","if (pm.response.code >= 400) {","  pm.test(`refused: HTTP ${pm.response.code} — ${JSON.stringify(b.detail)}`, () => pm.expect.fail(JSON.stringify(b.detail)));","} else {","  pm.collectionVariables.set(\"mp_job_id\", b.id);","  pm.test(\"job accepted — now send request 2 until status is done\", () => pm.expect(b.id).to.be.a(\"string\"));","}"]}}],"request":{"method":"POST","header":[{"key":"X-Api-Key","value":"{{mp_api_key}}"}],"url":"{{mp_base_url}}/api/v1/jobs/upload","description":"Pick your file in the Body tab (the 'file' row), then Send. Change what happens by editing the 'params' row — nothing else moves.","body":{"mode":"formdata","formdata":[{"key":"file","type":"file","description":"Pick your file here"},{"key":"service_slug","value":"photoconvert","type":"text"},{"key":"operation_key","value":"compress","type":"text"},{"key":"params","value":"{\"format\": \"jpeg\", \"quality\": 85}","type":"text"}]}}},{"name":"Convert format (photo)","event":[{"listen":"test","script":{"type":"text/javascript","exec":["const b = pm.response.json();","if (pm.response.code >= 400) {","  pm.test(`refused: HTTP ${pm.response.code} — ${JSON.stringify(b.detail)}`, () => pm.expect.fail(JSON.stringify(b.detail)));","} else {","  pm.collectionVariables.set(\"mp_job_id\", b.id);","  pm.test(\"job accepted — now send request 2 until status is done\", () => pm.expect(b.id).to.be.a(\"string\"));","}"]}}],"request":{"method":"POST","header":[{"key":"X-Api-Key","value":"{{mp_api_key}}"}],"url":"{{mp_base_url}}/api/v1/jobs/upload","description":"Pick your file in the Body tab (the 'file' row), then Send. Change what happens by editing the 'params' row — nothing else moves.","body":{"mode":"formdata","formdata":[{"key":"file","type":"file","description":"Pick your file here"},{"key":"service_slug","value":"photoconvert","type":"text"},{"key":"operation_key","value":"convert","type":"text"},{"key":"params","value":"{\"format\": \"webp\", \"quality\": 85}","type":"text"}]}}},{"name":"Strip metadata (photo)","event":[{"listen":"test","script":{"type":"text/javascript","exec":["const b = pm.response.json();","if (pm.response.code >= 400) {","  pm.test(`refused: HTTP ${pm.response.code} — ${JSON.stringify(b.detail)}`, () => pm.expect.fail(JSON.stringify(b.detail)));","} else {","  pm.collectionVariables.set(\"mp_job_id\", b.id);","  pm.test(\"job accepted — now send request 2 until status is done\", () => pm.expect(b.id).to.be.a(\"string\"));","}"]}}],"request":{"method":"POST","header":[{"key":"X-Api-Key","value":"{{mp_api_key}}"}],"url":"{{mp_base_url}}/api/v1/jobs/upload","description":"Pick your file in the Body tab (the 'file' row), then Send. Change what happens by editing the 'params' row — nothing else moves.","body":{"mode":"formdata","formdata":[{"key":"file","type":"file","description":"Pick your file here"},{"key":"service_slug","value":"photoconvert","type":"text"},{"key":"operation_key","value":"strip_meta","type":"text"},{"key":"params","value":"{\"strip_metadata\": true, \"strip_gps\": true}","type":"text"}]}}},{"name":"Camera EXIF preset (photo)","event":[{"listen":"test","script":{"type":"text/javascript","exec":["const b = pm.response.json();","if (pm.response.code >= 400) {","  pm.test(`refused: HTTP ${pm.response.code} — ${JSON.stringify(b.detail)}`, () => pm.expect.fail(JSON.stringify(b.detail)));","} else {","  pm.collectionVariables.set(\"mp_job_id\", b.id);","  pm.test(\"job accepted — now send request 2 until status is done\", () => pm.expect(b.id).to.be.a(\"string\"));","}"]}}],"request":{"method":"POST","header":[{"key":"X-Api-Key","value":"{{mp_api_key}}"}],"url":"{{mp_base_url}}/api/v1/jobs/upload","description":"Pick your file in the Body tab (the 'file' row), then Send. Change what happens by editing the 'params' row — nothing else moves.","body":{"mode":"formdata","formdata":[{"key":"file","type":"file","description":"Pick your file here"},{"key":"service_slug","value":"photoconvert","type":"text"},{"key":"operation_key","value":"device_meta","type":"text"},{"key":"params","value":"{\"preset\": \"iphone\", \"metadata_mode\": \"set\"}","type":"text"}]}}},{"name":"Photo editor — all in one (photo)","event":[{"listen":"test","script":{"type":"text/javascript","exec":["const b = pm.response.json();","if (pm.response.code >= 400) {","  pm.test(`refused: HTTP ${pm.response.code} — ${JSON.stringify(b.detail)}`, () => pm.expect.fail(JSON.stringify(b.detail)));","} else {","  pm.collectionVariables.set(\"mp_job_id\", b.id);","  pm.test(\"job accepted — now send request 2 until status is done\", () => pm.expect(b.id).to.be.a(\"string\"));","}"]}}],"request":{"method":"POST","header":[{"key":"X-Api-Key","value":"{{mp_api_key}}"}],"url":"{{mp_base_url}}/api/v1/jobs/upload","description":"Pick your file in the Body tab (the 'file' row), then Send. Change what happens by editing the 'params' row — nothing else moves.","body":{"mode":"formdata","formdata":[{"key":"file","type":"file","description":"Pick your file here"},{"key":"service_slug","value":"photoconvert","type":"text"},{"key":"operation_key","value":"edit","type":"text"},{"key":"params","value":"{}","type":"text"}]}}},{"name":"Crop to shape (photo)","event":[{"listen":"test","script":{"type":"text/javascript","exec":["const b = pm.response.json();","if (pm.response.code >= 400) {","  pm.test(`refused: HTTP ${pm.response.code} — ${JSON.stringify(b.detail)}`, () => pm.expect.fail(JSON.stringify(b.detail)));","} else {","  pm.collectionVariables.set(\"mp_job_id\", b.id);","  pm.test(\"job accepted — now send request 2 until status is done\", () => pm.expect(b.id).to.be.a(\"string\"));","}"]}}],"request":{"method":"POST","header":[{"key":"X-Api-Key","value":"{{mp_api_key}}"}],"url":"{{mp_base_url}}/api/v1/jobs/upload","description":"Pick your file in the Body tab (the 'file' row), then Send. Change what happens by editing the 'params' row — nothing else moves.","body":{"mode":"formdata","formdata":[{"key":"file","type":"file","description":"Pick your file here"},{"key":"service_slug","value":"photoconvert","type":"text"},{"key":"operation_key","value":"crop","type":"text"},{"key":"params","value":"{\"crop_aspect\": \"1:1\"}","type":"text"}]}}},{"name":"Rotate & flip (photo)","event":[{"listen":"test","script":{"type":"text/javascript","exec":["const b = pm.response.json();","if (pm.response.code >= 400) {","  pm.test(`refused: HTTP ${pm.response.code} — ${JSON.stringify(b.detail)}`, () => pm.expect.fail(JSON.stringify(b.detail)));","} else {","  pm.collectionVariables.set(\"mp_job_id\", b.id);","  pm.test(\"job accepted — now send request 2 until status is done\", () => pm.expect(b.id).to.be.a(\"string\"));","}"]}}],"request":{"method":"POST","header":[{"key":"X-Api-Key","value":"{{mp_api_key}}"}],"url":"{{mp_base_url}}/api/v1/jobs/upload","description":"Pick your file in the Body tab (the 'file' row), then Send. Change what happens by editing the 'params' row — nothing else moves.","body":{"mode":"formdata","formdata":[{"key":"file","type":"file","description":"Pick your file here"},{"key":"service_slug","value":"photoconvert","type":"text"},{"key":"operation_key","value":"transform","type":"text"},{"key":"params","value":"{\"rotate\": 270}","type":"text"}]}}},{"name":"Enhance / filters (photo)","event":[{"listen":"test","script":{"type":"text/javascript","exec":["const b = pm.response.json();","if (pm.response.code >= 400) {","  pm.test(`refused: HTTP ${pm.response.code} — ${JSON.stringify(b.detail)}`, () => pm.expect.fail(JSON.stringify(b.detail)));","} else {","  pm.collectionVariables.set(\"mp_job_id\", b.id);","  pm.test(\"job accepted — now send request 2 until status is done\", () => pm.expect(b.id).to.be.a(\"string\"));","}"]}}],"request":{"method":"POST","header":[{"key":"X-Api-Key","value":"{{mp_api_key}}"}],"url":"{{mp_base_url}}/api/v1/jobs/upload","description":"Pick your file in the Body tab (the 'file' row), then Send. Change what happens by editing the 'params' row — nothing else moves.","body":{"mode":"formdata","formdata":[{"key":"file","type":"file","description":"Pick your file here"},{"key":"service_slug","value":"photoconvert","type":"text"},{"key":"operation_key","value":"enhance","type":"text"},{"key":"params","value":"{\"autocontrast\": true}","type":"text"}]}}},{"name":"Optimize for web (photo)","event":[{"listen":"test","script":{"type":"text/javascript","exec":["const b = pm.response.json();","if (pm.response.code >= 400) {","  pm.test(`refused: HTTP ${pm.response.code} — ${JSON.stringify(b.detail)}`, () => pm.expect.fail(JSON.stringify(b.detail)));","} else {","  pm.collectionVariables.set(\"mp_job_id\", b.id);","  pm.test(\"job accepted — now send request 2 until status is done\", () => pm.expect(b.id).to.be.a(\"string\"));","}"]}}],"request":{"method":"POST","header":[{"key":"X-Api-Key","value":"{{mp_api_key}}"}],"url":"{{mp_base_url}}/api/v1/jobs/upload","description":"Pick your file in the Body tab (the 'file' row), then Send. Change what happens by editing the 'params' row — nothing else moves.","body":{"mode":"formdata","formdata":[{"key":"file","type":"file","description":"Pick your file here"},{"key":"service_slug","value":"photoconvert","type":"text"},{"key":"operation_key","value":"web_optimize","type":"text"},{"key":"params","value":"{\"format\": \"jpeg\", \"quality\": 82, \"strip_metadata\": true, \"strip_gps\": true}","type":"text"}]}}},{"name":"Social media sizes (photo)","event":[{"listen":"test","script":{"type":"text/javascript","exec":["const b = pm.response.json();","if (pm.response.code >= 400) {","  pm.test(`refused: HTTP ${pm.response.code} — ${JSON.stringify(b.detail)}`, () => pm.expect.fail(JSON.stringify(b.detail)));","} else {","  pm.collectionVariables.set(\"mp_job_id\", b.id);","  pm.test(\"job accepted — now send request 2 until status is done\", () => pm.expect(b.id).to.be.a(\"string\"));","}"]}}],"request":{"method":"POST","header":[{"key":"X-Api-Key","value":"{{mp_api_key}}"}],"url":"{{mp_base_url}}/api/v1/jobs/upload","description":"Pick your file in the Body tab (the 'file' row), then Send. Change what happens by editing the 'params' row — nothing else moves.","body":{"mode":"formdata","formdata":[{"key":"file","type":"file","description":"Pick your file here"},{"key":"service_slug","value":"photoconvert","type":"text"},{"key":"operation_key","value":"social","type":"text"},{"key":"params","value":"{\"width\": 1080, \"height\": 1350, \"resize_mode\": \"fill\"}","type":"text"}]}}},{"name":"Watermark (photo)","event":[{"listen":"test","script":{"type":"text/javascript","exec":["const b = pm.response.json();","if (pm.response.code >= 400) {","  pm.test(`refused: HTTP ${pm.response.code} — ${JSON.stringify(b.detail)}`, () => pm.expect.fail(JSON.stringify(b.detail)));","} else {","  pm.collectionVariables.set(\"mp_job_id\", b.id);","  pm.test(\"job accepted — now send request 2 until status is done\", () => pm.expect(b.id).to.be.a(\"string\"));","}"]}}],"request":{"method":"POST","header":[{"key":"X-Api-Key","value":"{{mp_api_key}}"}],"url":"{{mp_base_url}}/api/v1/jobs/upload","description":"Pick your file in the Body tab (the 'file' row), then Send. Change what happens by editing the 'params' row — nothing else moves.","body":{"mode":"formdata","formdata":[{"key":"file","type":"file","description":"Pick your file here"},{"key":"service_slug","value":"photoconvert","type":"text"},{"key":"operation_key","value":"watermark","type":"text"},{"key":"params","value":"{}","type":"text"}]}}},{"name":"Circle crop (avatar) (photo)","event":[{"listen":"test","script":{"type":"text/javascript","exec":["const b = pm.response.json();","if (pm.response.code >= 400) {","  pm.test(`refused: HTTP ${pm.response.code} — ${JSON.stringify(b.detail)}`, () => pm.expect.fail(JSON.stringify(b.detail)));","} else {","  pm.collectionVariables.set(\"mp_job_id\", b.id);","  pm.test(\"job accepted — now send request 2 until status is done\", () => pm.expect(b.id).to.be.a(\"string\"));","}"]}}],"request":{"method":"POST","header":[{"key":"X-Api-Key","value":"{{mp_api_key}}"}],"url":"{{mp_base_url}}/api/v1/jobs/upload","description":"Pick your file in the Body tab (the 'file' row), then Send. Change what happens by editing the 'params' row — nothing else moves.","body":{"mode":"formdata","formdata":[{"key":"file","type":"file","description":"Pick your file here"},{"key":"service_slug","value":"photoconvert","type":"text"},{"key":"operation_key","value":"circle","type":"text"},{"key":"params","value":"{\"bg_color\": \"#ffffff\"}","type":"text"}]}}},{"name":"Photos → PDF (pdf)","event":[{"listen":"test","script":{"type":"text/javascript","exec":["const b = pm.response.json();","if (pm.response.code >= 400) {","  pm.test(`refused: HTTP ${pm.response.code} — ${JSON.stringify(b.detail)}`, () => pm.expect.fail(JSON.stringify(b.detail)));","} else {","  pm.collectionVariables.set(\"mp_job_id\", b.id);","  pm.test(\"job accepted — now send request 2 until status is done\", () => pm.expect(b.id).to.be.a(\"string\"));","}"]}}],"request":{"method":"POST","header":[{"key":"X-Api-Key","value":"{{mp_api_key}}"}],"url":"{{mp_base_url}}/api/v1/jobs/upload","description":"Pick your files in the Body tab (one per 'files' row, in order), then Send. Change what happens by editing the 'params' row — nothing else moves.","body":{"mode":"formdata","formdata":[{"key":"files","type":"file","description":"First file (add more 'files' rows for more)"},{"key":"files","type":"file","description":"Second file — same key, in order"},{"key":"service_slug","value":"docconvert","type":"text"},{"key":"operation_key","value":"images_to_pdf","type":"text"},{"key":"params","value":"{\"page_size\": \"fit\"}","type":"text"}]}}},{"name":"Merge PDFs (pdf)","event":[{"listen":"test","script":{"type":"text/javascript","exec":["const b = pm.response.json();","if (pm.response.code >= 400) {","  pm.test(`refused: HTTP ${pm.response.code} — ${JSON.stringify(b.detail)}`, () => pm.expect.fail(JSON.stringify(b.detail)));","} else {","  pm.collectionVariables.set(\"mp_job_id\", b.id);","  pm.test(\"job accepted — now send request 2 until status is done\", () => pm.expect(b.id).to.be.a(\"string\"));","}"]}}],"request":{"method":"POST","header":[{"key":"X-Api-Key","value":"{{mp_api_key}}"}],"url":"{{mp_base_url}}/api/v1/jobs/upload","description":"Pick your files in the Body tab (one per 'files' row, in order), then Send. Change what happens by editing the 'params' row — nothing else moves.","body":{"mode":"formdata","formdata":[{"key":"files","type":"file","description":"First file (add more 'files' rows for more)"},{"key":"files","type":"file","description":"Second file — same key, in order"},{"key":"service_slug","value":"docconvert","type":"text"},{"key":"operation_key","value":"merge_pdfs","type":"text"},{"key":"params","value":"{}","type":"text"}]}}},{"name":"Compress PDF (pdf)","event":[{"listen":"test","script":{"type":"text/javascript","exec":["const b = pm.response.json();","if (pm.response.code >= 400) {","  pm.test(`refused: HTTP ${pm.response.code} — ${JSON.stringify(b.detail)}`, () => pm.expect.fail(JSON.stringify(b.detail)));","} else {","  pm.collectionVariables.set(\"mp_job_id\", b.id);","  pm.test(\"job accepted — now send request 2 until status is done\", () => pm.expect(b.id).to.be.a(\"string\"));","}"]}}],"request":{"method":"POST","header":[{"key":"X-Api-Key","value":"{{mp_api_key}}"}],"url":"{{mp_base_url}}/api/v1/jobs/upload","description":"Pick your file in the Body tab (the 'file' row), then Send. Change what happens by editing the 'params' row — nothing else moves.","body":{"mode":"formdata","formdata":[{"key":"file","type":"file","description":"Pick your file here"},{"key":"service_slug","value":"docconvert","type":"text"},{"key":"operation_key","value":"compress_pdf","type":"text"},{"key":"params","value":"{\"level\": \"medium\"}","type":"text"}]}}},{"name":"PDF → images (pdf)","event":[{"listen":"test","script":{"type":"text/javascript","exec":["const b = pm.response.json();","if (pm.response.code >= 400) {","  pm.test(`refused: HTTP ${pm.response.code} — ${JSON.stringify(b.detail)}`, () => pm.expect.fail(JSON.stringify(b.detail)));","} else {","  pm.collectionVariables.set(\"mp_job_id\", b.id);","  pm.test(\"job accepted — now send request 2 until status is done\", () => pm.expect(b.id).to.be.a(\"string\"));","}"]}}],"request":{"method":"POST","header":[{"key":"X-Api-Key","value":"{{mp_api_key}}"}],"url":"{{mp_base_url}}/api/v1/jobs/upload","description":"Pick your file in the Body tab (the 'file' row), then Send. Change what happens by editing the 'params' row — nothing else moves.","body":{"mode":"formdata","formdata":[{"key":"file","type":"file","description":"Pick your file here"},{"key":"service_slug","value":"docconvert","type":"text"},{"key":"operation_key","value":"pdf_to_images","type":"text"},{"key":"params","value":"{\"format\": \"jpg\", \"dpi\": 150}","type":"text"}]}}},{"name":"PDF → text (pdf)","event":[{"listen":"test","script":{"type":"text/javascript","exec":["const b = pm.response.json();","if (pm.response.code >= 400) {","  pm.test(`refused: HTTP ${pm.response.code} — ${JSON.stringify(b.detail)}`, () => pm.expect.fail(JSON.stringify(b.detail)));","} else {","  pm.collectionVariables.set(\"mp_job_id\", b.id);","  pm.test(\"job accepted — now send request 2 until status is done\", () => pm.expect(b.id).to.be.a(\"string\"));","}"]}}],"request":{"method":"POST","header":[{"key":"X-Api-Key","value":"{{mp_api_key}}"}],"url":"{{mp_base_url}}/api/v1/jobs/upload","description":"Pick your file in the Body tab (the 'file' row), then Send. Change what happens by editing the 'params' row — nothing else moves.","body":{"mode":"formdata","formdata":[{"key":"file","type":"file","description":"Pick your file here"},{"key":"service_slug","value":"docconvert","type":"text"},{"key":"operation_key","value":"pdf_to_text","type":"text"},{"key":"params","value":"{}","type":"text"}]}}}]},{"name":"2. Check the status","event":[{"listen":"test","script":{"type":"text/javascript","exec":["const url = pm.variables.replaceIn('{{mp_base_url}}/api/v1/jobs/{{mp_job_id}}');","const headers = { 'X-Api-Key': pm.variables.replaceIn('{{mp_api_key}}') };","const finish = (b) => {","  if (b.status === 'done') pm.collectionVariables.set('mp_output_url', b.result.output_url);","  const note = b.status === 'done' ? ' — send request 3 to download'","    : b.status === 'failed' ? ' — ' + b.error : '';","  pm.test(`status: ${b.status}${note}`, () => pm.expect(b.status).to.equal('done'));","};","const poll = (left) => pm.sendRequest({ url, method: 'GET', header: headers }, (err, res) => {","  const b = err ? null : res.json();","  if (!b) return pm.test('poll failed: ' + err, () => pm.expect.fail(String(err)));","  if (['done', 'failed', 'canceled'].includes(b.status) || left <= 0) return finish(b);","  setTimeout(() => poll(left - 1), 3000);","});","const first = pm.response.json();","if (!pm.variables.replaceIn('{{mp_job_id}}')) {","  pm.test('no job_id yet — send request 1 first', () => pm.expect.fail('job_id is empty'));","} else if (['done', 'failed', 'canceled'].includes(first.status)) finish(first); else poll(200);"]}}],"request":{"method":"GET","header":[{"key":"X-Api-Key","value":"{{mp_api_key}}"}],"url":"{{mp_base_url}}/api/v1/jobs/{{mp_job_id}}","description":"Send once: the script keeps checking every 3 seconds until the status is done / failed / canceled (up to ~10 minutes). On done, result.output_url is saved as {{mp_output_url}} — then send request 3."}},{"name":"3. Download the result","request":{"method":"GET","header":[],"url":"{{mp_output_url}}","description":"Send, then Save Response -> Save to a file."}}]}