[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-runway-rw-integrate-uploads":3,"mdc--h13isg-key":32,"related-org-runway-rw-integrate-uploads":4514,"related-repo-runway-rw-integrate-uploads":4684},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":12,"stars":21,"repoUrl":22,"updatedAt":23,"license":24,"forks":25,"topics":26,"repo":27,"sourceUrl":30,"mdContent":31},"rw-integrate-uploads","upload local files to Runway","Help users upload local files to Runway for use as inputs to generation models",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},"runway","Runway","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Frunway.png","runwayml",[13,17,18],{"name":14,"slug":15,"type":16},"File Uploads","file-uploads","tag",{"name":9,"slug":8,"type":16},{"name":19,"slug":20,"type":16},"API Development","api-development",57,"https:\u002F\u002Fgithub.com\u002Frunwayml\u002Fskills","2026-04-08T04:42:03.732618",null,15,[],{"repoUrl":22,"stars":21,"forks":25,"topics":28,"description":29},[],"for Runway coding agent skills","https:\u002F\u002Fgithub.com\u002Frunwayml\u002Fskills\u002Ftree\u002FHEAD\u002Fskills\u002Frw-integrate-uploads","---\nname: rw-integrate-uploads\ndescription: \"Help users upload local files to Runway for use as inputs to generation models\"\nuser-invocable: false\nallowed-tools: Read, Grep, Glob, Edit, Write\n---\n\n# Integrate Uploads\n\n> **PREREQUISITE:** Run `+rw-check-compatibility` first. Run `+rw-fetch-api-reference` to load the latest API reference before integrating. Requires `+rw-setup-api-key` for API credentials.\n\nHelp users upload local files (images, videos, audio) to Runway's ephemeral storage for use as inputs to generation models.\n\n## When to Use Uploads\n\nUse the Uploads API when:\n- The user has a **local file** (not a public URL) they want to use as input\n- The file exceeds **data URI size limits** (5 MB for images, 16 MB for video\u002Faudio)\n- The file's URL doesn't meet Runway's **URL requirements** (HTTPS, proper headers, no redirects)\n\n**You do NOT need uploads when:**\n- The asset is already at a public HTTPS URL with proper headers\n- The asset is small enough for a data URI (\u003C 5 MB image, \u003C 16 MB video)\n\n## How It Works\n\n1. Request an ephemeral upload slot → get a presigned upload URL and form fields\n2. Upload the file to the presigned URL\n3. Use the returned `runway:\u002F\u002F` URI as input to any generation endpoint\n\n**`runway:\u002F\u002F` URIs are valid for 24 hours.**\n\n## SDK Upload (Recommended)\n\n### Node.js\n\n```javascript\nimport RunwayML from '@runwayml\u002Fsdk';\nimport fs from 'fs';\n\nconst client = new RunwayML();\n\n\u002F\u002F Upload from a file stream\nconst upload = await client.uploads.createEphemeral(\n  fs.createReadStream('\u002Fpath\u002Fto\u002Fimage.jpg')\n);\n\n\u002F\u002F Use the runway:\u002F\u002F URI in any generation call\nconst task = await client.imageToVideo.create({\n  model: 'gen4.5',\n  promptImage: upload.runwayUri,\n  promptText: 'The scene comes to life',\n  ratio: '1280:720',\n  duration: 5\n}).waitForTaskOutput();\n```\n\nThe Node.js SDK accepts:\n- `fs.ReadStream` — file streams\n- `File` objects — from web APIs\n- `Blob` objects\n- `Buffer` \u002F `ArrayBuffer` \u002F typed arrays\n- `Response` objects — from `fetch()`\n- Async iterables\n\n### Python\n\n```python\nfrom runwayml import RunwayML\nfrom pathlib import Path\n\nclient = RunwayML()\n\n# Upload from a file path\nupload = client.uploads.create_ephemeral(\n    Path('\u002Fpath\u002Fto\u002Fimage.jpg')\n)\n\n# Use the runway:\u002F\u002F URI\ntask = client.image_to_video.create(\n    model='gen4.5',\n    prompt_image=upload.runway_uri,\n    prompt_text='The scene comes to life',\n    ratio='1280:720',\n    duration=5\n).wait_for_task_output()\n```\n\nThe Python SDK accepts:\n- `pathlib.Path` objects\n- `IOBase` objects (file-like objects)\n- Two-tuples of `(filename, content)`\n\n## REST API Upload (Manual)\n\nIf not using the SDK, the upload flow has three steps:\n\n### Step 1: Create an upload slot\n\n```javascript\nconst response = await fetch('https:\u002F\u002Fapi.dev.runwayml.com\u002Fv1\u002Fuploads', {\n  method: 'POST',\n  headers: {\n    'Authorization': `Bearer ${process.env.RUNWAYML_API_SECRET}`,\n    'X-Runway-Version': '2024-11-06',\n    'Content-Type': 'application\u002Fjson'\n  },\n  body: JSON.stringify({\n    filename: 'image.jpg',\n    type: 'ephemeral'\n  })\n});\n\nconst { uploadUrl, fields, runwayUri } = await response.json();\n```\n\n### Step 2: Upload the file using the presigned URL\n\n```javascript\nconst formData = new FormData();\n\n\u002F\u002F Add all presigned form fields first\nfor (const [key, value] of Object.entries(fields)) {\n  formData.append(key, value);\n}\n\n\u002F\u002F Add the file last\nformData.append('file', fileBuffer, 'image.jpg');\n\nawait fetch(uploadUrl, {\n  method: 'POST',\n  body: formData\n});\n```\n\n### Step 3: Use the `runway:\u002F\u002F` URI\n\n```javascript\nconst task = await fetch('https:\u002F\u002Fapi.dev.runwayml.com\u002Fv1\u002Fimage_to_video', {\n  method: 'POST',\n  headers: {\n    'Authorization': `Bearer ${process.env.RUNWAYML_API_SECRET}`,\n    'X-Runway-Version': '2024-11-06',\n    'Content-Type': 'application\u002Fjson'\n  },\n  body: JSON.stringify({\n    model: 'gen4.5',\n    promptImage: runwayUri,\n    promptText: 'Animate this scene',\n    ratio: '1280:720',\n    duration: 5\n  })\n});\n```\n\n## Upload Constraints\n\n| Constraint | Value |\n|-----------|-------|\n| Minimum file size | 512 bytes |\n| Maximum file size | 200 MB |\n| URI validity | 24 hours |\n| Requires credits | Yes (must have purchased credits) |\n\n## Integration Pattern\n\n### Express.js — Upload Endpoint with File Generation\n\n```javascript\nimport RunwayML from '@runwayml\u002Fsdk';\nimport express from 'express';\nimport multer from 'multer';\n\nconst client = new RunwayML();\nconst app = express();\nconst upload = multer({ storage: multer.memoryStorage() });\n\napp.post('\u002Fapi\u002Fimage-to-video', upload.single('image'), async (req, res) => {\n  try {\n    \u002F\u002F Upload the user's file to Runway\n    const runwayUpload = await client.uploads.createEphemeral(req.file.buffer);\n\n    \u002F\u002F Use the uploaded file for video generation\n    const task = await client.imageToVideo.create({\n      model: 'gen4.5',\n      promptImage: runwayUpload.runwayUri,\n      promptText: req.body.prompt || 'Animate this image',\n      ratio: '1280:720',\n      duration: 5\n    }).waitForTaskOutput();\n\n    res.json({ videoUrl: task.output[0] });\n  } catch (error) {\n    console.error('Generation failed:', error);\n    res.status(500).json({ error: error.message });\n  }\n});\n```\n\n### Next.js — Upload + Generate\n\n```typescript\n\u002F\u002F app\u002Fapi\u002Fimage-to-video\u002Froute.ts\nimport RunwayML from '@runwayml\u002Fsdk';\nimport { NextRequest, NextResponse } from 'next\u002Fserver';\n\nconst client = new RunwayML();\n\nexport async function POST(request: NextRequest) {\n  const formData = await request.formData();\n  const imageFile = formData.get('image') as File;\n  const prompt = formData.get('prompt') as string;\n\n  try {\n    \u002F\u002F Upload file to Runway\n    const upload = await client.uploads.createEphemeral(imageFile);\n\n    \u002F\u002F Generate video from the uploaded image\n    const task = await client.imageToVideo.create({\n      model: 'gen4.5',\n      promptImage: upload.runwayUri,\n      promptText: prompt || 'Animate this image',\n      ratio: '1280:720',\n      duration: 5\n    }).waitForTaskOutput();\n\n    return NextResponse.json({ videoUrl: task.output[0] });\n  } catch (error) {\n    return NextResponse.json(\n      { error: error instanceof Error ? error.message : 'Failed' },\n      { status: 500 }\n    );\n  }\n}\n```\n\n### FastAPI — Upload + Generate\n\n```python\nfrom fastapi import FastAPI, UploadFile, Form, HTTPException\nfrom runwayml import RunwayML\n\napp = FastAPI()\nclient = RunwayML()\n\n@app.post(\"\u002Fapi\u002Fimage-to-video\")\nasync def image_to_video(image: UploadFile, prompt: str = Form(\"Animate this image\")):\n    try:\n        # Upload to Runway\n        content = await image.read()\n        upload = client.uploads.create_ephemeral((image.filename, content))\n\n        # Generate video\n        task = client.image_to_video.create(\n            model=\"gen4.5\",\n            prompt_image=upload.runway_uri,\n            prompt_text=prompt,\n            ratio=\"1280:720\",\n            duration=5\n        ).wait_for_task_output()\n\n        return {\"video_url\": task.output[0]}\n    except Exception as e:\n        raise HTTPException(status_code=500, detail=str(e))\n```\n\n## Tips\n\n- **Always upload local files** before passing them to generation endpoints. Don't try to pass local file paths — they won't work.\n- **`runway:\u002F\u002F` URIs expire after 24 hours.** If you need to re-use an asset, upload it again.\n- **The SDK handles the presigned URL flow automatically** — prefer the SDK over manual REST calls.\n- **For models requiring image\u002Fvideo input** (image-to-video, video-to-video, character performance), upload the asset first, then pass the `runway:\u002F\u002F` URI.\n- **Maximum 200 MB per file** via uploads — larger than URL (16 MB) or data URI (5 MB) limits.\n",{"data":33,"body":36},{"name":4,"description":6,"user-invocable":34,"allowed-tools":35},false,"Read, Grep, Glob, Edit, Write",{"type":37,"children":38},"root",[39,48,89,94,101,106,147,155,168,174,201,214,220,227,731,736,813,819,967,972,1007,1013,1018,1024,1467,1473,1817,1830,2238,2244,2324,2330,2336,3309,3315,4230,4236,4437,4443,4508],{"type":40,"tag":41,"props":42,"children":44},"element","h1",{"id":43},"integrate-uploads",[45],{"type":46,"value":47},"text","Integrate Uploads",{"type":40,"tag":49,"props":50,"children":51},"blockquote",{},[52],{"type":40,"tag":53,"props":54,"children":55},"p",{},[56,62,64,71,73,79,81,87],{"type":40,"tag":57,"props":58,"children":59},"strong",{},[60],{"type":46,"value":61},"PREREQUISITE:",{"type":46,"value":63}," Run ",{"type":40,"tag":65,"props":66,"children":68},"code",{"className":67},[],[69],{"type":46,"value":70},"+rw-check-compatibility",{"type":46,"value":72}," first. Run ",{"type":40,"tag":65,"props":74,"children":76},{"className":75},[],[77],{"type":46,"value":78},"+rw-fetch-api-reference",{"type":46,"value":80}," to load the latest API reference before integrating. Requires ",{"type":40,"tag":65,"props":82,"children":84},{"className":83},[],[85],{"type":46,"value":86},"+rw-setup-api-key",{"type":46,"value":88}," for API credentials.",{"type":40,"tag":53,"props":90,"children":91},{},[92],{"type":46,"value":93},"Help users upload local files (images, videos, audio) to Runway's ephemeral storage for use as inputs to generation models.",{"type":40,"tag":95,"props":96,"children":98},"h2",{"id":97},"when-to-use-uploads",[99],{"type":46,"value":100},"When to Use Uploads",{"type":40,"tag":53,"props":102,"children":103},{},[104],{"type":46,"value":105},"Use the Uploads API when:",{"type":40,"tag":107,"props":108,"children":109},"ul",{},[110,123,135],{"type":40,"tag":111,"props":112,"children":113},"li",{},[114,116,121],{"type":46,"value":115},"The user has a ",{"type":40,"tag":57,"props":117,"children":118},{},[119],{"type":46,"value":120},"local file",{"type":46,"value":122}," (not a public URL) they want to use as input",{"type":40,"tag":111,"props":124,"children":125},{},[126,128,133],{"type":46,"value":127},"The file exceeds ",{"type":40,"tag":57,"props":129,"children":130},{},[131],{"type":46,"value":132},"data URI size limits",{"type":46,"value":134}," (5 MB for images, 16 MB for video\u002Faudio)",{"type":40,"tag":111,"props":136,"children":137},{},[138,140,145],{"type":46,"value":139},"The file's URL doesn't meet Runway's ",{"type":40,"tag":57,"props":141,"children":142},{},[143],{"type":46,"value":144},"URL requirements",{"type":46,"value":146}," (HTTPS, proper headers, no redirects)",{"type":40,"tag":53,"props":148,"children":149},{},[150],{"type":40,"tag":57,"props":151,"children":152},{},[153],{"type":46,"value":154},"You do NOT need uploads when:",{"type":40,"tag":107,"props":156,"children":157},{},[158,163],{"type":40,"tag":111,"props":159,"children":160},{},[161],{"type":46,"value":162},"The asset is already at a public HTTPS URL with proper headers",{"type":40,"tag":111,"props":164,"children":165},{},[166],{"type":46,"value":167},"The asset is small enough for a data URI (\u003C 5 MB image, \u003C 16 MB video)",{"type":40,"tag":95,"props":169,"children":171},{"id":170},"how-it-works",[172],{"type":46,"value":173},"How It Works",{"type":40,"tag":175,"props":176,"children":177},"ol",{},[178,183,188],{"type":40,"tag":111,"props":179,"children":180},{},[181],{"type":46,"value":182},"Request an ephemeral upload slot → get a presigned upload URL and form fields",{"type":40,"tag":111,"props":184,"children":185},{},[186],{"type":46,"value":187},"Upload the file to the presigned URL",{"type":40,"tag":111,"props":189,"children":190},{},[191,193,199],{"type":46,"value":192},"Use the returned ",{"type":40,"tag":65,"props":194,"children":196},{"className":195},[],[197],{"type":46,"value":198},"runway:\u002F\u002F",{"type":46,"value":200}," URI as input to any generation endpoint",{"type":40,"tag":53,"props":202,"children":203},{},[204],{"type":40,"tag":57,"props":205,"children":206},{},[207,212],{"type":40,"tag":65,"props":208,"children":210},{"className":209},[],[211],{"type":46,"value":198},{"type":46,"value":213}," URIs are valid for 24 hours.",{"type":40,"tag":95,"props":215,"children":217},{"id":216},"sdk-upload-recommended",[218],{"type":46,"value":219},"SDK Upload (Recommended)",{"type":40,"tag":221,"props":222,"children":224},"h3",{"id":223},"nodejs",[225],{"type":46,"value":226},"Node.js",{"type":40,"tag":228,"props":229,"children":234},"pre",{"className":230,"code":231,"language":232,"meta":233,"style":233},"language-javascript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import RunwayML from '@runwayml\u002Fsdk';\nimport fs from 'fs';\n\nconst client = new RunwayML();\n\n\u002F\u002F Upload from a file stream\nconst upload = await client.uploads.createEphemeral(\n  fs.createReadStream('\u002Fpath\u002Fto\u002Fimage.jpg')\n);\n\n\u002F\u002F Use the runway:\u002F\u002F URI in any generation call\nconst task = await client.imageToVideo.create({\n  model: 'gen4.5',\n  promptImage: upload.runwayUri,\n  promptText: 'The scene comes to life',\n  ratio: '1280:720',\n  duration: 5\n}).waitForTaskOutput();\n","javascript","",[235],{"type":40,"tag":65,"props":236,"children":237},{"__ignoreMap":233},[238,283,317,327,367,375,385,436,477,490,498,507,559,592,623,652,682,701],{"type":40,"tag":239,"props":240,"children":243},"span",{"class":241,"line":242},"line",1,[244,250,256,261,267,273,278],{"type":40,"tag":239,"props":245,"children":247},{"style":246},"--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic",[248],{"type":46,"value":249},"import",{"type":40,"tag":239,"props":251,"children":253},{"style":252},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[254],{"type":46,"value":255}," RunwayML ",{"type":40,"tag":239,"props":257,"children":258},{"style":246},[259],{"type":46,"value":260},"from",{"type":40,"tag":239,"props":262,"children":264},{"style":263},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[265],{"type":46,"value":266}," '",{"type":40,"tag":239,"props":268,"children":270},{"style":269},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[271],{"type":46,"value":272},"@runwayml\u002Fsdk",{"type":40,"tag":239,"props":274,"children":275},{"style":263},[276],{"type":46,"value":277},"'",{"type":40,"tag":239,"props":279,"children":280},{"style":263},[281],{"type":46,"value":282},";\n",{"type":40,"tag":239,"props":284,"children":286},{"class":241,"line":285},2,[287,291,296,300,304,309,313],{"type":40,"tag":239,"props":288,"children":289},{"style":246},[290],{"type":46,"value":249},{"type":40,"tag":239,"props":292,"children":293},{"style":252},[294],{"type":46,"value":295}," fs ",{"type":40,"tag":239,"props":297,"children":298},{"style":246},[299],{"type":46,"value":260},{"type":40,"tag":239,"props":301,"children":302},{"style":263},[303],{"type":46,"value":266},{"type":40,"tag":239,"props":305,"children":306},{"style":269},[307],{"type":46,"value":308},"fs",{"type":40,"tag":239,"props":310,"children":311},{"style":263},[312],{"type":46,"value":277},{"type":40,"tag":239,"props":314,"children":315},{"style":263},[316],{"type":46,"value":282},{"type":40,"tag":239,"props":318,"children":320},{"class":241,"line":319},3,[321],{"type":40,"tag":239,"props":322,"children":324},{"emptyLinePlaceholder":323},true,[325],{"type":46,"value":326},"\n",{"type":40,"tag":239,"props":328,"children":330},{"class":241,"line":329},4,[331,337,342,347,352,358,363],{"type":40,"tag":239,"props":332,"children":334},{"style":333},"--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA",[335],{"type":46,"value":336},"const",{"type":40,"tag":239,"props":338,"children":339},{"style":252},[340],{"type":46,"value":341}," client ",{"type":40,"tag":239,"props":343,"children":344},{"style":263},[345],{"type":46,"value":346},"=",{"type":40,"tag":239,"props":348,"children":349},{"style":263},[350],{"type":46,"value":351}," new",{"type":40,"tag":239,"props":353,"children":355},{"style":354},"--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF",[356],{"type":46,"value":357}," RunwayML",{"type":40,"tag":239,"props":359,"children":360},{"style":252},[361],{"type":46,"value":362},"()",{"type":40,"tag":239,"props":364,"children":365},{"style":263},[366],{"type":46,"value":282},{"type":40,"tag":239,"props":368,"children":370},{"class":241,"line":369},5,[371],{"type":40,"tag":239,"props":372,"children":373},{"emptyLinePlaceholder":323},[374],{"type":46,"value":326},{"type":40,"tag":239,"props":376,"children":378},{"class":241,"line":377},6,[379],{"type":40,"tag":239,"props":380,"children":382},{"style":381},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[383],{"type":46,"value":384},"\u002F\u002F Upload from a file stream\n",{"type":40,"tag":239,"props":386,"children":388},{"class":241,"line":387},7,[389,393,398,402,407,412,417,422,426,431],{"type":40,"tag":239,"props":390,"children":391},{"style":333},[392],{"type":46,"value":336},{"type":40,"tag":239,"props":394,"children":395},{"style":252},[396],{"type":46,"value":397}," upload ",{"type":40,"tag":239,"props":399,"children":400},{"style":263},[401],{"type":46,"value":346},{"type":40,"tag":239,"props":403,"children":404},{"style":246},[405],{"type":46,"value":406}," await",{"type":40,"tag":239,"props":408,"children":409},{"style":252},[410],{"type":46,"value":411}," client",{"type":40,"tag":239,"props":413,"children":414},{"style":263},[415],{"type":46,"value":416},".",{"type":40,"tag":239,"props":418,"children":419},{"style":252},[420],{"type":46,"value":421},"uploads",{"type":40,"tag":239,"props":423,"children":424},{"style":263},[425],{"type":46,"value":416},{"type":40,"tag":239,"props":427,"children":428},{"style":354},[429],{"type":46,"value":430},"createEphemeral",{"type":40,"tag":239,"props":432,"children":433},{"style":252},[434],{"type":46,"value":435},"(\n",{"type":40,"tag":239,"props":437,"children":439},{"class":241,"line":438},8,[440,445,449,454,459,463,468,472],{"type":40,"tag":239,"props":441,"children":442},{"style":252},[443],{"type":46,"value":444},"  fs",{"type":40,"tag":239,"props":446,"children":447},{"style":263},[448],{"type":46,"value":416},{"type":40,"tag":239,"props":450,"children":451},{"style":354},[452],{"type":46,"value":453},"createReadStream",{"type":40,"tag":239,"props":455,"children":456},{"style":252},[457],{"type":46,"value":458},"(",{"type":40,"tag":239,"props":460,"children":461},{"style":263},[462],{"type":46,"value":277},{"type":40,"tag":239,"props":464,"children":465},{"style":269},[466],{"type":46,"value":467},"\u002Fpath\u002Fto\u002Fimage.jpg",{"type":40,"tag":239,"props":469,"children":470},{"style":263},[471],{"type":46,"value":277},{"type":40,"tag":239,"props":473,"children":474},{"style":252},[475],{"type":46,"value":476},")\n",{"type":40,"tag":239,"props":478,"children":480},{"class":241,"line":479},9,[481,486],{"type":40,"tag":239,"props":482,"children":483},{"style":252},[484],{"type":46,"value":485},")",{"type":40,"tag":239,"props":487,"children":488},{"style":263},[489],{"type":46,"value":282},{"type":40,"tag":239,"props":491,"children":493},{"class":241,"line":492},10,[494],{"type":40,"tag":239,"props":495,"children":496},{"emptyLinePlaceholder":323},[497],{"type":46,"value":326},{"type":40,"tag":239,"props":499,"children":501},{"class":241,"line":500},11,[502],{"type":40,"tag":239,"props":503,"children":504},{"style":381},[505],{"type":46,"value":506},"\u002F\u002F Use the runway:\u002F\u002F URI in any generation call\n",{"type":40,"tag":239,"props":508,"children":510},{"class":241,"line":509},12,[511,515,520,524,528,532,536,541,545,550,554],{"type":40,"tag":239,"props":512,"children":513},{"style":333},[514],{"type":46,"value":336},{"type":40,"tag":239,"props":516,"children":517},{"style":252},[518],{"type":46,"value":519}," task ",{"type":40,"tag":239,"props":521,"children":522},{"style":263},[523],{"type":46,"value":346},{"type":40,"tag":239,"props":525,"children":526},{"style":246},[527],{"type":46,"value":406},{"type":40,"tag":239,"props":529,"children":530},{"style":252},[531],{"type":46,"value":411},{"type":40,"tag":239,"props":533,"children":534},{"style":263},[535],{"type":46,"value":416},{"type":40,"tag":239,"props":537,"children":538},{"style":252},[539],{"type":46,"value":540},"imageToVideo",{"type":40,"tag":239,"props":542,"children":543},{"style":263},[544],{"type":46,"value":416},{"type":40,"tag":239,"props":546,"children":547},{"style":354},[548],{"type":46,"value":549},"create",{"type":40,"tag":239,"props":551,"children":552},{"style":252},[553],{"type":46,"value":458},{"type":40,"tag":239,"props":555,"children":556},{"style":263},[557],{"type":46,"value":558},"{\n",{"type":40,"tag":239,"props":560,"children":562},{"class":241,"line":561},13,[563,569,574,578,583,587],{"type":40,"tag":239,"props":564,"children":566},{"style":565},"--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178",[567],{"type":46,"value":568},"  model",{"type":40,"tag":239,"props":570,"children":571},{"style":263},[572],{"type":46,"value":573},":",{"type":40,"tag":239,"props":575,"children":576},{"style":263},[577],{"type":46,"value":266},{"type":40,"tag":239,"props":579,"children":580},{"style":269},[581],{"type":46,"value":582},"gen4.5",{"type":40,"tag":239,"props":584,"children":585},{"style":263},[586],{"type":46,"value":277},{"type":40,"tag":239,"props":588,"children":589},{"style":263},[590],{"type":46,"value":591},",\n",{"type":40,"tag":239,"props":593,"children":595},{"class":241,"line":594},14,[596,601,605,610,614,619],{"type":40,"tag":239,"props":597,"children":598},{"style":565},[599],{"type":46,"value":600},"  promptImage",{"type":40,"tag":239,"props":602,"children":603},{"style":263},[604],{"type":46,"value":573},{"type":40,"tag":239,"props":606,"children":607},{"style":252},[608],{"type":46,"value":609}," upload",{"type":40,"tag":239,"props":611,"children":612},{"style":263},[613],{"type":46,"value":416},{"type":40,"tag":239,"props":615,"children":616},{"style":252},[617],{"type":46,"value":618},"runwayUri",{"type":40,"tag":239,"props":620,"children":621},{"style":263},[622],{"type":46,"value":591},{"type":40,"tag":239,"props":624,"children":625},{"class":241,"line":25},[626,631,635,639,644,648],{"type":40,"tag":239,"props":627,"children":628},{"style":565},[629],{"type":46,"value":630},"  promptText",{"type":40,"tag":239,"props":632,"children":633},{"style":263},[634],{"type":46,"value":573},{"type":40,"tag":239,"props":636,"children":637},{"style":263},[638],{"type":46,"value":266},{"type":40,"tag":239,"props":640,"children":641},{"style":269},[642],{"type":46,"value":643},"The scene comes to life",{"type":40,"tag":239,"props":645,"children":646},{"style":263},[647],{"type":46,"value":277},{"type":40,"tag":239,"props":649,"children":650},{"style":263},[651],{"type":46,"value":591},{"type":40,"tag":239,"props":653,"children":655},{"class":241,"line":654},16,[656,661,665,669,674,678],{"type":40,"tag":239,"props":657,"children":658},{"style":565},[659],{"type":46,"value":660},"  ratio",{"type":40,"tag":239,"props":662,"children":663},{"style":263},[664],{"type":46,"value":573},{"type":40,"tag":239,"props":666,"children":667},{"style":263},[668],{"type":46,"value":266},{"type":40,"tag":239,"props":670,"children":671},{"style":269},[672],{"type":46,"value":673},"1280:720",{"type":40,"tag":239,"props":675,"children":676},{"style":263},[677],{"type":46,"value":277},{"type":40,"tag":239,"props":679,"children":680},{"style":263},[681],{"type":46,"value":591},{"type":40,"tag":239,"props":683,"children":685},{"class":241,"line":684},17,[686,691,695],{"type":40,"tag":239,"props":687,"children":688},{"style":565},[689],{"type":46,"value":690},"  duration",{"type":40,"tag":239,"props":692,"children":693},{"style":263},[694],{"type":46,"value":573},{"type":40,"tag":239,"props":696,"children":698},{"style":697},"--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C",[699],{"type":46,"value":700}," 5\n",{"type":40,"tag":239,"props":702,"children":704},{"class":241,"line":703},18,[705,710,714,718,723,727],{"type":40,"tag":239,"props":706,"children":707},{"style":263},[708],{"type":46,"value":709},"}",{"type":40,"tag":239,"props":711,"children":712},{"style":252},[713],{"type":46,"value":485},{"type":40,"tag":239,"props":715,"children":716},{"style":263},[717],{"type":46,"value":416},{"type":40,"tag":239,"props":719,"children":720},{"style":354},[721],{"type":46,"value":722},"waitForTaskOutput",{"type":40,"tag":239,"props":724,"children":725},{"style":252},[726],{"type":46,"value":362},{"type":40,"tag":239,"props":728,"children":729},{"style":263},[730],{"type":46,"value":282},{"type":40,"tag":53,"props":732,"children":733},{},[734],{"type":46,"value":735},"The Node.js SDK accepts:",{"type":40,"tag":107,"props":737,"children":738},{},[739,750,761,772,791,808],{"type":40,"tag":111,"props":740,"children":741},{},[742,748],{"type":40,"tag":65,"props":743,"children":745},{"className":744},[],[746],{"type":46,"value":747},"fs.ReadStream",{"type":46,"value":749}," — file streams",{"type":40,"tag":111,"props":751,"children":752},{},[753,759],{"type":40,"tag":65,"props":754,"children":756},{"className":755},[],[757],{"type":46,"value":758},"File",{"type":46,"value":760}," objects — from web APIs",{"type":40,"tag":111,"props":762,"children":763},{},[764,770],{"type":40,"tag":65,"props":765,"children":767},{"className":766},[],[768],{"type":46,"value":769},"Blob",{"type":46,"value":771}," objects",{"type":40,"tag":111,"props":773,"children":774},{},[775,781,783,789],{"type":40,"tag":65,"props":776,"children":778},{"className":777},[],[779],{"type":46,"value":780},"Buffer",{"type":46,"value":782}," \u002F ",{"type":40,"tag":65,"props":784,"children":786},{"className":785},[],[787],{"type":46,"value":788},"ArrayBuffer",{"type":46,"value":790}," \u002F typed arrays",{"type":40,"tag":111,"props":792,"children":793},{},[794,800,802],{"type":40,"tag":65,"props":795,"children":797},{"className":796},[],[798],{"type":46,"value":799},"Response",{"type":46,"value":801}," objects — from ",{"type":40,"tag":65,"props":803,"children":805},{"className":804},[],[806],{"type":46,"value":807},"fetch()",{"type":40,"tag":111,"props":809,"children":810},{},[811],{"type":46,"value":812},"Async iterables",{"type":40,"tag":221,"props":814,"children":816},{"id":815},"python",[817],{"type":46,"value":818},"Python",{"type":40,"tag":228,"props":820,"children":823},{"className":821,"code":822,"language":815,"meta":233,"style":233},"language-python shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","from runwayml import RunwayML\nfrom pathlib import Path\n\nclient = RunwayML()\n\n# Upload from a file path\nupload = client.uploads.create_ephemeral(\n    Path('\u002Fpath\u002Fto\u002Fimage.jpg')\n)\n\n# Use the runway:\u002F\u002F URI\ntask = client.image_to_video.create(\n    model='gen4.5',\n    prompt_image=upload.runway_uri,\n    prompt_text='The scene comes to life',\n    ratio='1280:720',\n    duration=5\n).wait_for_task_output()\n",[824],{"type":40,"tag":65,"props":825,"children":826},{"__ignoreMap":233},[827,835,843,850,858,865,873,881,889,896,903,911,919,927,935,943,951,959],{"type":40,"tag":239,"props":828,"children":829},{"class":241,"line":242},[830],{"type":40,"tag":239,"props":831,"children":832},{},[833],{"type":46,"value":834},"from runwayml import RunwayML\n",{"type":40,"tag":239,"props":836,"children":837},{"class":241,"line":285},[838],{"type":40,"tag":239,"props":839,"children":840},{},[841],{"type":46,"value":842},"from pathlib import Path\n",{"type":40,"tag":239,"props":844,"children":845},{"class":241,"line":319},[846],{"type":40,"tag":239,"props":847,"children":848},{"emptyLinePlaceholder":323},[849],{"type":46,"value":326},{"type":40,"tag":239,"props":851,"children":852},{"class":241,"line":329},[853],{"type":40,"tag":239,"props":854,"children":855},{},[856],{"type":46,"value":857},"client = RunwayML()\n",{"type":40,"tag":239,"props":859,"children":860},{"class":241,"line":369},[861],{"type":40,"tag":239,"props":862,"children":863},{"emptyLinePlaceholder":323},[864],{"type":46,"value":326},{"type":40,"tag":239,"props":866,"children":867},{"class":241,"line":377},[868],{"type":40,"tag":239,"props":869,"children":870},{},[871],{"type":46,"value":872},"# Upload from a file path\n",{"type":40,"tag":239,"props":874,"children":875},{"class":241,"line":387},[876],{"type":40,"tag":239,"props":877,"children":878},{},[879],{"type":46,"value":880},"upload = client.uploads.create_ephemeral(\n",{"type":40,"tag":239,"props":882,"children":883},{"class":241,"line":438},[884],{"type":40,"tag":239,"props":885,"children":886},{},[887],{"type":46,"value":888},"    Path('\u002Fpath\u002Fto\u002Fimage.jpg')\n",{"type":40,"tag":239,"props":890,"children":891},{"class":241,"line":479},[892],{"type":40,"tag":239,"props":893,"children":894},{},[895],{"type":46,"value":476},{"type":40,"tag":239,"props":897,"children":898},{"class":241,"line":492},[899],{"type":40,"tag":239,"props":900,"children":901},{"emptyLinePlaceholder":323},[902],{"type":46,"value":326},{"type":40,"tag":239,"props":904,"children":905},{"class":241,"line":500},[906],{"type":40,"tag":239,"props":907,"children":908},{},[909],{"type":46,"value":910},"# Use the runway:\u002F\u002F URI\n",{"type":40,"tag":239,"props":912,"children":913},{"class":241,"line":509},[914],{"type":40,"tag":239,"props":915,"children":916},{},[917],{"type":46,"value":918},"task = client.image_to_video.create(\n",{"type":40,"tag":239,"props":920,"children":921},{"class":241,"line":561},[922],{"type":40,"tag":239,"props":923,"children":924},{},[925],{"type":46,"value":926},"    model='gen4.5',\n",{"type":40,"tag":239,"props":928,"children":929},{"class":241,"line":594},[930],{"type":40,"tag":239,"props":931,"children":932},{},[933],{"type":46,"value":934},"    prompt_image=upload.runway_uri,\n",{"type":40,"tag":239,"props":936,"children":937},{"class":241,"line":25},[938],{"type":40,"tag":239,"props":939,"children":940},{},[941],{"type":46,"value":942},"    prompt_text='The scene comes to life',\n",{"type":40,"tag":239,"props":944,"children":945},{"class":241,"line":654},[946],{"type":40,"tag":239,"props":947,"children":948},{},[949],{"type":46,"value":950},"    ratio='1280:720',\n",{"type":40,"tag":239,"props":952,"children":953},{"class":241,"line":684},[954],{"type":40,"tag":239,"props":955,"children":956},{},[957],{"type":46,"value":958},"    duration=5\n",{"type":40,"tag":239,"props":960,"children":961},{"class":241,"line":703},[962],{"type":40,"tag":239,"props":963,"children":964},{},[965],{"type":46,"value":966},").wait_for_task_output()\n",{"type":40,"tag":53,"props":968,"children":969},{},[970],{"type":46,"value":971},"The Python SDK accepts:",{"type":40,"tag":107,"props":973,"children":974},{},[975,985,996],{"type":40,"tag":111,"props":976,"children":977},{},[978,984],{"type":40,"tag":65,"props":979,"children":981},{"className":980},[],[982],{"type":46,"value":983},"pathlib.Path",{"type":46,"value":771},{"type":40,"tag":111,"props":986,"children":987},{},[988,994],{"type":40,"tag":65,"props":989,"children":991},{"className":990},[],[992],{"type":46,"value":993},"IOBase",{"type":46,"value":995}," objects (file-like objects)",{"type":40,"tag":111,"props":997,"children":998},{},[999,1001],{"type":46,"value":1000},"Two-tuples of ",{"type":40,"tag":65,"props":1002,"children":1004},{"className":1003},[],[1005],{"type":46,"value":1006},"(filename, content)",{"type":40,"tag":95,"props":1008,"children":1010},{"id":1009},"rest-api-upload-manual",[1011],{"type":46,"value":1012},"REST API Upload (Manual)",{"type":40,"tag":53,"props":1014,"children":1015},{},[1016],{"type":46,"value":1017},"If not using the SDK, the upload flow has three steps:",{"type":40,"tag":221,"props":1019,"children":1021},{"id":1020},"step-1-create-an-upload-slot",[1022],{"type":46,"value":1023},"Step 1: Create an upload slot",{"type":40,"tag":228,"props":1025,"children":1027},{"className":230,"code":1026,"language":232,"meta":233,"style":233},"const response = await fetch('https:\u002F\u002Fapi.dev.runwayml.com\u002Fv1\u002Fuploads', {\n  method: 'POST',\n  headers: {\n    'Authorization': `Bearer ${process.env.RUNWAYML_API_SECRET}`,\n    'X-Runway-Version': '2024-11-06',\n    'Content-Type': 'application\u002Fjson'\n  },\n  body: JSON.stringify({\n    filename: 'image.jpg',\n    type: 'ephemeral'\n  })\n});\n\nconst { uploadUrl, fields, runwayUri } = await response.json();\n",[1028],{"type":40,"tag":65,"props":1029,"children":1030},{"__ignoreMap":233},[1031,1083,1112,1128,1196,1233,1267,1275,1309,1338,1363,1375,1390,1397],{"type":40,"tag":239,"props":1032,"children":1033},{"class":241,"line":242},[1034,1038,1043,1047,1051,1056,1060,1064,1069,1073,1078],{"type":40,"tag":239,"props":1035,"children":1036},{"style":333},[1037],{"type":46,"value":336},{"type":40,"tag":239,"props":1039,"children":1040},{"style":252},[1041],{"type":46,"value":1042}," response ",{"type":40,"tag":239,"props":1044,"children":1045},{"style":263},[1046],{"type":46,"value":346},{"type":40,"tag":239,"props":1048,"children":1049},{"style":246},[1050],{"type":46,"value":406},{"type":40,"tag":239,"props":1052,"children":1053},{"style":354},[1054],{"type":46,"value":1055}," fetch",{"type":40,"tag":239,"props":1057,"children":1058},{"style":252},[1059],{"type":46,"value":458},{"type":40,"tag":239,"props":1061,"children":1062},{"style":263},[1063],{"type":46,"value":277},{"type":40,"tag":239,"props":1065,"children":1066},{"style":269},[1067],{"type":46,"value":1068},"https:\u002F\u002Fapi.dev.runwayml.com\u002Fv1\u002Fuploads",{"type":40,"tag":239,"props":1070,"children":1071},{"style":263},[1072],{"type":46,"value":277},{"type":40,"tag":239,"props":1074,"children":1075},{"style":263},[1076],{"type":46,"value":1077},",",{"type":40,"tag":239,"props":1079,"children":1080},{"style":263},[1081],{"type":46,"value":1082}," {\n",{"type":40,"tag":239,"props":1084,"children":1085},{"class":241,"line":285},[1086,1091,1095,1099,1104,1108],{"type":40,"tag":239,"props":1087,"children":1088},{"style":565},[1089],{"type":46,"value":1090},"  method",{"type":40,"tag":239,"props":1092,"children":1093},{"style":263},[1094],{"type":46,"value":573},{"type":40,"tag":239,"props":1096,"children":1097},{"style":263},[1098],{"type":46,"value":266},{"type":40,"tag":239,"props":1100,"children":1101},{"style":269},[1102],{"type":46,"value":1103},"POST",{"type":40,"tag":239,"props":1105,"children":1106},{"style":263},[1107],{"type":46,"value":277},{"type":40,"tag":239,"props":1109,"children":1110},{"style":263},[1111],{"type":46,"value":591},{"type":40,"tag":239,"props":1113,"children":1114},{"class":241,"line":319},[1115,1120,1124],{"type":40,"tag":239,"props":1116,"children":1117},{"style":565},[1118],{"type":46,"value":1119},"  headers",{"type":40,"tag":239,"props":1121,"children":1122},{"style":263},[1123],{"type":46,"value":573},{"type":40,"tag":239,"props":1125,"children":1126},{"style":263},[1127],{"type":46,"value":1082},{"type":40,"tag":239,"props":1129,"children":1130},{"class":241,"line":329},[1131,1136,1141,1145,1149,1154,1159,1164,1169,1173,1178,1182,1187,1192],{"type":40,"tag":239,"props":1132,"children":1133},{"style":263},[1134],{"type":46,"value":1135},"    '",{"type":40,"tag":239,"props":1137,"children":1138},{"style":565},[1139],{"type":46,"value":1140},"Authorization",{"type":40,"tag":239,"props":1142,"children":1143},{"style":263},[1144],{"type":46,"value":277},{"type":40,"tag":239,"props":1146,"children":1147},{"style":263},[1148],{"type":46,"value":573},{"type":40,"tag":239,"props":1150,"children":1151},{"style":263},[1152],{"type":46,"value":1153}," `",{"type":40,"tag":239,"props":1155,"children":1156},{"style":269},[1157],{"type":46,"value":1158},"Bearer ",{"type":40,"tag":239,"props":1160,"children":1161},{"style":263},[1162],{"type":46,"value":1163},"${",{"type":40,"tag":239,"props":1165,"children":1166},{"style":252},[1167],{"type":46,"value":1168},"process",{"type":40,"tag":239,"props":1170,"children":1171},{"style":263},[1172],{"type":46,"value":416},{"type":40,"tag":239,"props":1174,"children":1175},{"style":252},[1176],{"type":46,"value":1177},"env",{"type":40,"tag":239,"props":1179,"children":1180},{"style":263},[1181],{"type":46,"value":416},{"type":40,"tag":239,"props":1183,"children":1184},{"style":252},[1185],{"type":46,"value":1186},"RUNWAYML_API_SECRET",{"type":40,"tag":239,"props":1188,"children":1189},{"style":263},[1190],{"type":46,"value":1191},"}`",{"type":40,"tag":239,"props":1193,"children":1194},{"style":263},[1195],{"type":46,"value":591},{"type":40,"tag":239,"props":1197,"children":1198},{"class":241,"line":369},[1199,1203,1208,1212,1216,1220,1225,1229],{"type":40,"tag":239,"props":1200,"children":1201},{"style":263},[1202],{"type":46,"value":1135},{"type":40,"tag":239,"props":1204,"children":1205},{"style":565},[1206],{"type":46,"value":1207},"X-Runway-Version",{"type":40,"tag":239,"props":1209,"children":1210},{"style":263},[1211],{"type":46,"value":277},{"type":40,"tag":239,"props":1213,"children":1214},{"style":263},[1215],{"type":46,"value":573},{"type":40,"tag":239,"props":1217,"children":1218},{"style":263},[1219],{"type":46,"value":266},{"type":40,"tag":239,"props":1221,"children":1222},{"style":269},[1223],{"type":46,"value":1224},"2024-11-06",{"type":40,"tag":239,"props":1226,"children":1227},{"style":263},[1228],{"type":46,"value":277},{"type":40,"tag":239,"props":1230,"children":1231},{"style":263},[1232],{"type":46,"value":591},{"type":40,"tag":239,"props":1234,"children":1235},{"class":241,"line":377},[1236,1240,1245,1249,1253,1257,1262],{"type":40,"tag":239,"props":1237,"children":1238},{"style":263},[1239],{"type":46,"value":1135},{"type":40,"tag":239,"props":1241,"children":1242},{"style":565},[1243],{"type":46,"value":1244},"Content-Type",{"type":40,"tag":239,"props":1246,"children":1247},{"style":263},[1248],{"type":46,"value":277},{"type":40,"tag":239,"props":1250,"children":1251},{"style":263},[1252],{"type":46,"value":573},{"type":40,"tag":239,"props":1254,"children":1255},{"style":263},[1256],{"type":46,"value":266},{"type":40,"tag":239,"props":1258,"children":1259},{"style":269},[1260],{"type":46,"value":1261},"application\u002Fjson",{"type":40,"tag":239,"props":1263,"children":1264},{"style":263},[1265],{"type":46,"value":1266},"'\n",{"type":40,"tag":239,"props":1268,"children":1269},{"class":241,"line":387},[1270],{"type":40,"tag":239,"props":1271,"children":1272},{"style":263},[1273],{"type":46,"value":1274},"  },\n",{"type":40,"tag":239,"props":1276,"children":1277},{"class":241,"line":438},[1278,1283,1287,1292,1296,1301,1305],{"type":40,"tag":239,"props":1279,"children":1280},{"style":565},[1281],{"type":46,"value":1282},"  body",{"type":40,"tag":239,"props":1284,"children":1285},{"style":263},[1286],{"type":46,"value":573},{"type":40,"tag":239,"props":1288,"children":1289},{"style":252},[1290],{"type":46,"value":1291}," JSON",{"type":40,"tag":239,"props":1293,"children":1294},{"style":263},[1295],{"type":46,"value":416},{"type":40,"tag":239,"props":1297,"children":1298},{"style":354},[1299],{"type":46,"value":1300},"stringify",{"type":40,"tag":239,"props":1302,"children":1303},{"style":252},[1304],{"type":46,"value":458},{"type":40,"tag":239,"props":1306,"children":1307},{"style":263},[1308],{"type":46,"value":558},{"type":40,"tag":239,"props":1310,"children":1311},{"class":241,"line":479},[1312,1317,1321,1325,1330,1334],{"type":40,"tag":239,"props":1313,"children":1314},{"style":565},[1315],{"type":46,"value":1316},"    filename",{"type":40,"tag":239,"props":1318,"children":1319},{"style":263},[1320],{"type":46,"value":573},{"type":40,"tag":239,"props":1322,"children":1323},{"style":263},[1324],{"type":46,"value":266},{"type":40,"tag":239,"props":1326,"children":1327},{"style":269},[1328],{"type":46,"value":1329},"image.jpg",{"type":40,"tag":239,"props":1331,"children":1332},{"style":263},[1333],{"type":46,"value":277},{"type":40,"tag":239,"props":1335,"children":1336},{"style":263},[1337],{"type":46,"value":591},{"type":40,"tag":239,"props":1339,"children":1340},{"class":241,"line":492},[1341,1346,1350,1354,1359],{"type":40,"tag":239,"props":1342,"children":1343},{"style":565},[1344],{"type":46,"value":1345},"    type",{"type":40,"tag":239,"props":1347,"children":1348},{"style":263},[1349],{"type":46,"value":573},{"type":40,"tag":239,"props":1351,"children":1352},{"style":263},[1353],{"type":46,"value":266},{"type":40,"tag":239,"props":1355,"children":1356},{"style":269},[1357],{"type":46,"value":1358},"ephemeral",{"type":40,"tag":239,"props":1360,"children":1361},{"style":263},[1362],{"type":46,"value":1266},{"type":40,"tag":239,"props":1364,"children":1365},{"class":241,"line":500},[1366,1371],{"type":40,"tag":239,"props":1367,"children":1368},{"style":263},[1369],{"type":46,"value":1370},"  }",{"type":40,"tag":239,"props":1372,"children":1373},{"style":252},[1374],{"type":46,"value":476},{"type":40,"tag":239,"props":1376,"children":1377},{"class":241,"line":509},[1378,1382,1386],{"type":40,"tag":239,"props":1379,"children":1380},{"style":263},[1381],{"type":46,"value":709},{"type":40,"tag":239,"props":1383,"children":1384},{"style":252},[1385],{"type":46,"value":485},{"type":40,"tag":239,"props":1387,"children":1388},{"style":263},[1389],{"type":46,"value":282},{"type":40,"tag":239,"props":1391,"children":1392},{"class":241,"line":561},[1393],{"type":40,"tag":239,"props":1394,"children":1395},{"emptyLinePlaceholder":323},[1396],{"type":46,"value":326},{"type":40,"tag":239,"props":1398,"children":1399},{"class":241,"line":594},[1400,1404,1409,1414,1418,1423,1427,1432,1436,1441,1445,1450,1454,1459,1463],{"type":40,"tag":239,"props":1401,"children":1402},{"style":333},[1403],{"type":46,"value":336},{"type":40,"tag":239,"props":1405,"children":1406},{"style":263},[1407],{"type":46,"value":1408}," {",{"type":40,"tag":239,"props":1410,"children":1411},{"style":252},[1412],{"type":46,"value":1413}," uploadUrl",{"type":40,"tag":239,"props":1415,"children":1416},{"style":263},[1417],{"type":46,"value":1077},{"type":40,"tag":239,"props":1419,"children":1420},{"style":252},[1421],{"type":46,"value":1422}," fields",{"type":40,"tag":239,"props":1424,"children":1425},{"style":263},[1426],{"type":46,"value":1077},{"type":40,"tag":239,"props":1428,"children":1429},{"style":252},[1430],{"type":46,"value":1431}," runwayUri ",{"type":40,"tag":239,"props":1433,"children":1434},{"style":263},[1435],{"type":46,"value":709},{"type":40,"tag":239,"props":1437,"children":1438},{"style":263},[1439],{"type":46,"value":1440}," =",{"type":40,"tag":239,"props":1442,"children":1443},{"style":246},[1444],{"type":46,"value":406},{"type":40,"tag":239,"props":1446,"children":1447},{"style":252},[1448],{"type":46,"value":1449}," response",{"type":40,"tag":239,"props":1451,"children":1452},{"style":263},[1453],{"type":46,"value":416},{"type":40,"tag":239,"props":1455,"children":1456},{"style":354},[1457],{"type":46,"value":1458},"json",{"type":40,"tag":239,"props":1460,"children":1461},{"style":252},[1462],{"type":46,"value":362},{"type":40,"tag":239,"props":1464,"children":1465},{"style":263},[1466],{"type":46,"value":282},{"type":40,"tag":221,"props":1468,"children":1470},{"id":1469},"step-2-upload-the-file-using-the-presigned-url",[1471],{"type":46,"value":1472},"Step 2: Upload the file using the presigned URL",{"type":40,"tag":228,"props":1474,"children":1476},{"className":230,"code":1475,"language":232,"meta":233,"style":233},"const formData = new FormData();\n\n\u002F\u002F Add all presigned form fields first\nfor (const [key, value] of Object.entries(fields)) {\n  formData.append(key, value);\n}\n\n\u002F\u002F Add the file last\nformData.append('file', fileBuffer, 'image.jpg');\n\nawait fetch(uploadUrl, {\n  method: 'POST',\n  body: formData\n});\n",[1477],{"type":40,"tag":65,"props":1478,"children":1479},{"__ignoreMap":233},[1480,1513,1520,1528,1597,1638,1646,1653,1661,1727,1734,1759,1786,1802],{"type":40,"tag":239,"props":1481,"children":1482},{"class":241,"line":242},[1483,1487,1492,1496,1500,1505,1509],{"type":40,"tag":239,"props":1484,"children":1485},{"style":333},[1486],{"type":46,"value":336},{"type":40,"tag":239,"props":1488,"children":1489},{"style":252},[1490],{"type":46,"value":1491}," formData ",{"type":40,"tag":239,"props":1493,"children":1494},{"style":263},[1495],{"type":46,"value":346},{"type":40,"tag":239,"props":1497,"children":1498},{"style":263},[1499],{"type":46,"value":351},{"type":40,"tag":239,"props":1501,"children":1502},{"style":354},[1503],{"type":46,"value":1504}," FormData",{"type":40,"tag":239,"props":1506,"children":1507},{"style":252},[1508],{"type":46,"value":362},{"type":40,"tag":239,"props":1510,"children":1511},{"style":263},[1512],{"type":46,"value":282},{"type":40,"tag":239,"props":1514,"children":1515},{"class":241,"line":285},[1516],{"type":40,"tag":239,"props":1517,"children":1518},{"emptyLinePlaceholder":323},[1519],{"type":46,"value":326},{"type":40,"tag":239,"props":1521,"children":1522},{"class":241,"line":319},[1523],{"type":40,"tag":239,"props":1524,"children":1525},{"style":381},[1526],{"type":46,"value":1527},"\u002F\u002F Add all presigned form fields first\n",{"type":40,"tag":239,"props":1529,"children":1530},{"class":241,"line":329},[1531,1536,1541,1545,1550,1555,1559,1564,1569,1574,1579,1583,1588,1593],{"type":40,"tag":239,"props":1532,"children":1533},{"style":246},[1534],{"type":46,"value":1535},"for",{"type":40,"tag":239,"props":1537,"children":1538},{"style":252},[1539],{"type":46,"value":1540}," (",{"type":40,"tag":239,"props":1542,"children":1543},{"style":333},[1544],{"type":46,"value":336},{"type":40,"tag":239,"props":1546,"children":1547},{"style":263},[1548],{"type":46,"value":1549}," [",{"type":40,"tag":239,"props":1551,"children":1552},{"style":252},[1553],{"type":46,"value":1554},"key",{"type":40,"tag":239,"props":1556,"children":1557},{"style":263},[1558],{"type":46,"value":1077},{"type":40,"tag":239,"props":1560,"children":1561},{"style":252},[1562],{"type":46,"value":1563}," value",{"type":40,"tag":239,"props":1565,"children":1566},{"style":263},[1567],{"type":46,"value":1568},"]",{"type":40,"tag":239,"props":1570,"children":1571},{"style":263},[1572],{"type":46,"value":1573}," of",{"type":40,"tag":239,"props":1575,"children":1576},{"style":252},[1577],{"type":46,"value":1578}," Object",{"type":40,"tag":239,"props":1580,"children":1581},{"style":263},[1582],{"type":46,"value":416},{"type":40,"tag":239,"props":1584,"children":1585},{"style":354},[1586],{"type":46,"value":1587},"entries",{"type":40,"tag":239,"props":1589,"children":1590},{"style":252},[1591],{"type":46,"value":1592},"(fields)) ",{"type":40,"tag":239,"props":1594,"children":1595},{"style":263},[1596],{"type":46,"value":558},{"type":40,"tag":239,"props":1598,"children":1599},{"class":241,"line":369},[1600,1605,1609,1614,1618,1622,1626,1630,1634],{"type":40,"tag":239,"props":1601,"children":1602},{"style":252},[1603],{"type":46,"value":1604},"  formData",{"type":40,"tag":239,"props":1606,"children":1607},{"style":263},[1608],{"type":46,"value":416},{"type":40,"tag":239,"props":1610,"children":1611},{"style":354},[1612],{"type":46,"value":1613},"append",{"type":40,"tag":239,"props":1615,"children":1616},{"style":565},[1617],{"type":46,"value":458},{"type":40,"tag":239,"props":1619,"children":1620},{"style":252},[1621],{"type":46,"value":1554},{"type":40,"tag":239,"props":1623,"children":1624},{"style":263},[1625],{"type":46,"value":1077},{"type":40,"tag":239,"props":1627,"children":1628},{"style":252},[1629],{"type":46,"value":1563},{"type":40,"tag":239,"props":1631,"children":1632},{"style":565},[1633],{"type":46,"value":485},{"type":40,"tag":239,"props":1635,"children":1636},{"style":263},[1637],{"type":46,"value":282},{"type":40,"tag":239,"props":1639,"children":1640},{"class":241,"line":377},[1641],{"type":40,"tag":239,"props":1642,"children":1643},{"style":263},[1644],{"type":46,"value":1645},"}\n",{"type":40,"tag":239,"props":1647,"children":1648},{"class":241,"line":387},[1649],{"type":40,"tag":239,"props":1650,"children":1651},{"emptyLinePlaceholder":323},[1652],{"type":46,"value":326},{"type":40,"tag":239,"props":1654,"children":1655},{"class":241,"line":438},[1656],{"type":40,"tag":239,"props":1657,"children":1658},{"style":381},[1659],{"type":46,"value":1660},"\u002F\u002F Add the file last\n",{"type":40,"tag":239,"props":1662,"children":1663},{"class":241,"line":479},[1664,1669,1673,1677,1681,1685,1690,1694,1698,1703,1707,1711,1715,1719,1723],{"type":40,"tag":239,"props":1665,"children":1666},{"style":252},[1667],{"type":46,"value":1668},"formData",{"type":40,"tag":239,"props":1670,"children":1671},{"style":263},[1672],{"type":46,"value":416},{"type":40,"tag":239,"props":1674,"children":1675},{"style":354},[1676],{"type":46,"value":1613},{"type":40,"tag":239,"props":1678,"children":1679},{"style":252},[1680],{"type":46,"value":458},{"type":40,"tag":239,"props":1682,"children":1683},{"style":263},[1684],{"type":46,"value":277},{"type":40,"tag":239,"props":1686,"children":1687},{"style":269},[1688],{"type":46,"value":1689},"file",{"type":40,"tag":239,"props":1691,"children":1692},{"style":263},[1693],{"type":46,"value":277},{"type":40,"tag":239,"props":1695,"children":1696},{"style":263},[1697],{"type":46,"value":1077},{"type":40,"tag":239,"props":1699,"children":1700},{"style":252},[1701],{"type":46,"value":1702}," fileBuffer",{"type":40,"tag":239,"props":1704,"children":1705},{"style":263},[1706],{"type":46,"value":1077},{"type":40,"tag":239,"props":1708,"children":1709},{"style":263},[1710],{"type":46,"value":266},{"type":40,"tag":239,"props":1712,"children":1713},{"style":269},[1714],{"type":46,"value":1329},{"type":40,"tag":239,"props":1716,"children":1717},{"style":263},[1718],{"type":46,"value":277},{"type":40,"tag":239,"props":1720,"children":1721},{"style":252},[1722],{"type":46,"value":485},{"type":40,"tag":239,"props":1724,"children":1725},{"style":263},[1726],{"type":46,"value":282},{"type":40,"tag":239,"props":1728,"children":1729},{"class":241,"line":492},[1730],{"type":40,"tag":239,"props":1731,"children":1732},{"emptyLinePlaceholder":323},[1733],{"type":46,"value":326},{"type":40,"tag":239,"props":1735,"children":1736},{"class":241,"line":500},[1737,1742,1746,1751,1755],{"type":40,"tag":239,"props":1738,"children":1739},{"style":246},[1740],{"type":46,"value":1741},"await",{"type":40,"tag":239,"props":1743,"children":1744},{"style":354},[1745],{"type":46,"value":1055},{"type":40,"tag":239,"props":1747,"children":1748},{"style":252},[1749],{"type":46,"value":1750},"(uploadUrl",{"type":40,"tag":239,"props":1752,"children":1753},{"style":263},[1754],{"type":46,"value":1077},{"type":40,"tag":239,"props":1756,"children":1757},{"style":263},[1758],{"type":46,"value":1082},{"type":40,"tag":239,"props":1760,"children":1761},{"class":241,"line":509},[1762,1766,1770,1774,1778,1782],{"type":40,"tag":239,"props":1763,"children":1764},{"style":565},[1765],{"type":46,"value":1090},{"type":40,"tag":239,"props":1767,"children":1768},{"style":263},[1769],{"type":46,"value":573},{"type":40,"tag":239,"props":1771,"children":1772},{"style":263},[1773],{"type":46,"value":266},{"type":40,"tag":239,"props":1775,"children":1776},{"style":269},[1777],{"type":46,"value":1103},{"type":40,"tag":239,"props":1779,"children":1780},{"style":263},[1781],{"type":46,"value":277},{"type":40,"tag":239,"props":1783,"children":1784},{"style":263},[1785],{"type":46,"value":591},{"type":40,"tag":239,"props":1787,"children":1788},{"class":241,"line":561},[1789,1793,1797],{"type":40,"tag":239,"props":1790,"children":1791},{"style":565},[1792],{"type":46,"value":1282},{"type":40,"tag":239,"props":1794,"children":1795},{"style":263},[1796],{"type":46,"value":573},{"type":40,"tag":239,"props":1798,"children":1799},{"style":252},[1800],{"type":46,"value":1801}," formData\n",{"type":40,"tag":239,"props":1803,"children":1804},{"class":241,"line":594},[1805,1809,1813],{"type":40,"tag":239,"props":1806,"children":1807},{"style":263},[1808],{"type":46,"value":709},{"type":40,"tag":239,"props":1810,"children":1811},{"style":252},[1812],{"type":46,"value":485},{"type":40,"tag":239,"props":1814,"children":1815},{"style":263},[1816],{"type":46,"value":282},{"type":40,"tag":221,"props":1818,"children":1820},{"id":1819},"step-3-use-the-runway-uri",[1821,1823,1828],{"type":46,"value":1822},"Step 3: Use the ",{"type":40,"tag":65,"props":1824,"children":1826},{"className":1825},[],[1827],{"type":46,"value":198},{"type":46,"value":1829}," URI",{"type":40,"tag":228,"props":1831,"children":1833},{"className":230,"code":1832,"language":232,"meta":233,"style":233},"const task = await fetch('https:\u002F\u002Fapi.dev.runwayml.com\u002Fv1\u002Fimage_to_video', {\n  method: 'POST',\n  headers: {\n    'Authorization': `Bearer ${process.env.RUNWAYML_API_SECRET}`,\n    'X-Runway-Version': '2024-11-06',\n    'Content-Type': 'application\u002Fjson'\n  },\n  body: JSON.stringify({\n    model: 'gen4.5',\n    promptImage: runwayUri,\n    promptText: 'Animate this scene',\n    ratio: '1280:720',\n    duration: 5\n  })\n});\n",[1834],{"type":40,"tag":65,"props":1835,"children":1836},{"__ignoreMap":233},[1837,1885,1912,1927,1986,2021,2052,2059,2090,2118,2139,2168,2196,2212,2223],{"type":40,"tag":239,"props":1838,"children":1839},{"class":241,"line":242},[1840,1844,1848,1852,1856,1860,1864,1868,1873,1877,1881],{"type":40,"tag":239,"props":1841,"children":1842},{"style":333},[1843],{"type":46,"value":336},{"type":40,"tag":239,"props":1845,"children":1846},{"style":252},[1847],{"type":46,"value":519},{"type":40,"tag":239,"props":1849,"children":1850},{"style":263},[1851],{"type":46,"value":346},{"type":40,"tag":239,"props":1853,"children":1854},{"style":246},[1855],{"type":46,"value":406},{"type":40,"tag":239,"props":1857,"children":1858},{"style":354},[1859],{"type":46,"value":1055},{"type":40,"tag":239,"props":1861,"children":1862},{"style":252},[1863],{"type":46,"value":458},{"type":40,"tag":239,"props":1865,"children":1866},{"style":263},[1867],{"type":46,"value":277},{"type":40,"tag":239,"props":1869,"children":1870},{"style":269},[1871],{"type":46,"value":1872},"https:\u002F\u002Fapi.dev.runwayml.com\u002Fv1\u002Fimage_to_video",{"type":40,"tag":239,"props":1874,"children":1875},{"style":263},[1876],{"type":46,"value":277},{"type":40,"tag":239,"props":1878,"children":1879},{"style":263},[1880],{"type":46,"value":1077},{"type":40,"tag":239,"props":1882,"children":1883},{"style":263},[1884],{"type":46,"value":1082},{"type":40,"tag":239,"props":1886,"children":1887},{"class":241,"line":285},[1888,1892,1896,1900,1904,1908],{"type":40,"tag":239,"props":1889,"children":1890},{"style":565},[1891],{"type":46,"value":1090},{"type":40,"tag":239,"props":1893,"children":1894},{"style":263},[1895],{"type":46,"value":573},{"type":40,"tag":239,"props":1897,"children":1898},{"style":263},[1899],{"type":46,"value":266},{"type":40,"tag":239,"props":1901,"children":1902},{"style":269},[1903],{"type":46,"value":1103},{"type":40,"tag":239,"props":1905,"children":1906},{"style":263},[1907],{"type":46,"value":277},{"type":40,"tag":239,"props":1909,"children":1910},{"style":263},[1911],{"type":46,"value":591},{"type":40,"tag":239,"props":1913,"children":1914},{"class":241,"line":319},[1915,1919,1923],{"type":40,"tag":239,"props":1916,"children":1917},{"style":565},[1918],{"type":46,"value":1119},{"type":40,"tag":239,"props":1920,"children":1921},{"style":263},[1922],{"type":46,"value":573},{"type":40,"tag":239,"props":1924,"children":1925},{"style":263},[1926],{"type":46,"value":1082},{"type":40,"tag":239,"props":1928,"children":1929},{"class":241,"line":329},[1930,1934,1938,1942,1946,1950,1954,1958,1962,1966,1970,1974,1978,1982],{"type":40,"tag":239,"props":1931,"children":1932},{"style":263},[1933],{"type":46,"value":1135},{"type":40,"tag":239,"props":1935,"children":1936},{"style":565},[1937],{"type":46,"value":1140},{"type":40,"tag":239,"props":1939,"children":1940},{"style":263},[1941],{"type":46,"value":277},{"type":40,"tag":239,"props":1943,"children":1944},{"style":263},[1945],{"type":46,"value":573},{"type":40,"tag":239,"props":1947,"children":1948},{"style":263},[1949],{"type":46,"value":1153},{"type":40,"tag":239,"props":1951,"children":1952},{"style":269},[1953],{"type":46,"value":1158},{"type":40,"tag":239,"props":1955,"children":1956},{"style":263},[1957],{"type":46,"value":1163},{"type":40,"tag":239,"props":1959,"children":1960},{"style":252},[1961],{"type":46,"value":1168},{"type":40,"tag":239,"props":1963,"children":1964},{"style":263},[1965],{"type":46,"value":416},{"type":40,"tag":239,"props":1967,"children":1968},{"style":252},[1969],{"type":46,"value":1177},{"type":40,"tag":239,"props":1971,"children":1972},{"style":263},[1973],{"type":46,"value":416},{"type":40,"tag":239,"props":1975,"children":1976},{"style":252},[1977],{"type":46,"value":1186},{"type":40,"tag":239,"props":1979,"children":1980},{"style":263},[1981],{"type":46,"value":1191},{"type":40,"tag":239,"props":1983,"children":1984},{"style":263},[1985],{"type":46,"value":591},{"type":40,"tag":239,"props":1987,"children":1988},{"class":241,"line":369},[1989,1993,1997,2001,2005,2009,2013,2017],{"type":40,"tag":239,"props":1990,"children":1991},{"style":263},[1992],{"type":46,"value":1135},{"type":40,"tag":239,"props":1994,"children":1995},{"style":565},[1996],{"type":46,"value":1207},{"type":40,"tag":239,"props":1998,"children":1999},{"style":263},[2000],{"type":46,"value":277},{"type":40,"tag":239,"props":2002,"children":2003},{"style":263},[2004],{"type":46,"value":573},{"type":40,"tag":239,"props":2006,"children":2007},{"style":263},[2008],{"type":46,"value":266},{"type":40,"tag":239,"props":2010,"children":2011},{"style":269},[2012],{"type":46,"value":1224},{"type":40,"tag":239,"props":2014,"children":2015},{"style":263},[2016],{"type":46,"value":277},{"type":40,"tag":239,"props":2018,"children":2019},{"style":263},[2020],{"type":46,"value":591},{"type":40,"tag":239,"props":2022,"children":2023},{"class":241,"line":377},[2024,2028,2032,2036,2040,2044,2048],{"type":40,"tag":239,"props":2025,"children":2026},{"style":263},[2027],{"type":46,"value":1135},{"type":40,"tag":239,"props":2029,"children":2030},{"style":565},[2031],{"type":46,"value":1244},{"type":40,"tag":239,"props":2033,"children":2034},{"style":263},[2035],{"type":46,"value":277},{"type":40,"tag":239,"props":2037,"children":2038},{"style":263},[2039],{"type":46,"value":573},{"type":40,"tag":239,"props":2041,"children":2042},{"style":263},[2043],{"type":46,"value":266},{"type":40,"tag":239,"props":2045,"children":2046},{"style":269},[2047],{"type":46,"value":1261},{"type":40,"tag":239,"props":2049,"children":2050},{"style":263},[2051],{"type":46,"value":1266},{"type":40,"tag":239,"props":2053,"children":2054},{"class":241,"line":387},[2055],{"type":40,"tag":239,"props":2056,"children":2057},{"style":263},[2058],{"type":46,"value":1274},{"type":40,"tag":239,"props":2060,"children":2061},{"class":241,"line":438},[2062,2066,2070,2074,2078,2082,2086],{"type":40,"tag":239,"props":2063,"children":2064},{"style":565},[2065],{"type":46,"value":1282},{"type":40,"tag":239,"props":2067,"children":2068},{"style":263},[2069],{"type":46,"value":573},{"type":40,"tag":239,"props":2071,"children":2072},{"style":252},[2073],{"type":46,"value":1291},{"type":40,"tag":239,"props":2075,"children":2076},{"style":263},[2077],{"type":46,"value":416},{"type":40,"tag":239,"props":2079,"children":2080},{"style":354},[2081],{"type":46,"value":1300},{"type":40,"tag":239,"props":2083,"children":2084},{"style":252},[2085],{"type":46,"value":458},{"type":40,"tag":239,"props":2087,"children":2088},{"style":263},[2089],{"type":46,"value":558},{"type":40,"tag":239,"props":2091,"children":2092},{"class":241,"line":479},[2093,2098,2102,2106,2110,2114],{"type":40,"tag":239,"props":2094,"children":2095},{"style":565},[2096],{"type":46,"value":2097},"    model",{"type":40,"tag":239,"props":2099,"children":2100},{"style":263},[2101],{"type":46,"value":573},{"type":40,"tag":239,"props":2103,"children":2104},{"style":263},[2105],{"type":46,"value":266},{"type":40,"tag":239,"props":2107,"children":2108},{"style":269},[2109],{"type":46,"value":582},{"type":40,"tag":239,"props":2111,"children":2112},{"style":263},[2113],{"type":46,"value":277},{"type":40,"tag":239,"props":2115,"children":2116},{"style":263},[2117],{"type":46,"value":591},{"type":40,"tag":239,"props":2119,"children":2120},{"class":241,"line":492},[2121,2126,2130,2135],{"type":40,"tag":239,"props":2122,"children":2123},{"style":565},[2124],{"type":46,"value":2125},"    promptImage",{"type":40,"tag":239,"props":2127,"children":2128},{"style":263},[2129],{"type":46,"value":573},{"type":40,"tag":239,"props":2131,"children":2132},{"style":252},[2133],{"type":46,"value":2134}," runwayUri",{"type":40,"tag":239,"props":2136,"children":2137},{"style":263},[2138],{"type":46,"value":591},{"type":40,"tag":239,"props":2140,"children":2141},{"class":241,"line":500},[2142,2147,2151,2155,2160,2164],{"type":40,"tag":239,"props":2143,"children":2144},{"style":565},[2145],{"type":46,"value":2146},"    promptText",{"type":40,"tag":239,"props":2148,"children":2149},{"style":263},[2150],{"type":46,"value":573},{"type":40,"tag":239,"props":2152,"children":2153},{"style":263},[2154],{"type":46,"value":266},{"type":40,"tag":239,"props":2156,"children":2157},{"style":269},[2158],{"type":46,"value":2159},"Animate this scene",{"type":40,"tag":239,"props":2161,"children":2162},{"style":263},[2163],{"type":46,"value":277},{"type":40,"tag":239,"props":2165,"children":2166},{"style":263},[2167],{"type":46,"value":591},{"type":40,"tag":239,"props":2169,"children":2170},{"class":241,"line":509},[2171,2176,2180,2184,2188,2192],{"type":40,"tag":239,"props":2172,"children":2173},{"style":565},[2174],{"type":46,"value":2175},"    ratio",{"type":40,"tag":239,"props":2177,"children":2178},{"style":263},[2179],{"type":46,"value":573},{"type":40,"tag":239,"props":2181,"children":2182},{"style":263},[2183],{"type":46,"value":266},{"type":40,"tag":239,"props":2185,"children":2186},{"style":269},[2187],{"type":46,"value":673},{"type":40,"tag":239,"props":2189,"children":2190},{"style":263},[2191],{"type":46,"value":277},{"type":40,"tag":239,"props":2193,"children":2194},{"style":263},[2195],{"type":46,"value":591},{"type":40,"tag":239,"props":2197,"children":2198},{"class":241,"line":561},[2199,2204,2208],{"type":40,"tag":239,"props":2200,"children":2201},{"style":565},[2202],{"type":46,"value":2203},"    duration",{"type":40,"tag":239,"props":2205,"children":2206},{"style":263},[2207],{"type":46,"value":573},{"type":40,"tag":239,"props":2209,"children":2210},{"style":697},[2211],{"type":46,"value":700},{"type":40,"tag":239,"props":2213,"children":2214},{"class":241,"line":594},[2215,2219],{"type":40,"tag":239,"props":2216,"children":2217},{"style":263},[2218],{"type":46,"value":1370},{"type":40,"tag":239,"props":2220,"children":2221},{"style":252},[2222],{"type":46,"value":476},{"type":40,"tag":239,"props":2224,"children":2225},{"class":241,"line":25},[2226,2230,2234],{"type":40,"tag":239,"props":2227,"children":2228},{"style":263},[2229],{"type":46,"value":709},{"type":40,"tag":239,"props":2231,"children":2232},{"style":252},[2233],{"type":46,"value":485},{"type":40,"tag":239,"props":2235,"children":2236},{"style":263},[2237],{"type":46,"value":282},{"type":40,"tag":95,"props":2239,"children":2241},{"id":2240},"upload-constraints",[2242],{"type":46,"value":2243},"Upload Constraints",{"type":40,"tag":2245,"props":2246,"children":2247},"table",{},[2248,2267],{"type":40,"tag":2249,"props":2250,"children":2251},"thead",{},[2252],{"type":40,"tag":2253,"props":2254,"children":2255},"tr",{},[2256,2262],{"type":40,"tag":2257,"props":2258,"children":2259},"th",{},[2260],{"type":46,"value":2261},"Constraint",{"type":40,"tag":2257,"props":2263,"children":2264},{},[2265],{"type":46,"value":2266},"Value",{"type":40,"tag":2268,"props":2269,"children":2270},"tbody",{},[2271,2285,2298,2311],{"type":40,"tag":2253,"props":2272,"children":2273},{},[2274,2280],{"type":40,"tag":2275,"props":2276,"children":2277},"td",{},[2278],{"type":46,"value":2279},"Minimum file size",{"type":40,"tag":2275,"props":2281,"children":2282},{},[2283],{"type":46,"value":2284},"512 bytes",{"type":40,"tag":2253,"props":2286,"children":2287},{},[2288,2293],{"type":40,"tag":2275,"props":2289,"children":2290},{},[2291],{"type":46,"value":2292},"Maximum file size",{"type":40,"tag":2275,"props":2294,"children":2295},{},[2296],{"type":46,"value":2297},"200 MB",{"type":40,"tag":2253,"props":2299,"children":2300},{},[2301,2306],{"type":40,"tag":2275,"props":2302,"children":2303},{},[2304],{"type":46,"value":2305},"URI validity",{"type":40,"tag":2275,"props":2307,"children":2308},{},[2309],{"type":46,"value":2310},"24 hours",{"type":40,"tag":2253,"props":2312,"children":2313},{},[2314,2319],{"type":40,"tag":2275,"props":2315,"children":2316},{},[2317],{"type":46,"value":2318},"Requires credits",{"type":40,"tag":2275,"props":2320,"children":2321},{},[2322],{"type":46,"value":2323},"Yes (must have purchased credits)",{"type":40,"tag":95,"props":2325,"children":2327},{"id":2326},"integration-pattern",[2328],{"type":46,"value":2329},"Integration Pattern",{"type":40,"tag":221,"props":2331,"children":2333},{"id":2332},"expressjs-upload-endpoint-with-file-generation",[2334],{"type":46,"value":2335},"Express.js — Upload Endpoint with File Generation",{"type":40,"tag":228,"props":2337,"children":2339},{"className":230,"code":2338,"language":232,"meta":233,"style":233},"import RunwayML from '@runwayml\u002Fsdk';\nimport express from 'express';\nimport multer from 'multer';\n\nconst client = new RunwayML();\nconst app = express();\nconst upload = multer({ storage: multer.memoryStorage() });\n\napp.post('\u002Fapi\u002Fimage-to-video', upload.single('image'), async (req, res) => {\n  try {\n    \u002F\u002F Upload the user's file to Runway\n    const runwayUpload = await client.uploads.createEphemeral(req.file.buffer);\n\n    \u002F\u002F Use the uploaded file for video generation\n    const task = await client.imageToVideo.create({\n      model: 'gen4.5',\n      promptImage: runwayUpload.runwayUri,\n      promptText: req.body.prompt || 'Animate this image',\n      ratio: '1280:720',\n      duration: 5\n    }).waitForTaskOutput();\n\n    res.json({ videoUrl: task.output[0] });\n  } catch (error) {\n    console.error('Generation failed:', error);\n    res.status(500).json({ error: error.message });\n  }\n});\n",[2340],{"type":40,"tag":65,"props":2341,"children":2342},{"__ignoreMap":233},[2343,2374,2407,2440,2447,2478,2507,2575,2582,2695,2707,2715,2789,2796,2804,2852,2880,2908,2965,2994,3011,3040,3048,3122,3153,3204,3284,3293],{"type":40,"tag":239,"props":2344,"children":2345},{"class":241,"line":242},[2346,2350,2354,2358,2362,2366,2370],{"type":40,"tag":239,"props":2347,"children":2348},{"style":246},[2349],{"type":46,"value":249},{"type":40,"tag":239,"props":2351,"children":2352},{"style":252},[2353],{"type":46,"value":255},{"type":40,"tag":239,"props":2355,"children":2356},{"style":246},[2357],{"type":46,"value":260},{"type":40,"tag":239,"props":2359,"children":2360},{"style":263},[2361],{"type":46,"value":266},{"type":40,"tag":239,"props":2363,"children":2364},{"style":269},[2365],{"type":46,"value":272},{"type":40,"tag":239,"props":2367,"children":2368},{"style":263},[2369],{"type":46,"value":277},{"type":40,"tag":239,"props":2371,"children":2372},{"style":263},[2373],{"type":46,"value":282},{"type":40,"tag":239,"props":2375,"children":2376},{"class":241,"line":285},[2377,2381,2386,2390,2394,2399,2403],{"type":40,"tag":239,"props":2378,"children":2379},{"style":246},[2380],{"type":46,"value":249},{"type":40,"tag":239,"props":2382,"children":2383},{"style":252},[2384],{"type":46,"value":2385}," express ",{"type":40,"tag":239,"props":2387,"children":2388},{"style":246},[2389],{"type":46,"value":260},{"type":40,"tag":239,"props":2391,"children":2392},{"style":263},[2393],{"type":46,"value":266},{"type":40,"tag":239,"props":2395,"children":2396},{"style":269},[2397],{"type":46,"value":2398},"express",{"type":40,"tag":239,"props":2400,"children":2401},{"style":263},[2402],{"type":46,"value":277},{"type":40,"tag":239,"props":2404,"children":2405},{"style":263},[2406],{"type":46,"value":282},{"type":40,"tag":239,"props":2408,"children":2409},{"class":241,"line":319},[2410,2414,2419,2423,2427,2432,2436],{"type":40,"tag":239,"props":2411,"children":2412},{"style":246},[2413],{"type":46,"value":249},{"type":40,"tag":239,"props":2415,"children":2416},{"style":252},[2417],{"type":46,"value":2418}," multer ",{"type":40,"tag":239,"props":2420,"children":2421},{"style":246},[2422],{"type":46,"value":260},{"type":40,"tag":239,"props":2424,"children":2425},{"style":263},[2426],{"type":46,"value":266},{"type":40,"tag":239,"props":2428,"children":2429},{"style":269},[2430],{"type":46,"value":2431},"multer",{"type":40,"tag":239,"props":2433,"children":2434},{"style":263},[2435],{"type":46,"value":277},{"type":40,"tag":239,"props":2437,"children":2438},{"style":263},[2439],{"type":46,"value":282},{"type":40,"tag":239,"props":2441,"children":2442},{"class":241,"line":329},[2443],{"type":40,"tag":239,"props":2444,"children":2445},{"emptyLinePlaceholder":323},[2446],{"type":46,"value":326},{"type":40,"tag":239,"props":2448,"children":2449},{"class":241,"line":369},[2450,2454,2458,2462,2466,2470,2474],{"type":40,"tag":239,"props":2451,"children":2452},{"style":333},[2453],{"type":46,"value":336},{"type":40,"tag":239,"props":2455,"children":2456},{"style":252},[2457],{"type":46,"value":341},{"type":40,"tag":239,"props":2459,"children":2460},{"style":263},[2461],{"type":46,"value":346},{"type":40,"tag":239,"props":2463,"children":2464},{"style":263},[2465],{"type":46,"value":351},{"type":40,"tag":239,"props":2467,"children":2468},{"style":354},[2469],{"type":46,"value":357},{"type":40,"tag":239,"props":2471,"children":2472},{"style":252},[2473],{"type":46,"value":362},{"type":40,"tag":239,"props":2475,"children":2476},{"style":263},[2477],{"type":46,"value":282},{"type":40,"tag":239,"props":2479,"children":2480},{"class":241,"line":377},[2481,2485,2490,2494,2499,2503],{"type":40,"tag":239,"props":2482,"children":2483},{"style":333},[2484],{"type":46,"value":336},{"type":40,"tag":239,"props":2486,"children":2487},{"style":252},[2488],{"type":46,"value":2489}," app ",{"type":40,"tag":239,"props":2491,"children":2492},{"style":263},[2493],{"type":46,"value":346},{"type":40,"tag":239,"props":2495,"children":2496},{"style":354},[2497],{"type":46,"value":2498}," express",{"type":40,"tag":239,"props":2500,"children":2501},{"style":252},[2502],{"type":46,"value":362},{"type":40,"tag":239,"props":2504,"children":2505},{"style":263},[2506],{"type":46,"value":282},{"type":40,"tag":239,"props":2508,"children":2509},{"class":241,"line":387},[2510,2514,2518,2522,2527,2531,2536,2541,2545,2549,2553,2558,2563,2567,2571],{"type":40,"tag":239,"props":2511,"children":2512},{"style":333},[2513],{"type":46,"value":336},{"type":40,"tag":239,"props":2515,"children":2516},{"style":252},[2517],{"type":46,"value":397},{"type":40,"tag":239,"props":2519,"children":2520},{"style":263},[2521],{"type":46,"value":346},{"type":40,"tag":239,"props":2523,"children":2524},{"style":354},[2525],{"type":46,"value":2526}," multer",{"type":40,"tag":239,"props":2528,"children":2529},{"style":252},[2530],{"type":46,"value":458},{"type":40,"tag":239,"props":2532,"children":2533},{"style":263},[2534],{"type":46,"value":2535},"{",{"type":40,"tag":239,"props":2537,"children":2538},{"style":565},[2539],{"type":46,"value":2540}," storage",{"type":40,"tag":239,"props":2542,"children":2543},{"style":263},[2544],{"type":46,"value":573},{"type":40,"tag":239,"props":2546,"children":2547},{"style":252},[2548],{"type":46,"value":2526},{"type":40,"tag":239,"props":2550,"children":2551},{"style":263},[2552],{"type":46,"value":416},{"type":40,"tag":239,"props":2554,"children":2555},{"style":354},[2556],{"type":46,"value":2557},"memoryStorage",{"type":40,"tag":239,"props":2559,"children":2560},{"style":252},[2561],{"type":46,"value":2562},"() ",{"type":40,"tag":239,"props":2564,"children":2565},{"style":263},[2566],{"type":46,"value":709},{"type":40,"tag":239,"props":2568,"children":2569},{"style":252},[2570],{"type":46,"value":485},{"type":40,"tag":239,"props":2572,"children":2573},{"style":263},[2574],{"type":46,"value":282},{"type":40,"tag":239,"props":2576,"children":2577},{"class":241,"line":438},[2578],{"type":40,"tag":239,"props":2579,"children":2580},{"emptyLinePlaceholder":323},[2581],{"type":46,"value":326},{"type":40,"tag":239,"props":2583,"children":2584},{"class":241,"line":479},[2585,2590,2594,2599,2603,2607,2612,2616,2620,2624,2628,2633,2637,2641,2646,2650,2654,2658,2663,2667,2673,2677,2682,2686,2691],{"type":40,"tag":239,"props":2586,"children":2587},{"style":252},[2588],{"type":46,"value":2589},"app",{"type":40,"tag":239,"props":2591,"children":2592},{"style":263},[2593],{"type":46,"value":416},{"type":40,"tag":239,"props":2595,"children":2596},{"style":354},[2597],{"type":46,"value":2598},"post",{"type":40,"tag":239,"props":2600,"children":2601},{"style":252},[2602],{"type":46,"value":458},{"type":40,"tag":239,"props":2604,"children":2605},{"style":263},[2606],{"type":46,"value":277},{"type":40,"tag":239,"props":2608,"children":2609},{"style":269},[2610],{"type":46,"value":2611},"\u002Fapi\u002Fimage-to-video",{"type":40,"tag":239,"props":2613,"children":2614},{"style":263},[2615],{"type":46,"value":277},{"type":40,"tag":239,"props":2617,"children":2618},{"style":263},[2619],{"type":46,"value":1077},{"type":40,"tag":239,"props":2621,"children":2622},{"style":252},[2623],{"type":46,"value":609},{"type":40,"tag":239,"props":2625,"children":2626},{"style":263},[2627],{"type":46,"value":416},{"type":40,"tag":239,"props":2629,"children":2630},{"style":354},[2631],{"type":46,"value":2632},"single",{"type":40,"tag":239,"props":2634,"children":2635},{"style":252},[2636],{"type":46,"value":458},{"type":40,"tag":239,"props":2638,"children":2639},{"style":263},[2640],{"type":46,"value":277},{"type":40,"tag":239,"props":2642,"children":2643},{"style":269},[2644],{"type":46,"value":2645},"image",{"type":40,"tag":239,"props":2647,"children":2648},{"style":263},[2649],{"type":46,"value":277},{"type":40,"tag":239,"props":2651,"children":2652},{"style":252},[2653],{"type":46,"value":485},{"type":40,"tag":239,"props":2655,"children":2656},{"style":263},[2657],{"type":46,"value":1077},{"type":40,"tag":239,"props":2659,"children":2660},{"style":333},[2661],{"type":46,"value":2662}," async",{"type":40,"tag":239,"props":2664,"children":2665},{"style":263},[2666],{"type":46,"value":1540},{"type":40,"tag":239,"props":2668,"children":2670},{"style":2669},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic",[2671],{"type":46,"value":2672},"req",{"type":40,"tag":239,"props":2674,"children":2675},{"style":263},[2676],{"type":46,"value":1077},{"type":40,"tag":239,"props":2678,"children":2679},{"style":2669},[2680],{"type":46,"value":2681}," res",{"type":40,"tag":239,"props":2683,"children":2684},{"style":263},[2685],{"type":46,"value":485},{"type":40,"tag":239,"props":2687,"children":2688},{"style":333},[2689],{"type":46,"value":2690}," =>",{"type":40,"tag":239,"props":2692,"children":2693},{"style":263},[2694],{"type":46,"value":1082},{"type":40,"tag":239,"props":2696,"children":2697},{"class":241,"line":492},[2698,2703],{"type":40,"tag":239,"props":2699,"children":2700},{"style":246},[2701],{"type":46,"value":2702},"  try",{"type":40,"tag":239,"props":2704,"children":2705},{"style":263},[2706],{"type":46,"value":1082},{"type":40,"tag":239,"props":2708,"children":2709},{"class":241,"line":500},[2710],{"type":40,"tag":239,"props":2711,"children":2712},{"style":381},[2713],{"type":46,"value":2714},"    \u002F\u002F Upload the user's file to Runway\n",{"type":40,"tag":239,"props":2716,"children":2717},{"class":241,"line":509},[2718,2723,2728,2732,2736,2740,2744,2748,2752,2756,2760,2764,2768,2772,2776,2781,2785],{"type":40,"tag":239,"props":2719,"children":2720},{"style":333},[2721],{"type":46,"value":2722},"    const",{"type":40,"tag":239,"props":2724,"children":2725},{"style":252},[2726],{"type":46,"value":2727}," runwayUpload",{"type":40,"tag":239,"props":2729,"children":2730},{"style":263},[2731],{"type":46,"value":1440},{"type":40,"tag":239,"props":2733,"children":2734},{"style":246},[2735],{"type":46,"value":406},{"type":40,"tag":239,"props":2737,"children":2738},{"style":252},[2739],{"type":46,"value":411},{"type":40,"tag":239,"props":2741,"children":2742},{"style":263},[2743],{"type":46,"value":416},{"type":40,"tag":239,"props":2745,"children":2746},{"style":252},[2747],{"type":46,"value":421},{"type":40,"tag":239,"props":2749,"children":2750},{"style":263},[2751],{"type":46,"value":416},{"type":40,"tag":239,"props":2753,"children":2754},{"style":354},[2755],{"type":46,"value":430},{"type":40,"tag":239,"props":2757,"children":2758},{"style":565},[2759],{"type":46,"value":458},{"type":40,"tag":239,"props":2761,"children":2762},{"style":252},[2763],{"type":46,"value":2672},{"type":40,"tag":239,"props":2765,"children":2766},{"style":263},[2767],{"type":46,"value":416},{"type":40,"tag":239,"props":2769,"children":2770},{"style":252},[2771],{"type":46,"value":1689},{"type":40,"tag":239,"props":2773,"children":2774},{"style":263},[2775],{"type":46,"value":416},{"type":40,"tag":239,"props":2777,"children":2778},{"style":252},[2779],{"type":46,"value":2780},"buffer",{"type":40,"tag":239,"props":2782,"children":2783},{"style":565},[2784],{"type":46,"value":485},{"type":40,"tag":239,"props":2786,"children":2787},{"style":263},[2788],{"type":46,"value":282},{"type":40,"tag":239,"props":2790,"children":2791},{"class":241,"line":561},[2792],{"type":40,"tag":239,"props":2793,"children":2794},{"emptyLinePlaceholder":323},[2795],{"type":46,"value":326},{"type":40,"tag":239,"props":2797,"children":2798},{"class":241,"line":594},[2799],{"type":40,"tag":239,"props":2800,"children":2801},{"style":381},[2802],{"type":46,"value":2803},"    \u002F\u002F Use the uploaded file for video generation\n",{"type":40,"tag":239,"props":2805,"children":2806},{"class":241,"line":25},[2807,2811,2816,2820,2824,2828,2832,2836,2840,2844,2848],{"type":40,"tag":239,"props":2808,"children":2809},{"style":333},[2810],{"type":46,"value":2722},{"type":40,"tag":239,"props":2812,"children":2813},{"style":252},[2814],{"type":46,"value":2815}," task",{"type":40,"tag":239,"props":2817,"children":2818},{"style":263},[2819],{"type":46,"value":1440},{"type":40,"tag":239,"props":2821,"children":2822},{"style":246},[2823],{"type":46,"value":406},{"type":40,"tag":239,"props":2825,"children":2826},{"style":252},[2827],{"type":46,"value":411},{"type":40,"tag":239,"props":2829,"children":2830},{"style":263},[2831],{"type":46,"value":416},{"type":40,"tag":239,"props":2833,"children":2834},{"style":252},[2835],{"type":46,"value":540},{"type":40,"tag":239,"props":2837,"children":2838},{"style":263},[2839],{"type":46,"value":416},{"type":40,"tag":239,"props":2841,"children":2842},{"style":354},[2843],{"type":46,"value":549},{"type":40,"tag":239,"props":2845,"children":2846},{"style":565},[2847],{"type":46,"value":458},{"type":40,"tag":239,"props":2849,"children":2850},{"style":263},[2851],{"type":46,"value":558},{"type":40,"tag":239,"props":2853,"children":2854},{"class":241,"line":654},[2855,2860,2864,2868,2872,2876],{"type":40,"tag":239,"props":2856,"children":2857},{"style":565},[2858],{"type":46,"value":2859},"      model",{"type":40,"tag":239,"props":2861,"children":2862},{"style":263},[2863],{"type":46,"value":573},{"type":40,"tag":239,"props":2865,"children":2866},{"style":263},[2867],{"type":46,"value":266},{"type":40,"tag":239,"props":2869,"children":2870},{"style":269},[2871],{"type":46,"value":582},{"type":40,"tag":239,"props":2873,"children":2874},{"style":263},[2875],{"type":46,"value":277},{"type":40,"tag":239,"props":2877,"children":2878},{"style":263},[2879],{"type":46,"value":591},{"type":40,"tag":239,"props":2881,"children":2882},{"class":241,"line":684},[2883,2888,2892,2896,2900,2904],{"type":40,"tag":239,"props":2884,"children":2885},{"style":565},[2886],{"type":46,"value":2887},"      promptImage",{"type":40,"tag":239,"props":2889,"children":2890},{"style":263},[2891],{"type":46,"value":573},{"type":40,"tag":239,"props":2893,"children":2894},{"style":252},[2895],{"type":46,"value":2727},{"type":40,"tag":239,"props":2897,"children":2898},{"style":263},[2899],{"type":46,"value":416},{"type":40,"tag":239,"props":2901,"children":2902},{"style":252},[2903],{"type":46,"value":618},{"type":40,"tag":239,"props":2905,"children":2906},{"style":263},[2907],{"type":46,"value":591},{"type":40,"tag":239,"props":2909,"children":2910},{"class":241,"line":703},[2911,2916,2920,2925,2929,2934,2938,2943,2948,2952,2957,2961],{"type":40,"tag":239,"props":2912,"children":2913},{"style":565},[2914],{"type":46,"value":2915},"      promptText",{"type":40,"tag":239,"props":2917,"children":2918},{"style":263},[2919],{"type":46,"value":573},{"type":40,"tag":239,"props":2921,"children":2922},{"style":252},[2923],{"type":46,"value":2924}," req",{"type":40,"tag":239,"props":2926,"children":2927},{"style":263},[2928],{"type":46,"value":416},{"type":40,"tag":239,"props":2930,"children":2931},{"style":252},[2932],{"type":46,"value":2933},"body",{"type":40,"tag":239,"props":2935,"children":2936},{"style":263},[2937],{"type":46,"value":416},{"type":40,"tag":239,"props":2939,"children":2940},{"style":252},[2941],{"type":46,"value":2942},"prompt",{"type":40,"tag":239,"props":2944,"children":2945},{"style":263},[2946],{"type":46,"value":2947}," ||",{"type":40,"tag":239,"props":2949,"children":2950},{"style":263},[2951],{"type":46,"value":266},{"type":40,"tag":239,"props":2953,"children":2954},{"style":269},[2955],{"type":46,"value":2956},"Animate this image",{"type":40,"tag":239,"props":2958,"children":2959},{"style":263},[2960],{"type":46,"value":277},{"type":40,"tag":239,"props":2962,"children":2963},{"style":263},[2964],{"type":46,"value":591},{"type":40,"tag":239,"props":2966,"children":2968},{"class":241,"line":2967},19,[2969,2974,2978,2982,2986,2990],{"type":40,"tag":239,"props":2970,"children":2971},{"style":565},[2972],{"type":46,"value":2973},"      ratio",{"type":40,"tag":239,"props":2975,"children":2976},{"style":263},[2977],{"type":46,"value":573},{"type":40,"tag":239,"props":2979,"children":2980},{"style":263},[2981],{"type":46,"value":266},{"type":40,"tag":239,"props":2983,"children":2984},{"style":269},[2985],{"type":46,"value":673},{"type":40,"tag":239,"props":2987,"children":2988},{"style":263},[2989],{"type":46,"value":277},{"type":40,"tag":239,"props":2991,"children":2992},{"style":263},[2993],{"type":46,"value":591},{"type":40,"tag":239,"props":2995,"children":2997},{"class":241,"line":2996},20,[2998,3003,3007],{"type":40,"tag":239,"props":2999,"children":3000},{"style":565},[3001],{"type":46,"value":3002},"      duration",{"type":40,"tag":239,"props":3004,"children":3005},{"style":263},[3006],{"type":46,"value":573},{"type":40,"tag":239,"props":3008,"children":3009},{"style":697},[3010],{"type":46,"value":700},{"type":40,"tag":239,"props":3012,"children":3014},{"class":241,"line":3013},21,[3015,3020,3024,3028,3032,3036],{"type":40,"tag":239,"props":3016,"children":3017},{"style":263},[3018],{"type":46,"value":3019},"    }",{"type":40,"tag":239,"props":3021,"children":3022},{"style":565},[3023],{"type":46,"value":485},{"type":40,"tag":239,"props":3025,"children":3026},{"style":263},[3027],{"type":46,"value":416},{"type":40,"tag":239,"props":3029,"children":3030},{"style":354},[3031],{"type":46,"value":722},{"type":40,"tag":239,"props":3033,"children":3034},{"style":565},[3035],{"type":46,"value":362},{"type":40,"tag":239,"props":3037,"children":3038},{"style":263},[3039],{"type":46,"value":282},{"type":40,"tag":239,"props":3041,"children":3043},{"class":241,"line":3042},22,[3044],{"type":40,"tag":239,"props":3045,"children":3046},{"emptyLinePlaceholder":323},[3047],{"type":46,"value":326},{"type":40,"tag":239,"props":3049,"children":3051},{"class":241,"line":3050},23,[3052,3057,3061,3065,3069,3073,3078,3082,3086,3090,3095,3100,3105,3110,3114,3118],{"type":40,"tag":239,"props":3053,"children":3054},{"style":252},[3055],{"type":46,"value":3056},"    res",{"type":40,"tag":239,"props":3058,"children":3059},{"style":263},[3060],{"type":46,"value":416},{"type":40,"tag":239,"props":3062,"children":3063},{"style":354},[3064],{"type":46,"value":1458},{"type":40,"tag":239,"props":3066,"children":3067},{"style":565},[3068],{"type":46,"value":458},{"type":40,"tag":239,"props":3070,"children":3071},{"style":263},[3072],{"type":46,"value":2535},{"type":40,"tag":239,"props":3074,"children":3075},{"style":565},[3076],{"type":46,"value":3077}," videoUrl",{"type":40,"tag":239,"props":3079,"children":3080},{"style":263},[3081],{"type":46,"value":573},{"type":40,"tag":239,"props":3083,"children":3084},{"style":252},[3085],{"type":46,"value":2815},{"type":40,"tag":239,"props":3087,"children":3088},{"style":263},[3089],{"type":46,"value":416},{"type":40,"tag":239,"props":3091,"children":3092},{"style":252},[3093],{"type":46,"value":3094},"output",{"type":40,"tag":239,"props":3096,"children":3097},{"style":565},[3098],{"type":46,"value":3099},"[",{"type":40,"tag":239,"props":3101,"children":3102},{"style":697},[3103],{"type":46,"value":3104},"0",{"type":40,"tag":239,"props":3106,"children":3107},{"style":565},[3108],{"type":46,"value":3109},"] ",{"type":40,"tag":239,"props":3111,"children":3112},{"style":263},[3113],{"type":46,"value":709},{"type":40,"tag":239,"props":3115,"children":3116},{"style":565},[3117],{"type":46,"value":485},{"type":40,"tag":239,"props":3119,"children":3120},{"style":263},[3121],{"type":46,"value":282},{"type":40,"tag":239,"props":3123,"children":3125},{"class":241,"line":3124},24,[3126,3130,3135,3139,3144,3149],{"type":40,"tag":239,"props":3127,"children":3128},{"style":263},[3129],{"type":46,"value":1370},{"type":40,"tag":239,"props":3131,"children":3132},{"style":246},[3133],{"type":46,"value":3134}," catch",{"type":40,"tag":239,"props":3136,"children":3137},{"style":565},[3138],{"type":46,"value":1540},{"type":40,"tag":239,"props":3140,"children":3141},{"style":252},[3142],{"type":46,"value":3143},"error",{"type":40,"tag":239,"props":3145,"children":3146},{"style":565},[3147],{"type":46,"value":3148},") ",{"type":40,"tag":239,"props":3150,"children":3151},{"style":263},[3152],{"type":46,"value":558},{"type":40,"tag":239,"props":3154,"children":3156},{"class":241,"line":3155},25,[3157,3162,3166,3170,3174,3178,3183,3187,3191,3196,3200],{"type":40,"tag":239,"props":3158,"children":3159},{"style":252},[3160],{"type":46,"value":3161},"    console",{"type":40,"tag":239,"props":3163,"children":3164},{"style":263},[3165],{"type":46,"value":416},{"type":40,"tag":239,"props":3167,"children":3168},{"style":354},[3169],{"type":46,"value":3143},{"type":40,"tag":239,"props":3171,"children":3172},{"style":565},[3173],{"type":46,"value":458},{"type":40,"tag":239,"props":3175,"children":3176},{"style":263},[3177],{"type":46,"value":277},{"type":40,"tag":239,"props":3179,"children":3180},{"style":269},[3181],{"type":46,"value":3182},"Generation failed:",{"type":40,"tag":239,"props":3184,"children":3185},{"style":263},[3186],{"type":46,"value":277},{"type":40,"tag":239,"props":3188,"children":3189},{"style":263},[3190],{"type":46,"value":1077},{"type":40,"tag":239,"props":3192,"children":3193},{"style":252},[3194],{"type":46,"value":3195}," error",{"type":40,"tag":239,"props":3197,"children":3198},{"style":565},[3199],{"type":46,"value":485},{"type":40,"tag":239,"props":3201,"children":3202},{"style":263},[3203],{"type":46,"value":282},{"type":40,"tag":239,"props":3205,"children":3207},{"class":241,"line":3206},26,[3208,3212,3216,3221,3225,3230,3234,3238,3242,3246,3250,3254,3258,3262,3266,3271,3276,3280],{"type":40,"tag":239,"props":3209,"children":3210},{"style":252},[3211],{"type":46,"value":3056},{"type":40,"tag":239,"props":3213,"children":3214},{"style":263},[3215],{"type":46,"value":416},{"type":40,"tag":239,"props":3217,"children":3218},{"style":354},[3219],{"type":46,"value":3220},"status",{"type":40,"tag":239,"props":3222,"children":3223},{"style":565},[3224],{"type":46,"value":458},{"type":40,"tag":239,"props":3226,"children":3227},{"style":697},[3228],{"type":46,"value":3229},"500",{"type":40,"tag":239,"props":3231,"children":3232},{"style":565},[3233],{"type":46,"value":485},{"type":40,"tag":239,"props":3235,"children":3236},{"style":263},[3237],{"type":46,"value":416},{"type":40,"tag":239,"props":3239,"children":3240},{"style":354},[3241],{"type":46,"value":1458},{"type":40,"tag":239,"props":3243,"children":3244},{"style":565},[3245],{"type":46,"value":458},{"type":40,"tag":239,"props":3247,"children":3248},{"style":263},[3249],{"type":46,"value":2535},{"type":40,"tag":239,"props":3251,"children":3252},{"style":565},[3253],{"type":46,"value":3195},{"type":40,"tag":239,"props":3255,"children":3256},{"style":263},[3257],{"type":46,"value":573},{"type":40,"tag":239,"props":3259,"children":3260},{"style":252},[3261],{"type":46,"value":3195},{"type":40,"tag":239,"props":3263,"children":3264},{"style":263},[3265],{"type":46,"value":416},{"type":40,"tag":239,"props":3267,"children":3268},{"style":252},[3269],{"type":46,"value":3270},"message",{"type":40,"tag":239,"props":3272,"children":3273},{"style":263},[3274],{"type":46,"value":3275}," }",{"type":40,"tag":239,"props":3277,"children":3278},{"style":565},[3279],{"type":46,"value":485},{"type":40,"tag":239,"props":3281,"children":3282},{"style":263},[3283],{"type":46,"value":282},{"type":40,"tag":239,"props":3285,"children":3287},{"class":241,"line":3286},27,[3288],{"type":40,"tag":239,"props":3289,"children":3290},{"style":263},[3291],{"type":46,"value":3292},"  }\n",{"type":40,"tag":239,"props":3294,"children":3296},{"class":241,"line":3295},28,[3297,3301,3305],{"type":40,"tag":239,"props":3298,"children":3299},{"style":263},[3300],{"type":46,"value":709},{"type":40,"tag":239,"props":3302,"children":3303},{"style":252},[3304],{"type":46,"value":485},{"type":40,"tag":239,"props":3306,"children":3307},{"style":263},[3308],{"type":46,"value":282},{"type":40,"tag":221,"props":3310,"children":3312},{"id":3311},"nextjs-upload-generate",[3313],{"type":46,"value":3314},"Next.js — Upload + Generate",{"type":40,"tag":228,"props":3316,"children":3320},{"className":3317,"code":3318,"language":3319,"meta":233,"style":233},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u002F\u002F app\u002Fapi\u002Fimage-to-video\u002Froute.ts\nimport RunwayML from '@runwayml\u002Fsdk';\nimport { NextRequest, NextResponse } from 'next\u002Fserver';\n\nconst client = new RunwayML();\n\nexport async function POST(request: NextRequest) {\n  const formData = await request.formData();\n  const imageFile = formData.get('image') as File;\n  const prompt = formData.get('prompt') as string;\n\n  try {\n    \u002F\u002F Upload file to Runway\n    const upload = await client.uploads.createEphemeral(imageFile);\n\n    \u002F\u002F Generate video from the uploaded image\n    const task = await client.imageToVideo.create({\n      model: 'gen4.5',\n      promptImage: upload.runwayUri,\n      promptText: prompt || 'Animate this image',\n      ratio: '1280:720',\n      duration: 5\n    }).waitForTaskOutput();\n\n    return NextResponse.json({ videoUrl: task.output[0] });\n  } catch (error) {\n    return NextResponse.json(\n      { error: error instanceof Error ? error.message : 'Failed' },\n      { status: 500 }\n    );\n  }\n}\n","typescript",[3321],{"type":40,"tag":65,"props":3322,"children":3323},{"__ignoreMap":233},[3324,3332,3363,3414,3421,3452,3459,3507,3549,3612,3673,3680,3691,3699,3755,3762,3770,3817,3844,3871,3906,3933,3948,3975,3982,4054,4081,4104,4174,4201,4214,4222],{"type":40,"tag":239,"props":3325,"children":3326},{"class":241,"line":242},[3327],{"type":40,"tag":239,"props":3328,"children":3329},{"style":381},[3330],{"type":46,"value":3331},"\u002F\u002F app\u002Fapi\u002Fimage-to-video\u002Froute.ts\n",{"type":40,"tag":239,"props":3333,"children":3334},{"class":241,"line":285},[3335,3339,3343,3347,3351,3355,3359],{"type":40,"tag":239,"props":3336,"children":3337},{"style":246},[3338],{"type":46,"value":249},{"type":40,"tag":239,"props":3340,"children":3341},{"style":252},[3342],{"type":46,"value":255},{"type":40,"tag":239,"props":3344,"children":3345},{"style":246},[3346],{"type":46,"value":260},{"type":40,"tag":239,"props":3348,"children":3349},{"style":263},[3350],{"type":46,"value":266},{"type":40,"tag":239,"props":3352,"children":3353},{"style":269},[3354],{"type":46,"value":272},{"type":40,"tag":239,"props":3356,"children":3357},{"style":263},[3358],{"type":46,"value":277},{"type":40,"tag":239,"props":3360,"children":3361},{"style":263},[3362],{"type":46,"value":282},{"type":40,"tag":239,"props":3364,"children":3365},{"class":241,"line":319},[3366,3370,3374,3379,3383,3388,3392,3397,3401,3406,3410],{"type":40,"tag":239,"props":3367,"children":3368},{"style":246},[3369],{"type":46,"value":249},{"type":40,"tag":239,"props":3371,"children":3372},{"style":263},[3373],{"type":46,"value":1408},{"type":40,"tag":239,"props":3375,"children":3376},{"style":252},[3377],{"type":46,"value":3378}," NextRequest",{"type":40,"tag":239,"props":3380,"children":3381},{"style":263},[3382],{"type":46,"value":1077},{"type":40,"tag":239,"props":3384,"children":3385},{"style":252},[3386],{"type":46,"value":3387}," NextResponse",{"type":40,"tag":239,"props":3389,"children":3390},{"style":263},[3391],{"type":46,"value":3275},{"type":40,"tag":239,"props":3393,"children":3394},{"style":246},[3395],{"type":46,"value":3396}," from",{"type":40,"tag":239,"props":3398,"children":3399},{"style":263},[3400],{"type":46,"value":266},{"type":40,"tag":239,"props":3402,"children":3403},{"style":269},[3404],{"type":46,"value":3405},"next\u002Fserver",{"type":40,"tag":239,"props":3407,"children":3408},{"style":263},[3409],{"type":46,"value":277},{"type":40,"tag":239,"props":3411,"children":3412},{"style":263},[3413],{"type":46,"value":282},{"type":40,"tag":239,"props":3415,"children":3416},{"class":241,"line":329},[3417],{"type":40,"tag":239,"props":3418,"children":3419},{"emptyLinePlaceholder":323},[3420],{"type":46,"value":326},{"type":40,"tag":239,"props":3422,"children":3423},{"class":241,"line":369},[3424,3428,3432,3436,3440,3444,3448],{"type":40,"tag":239,"props":3425,"children":3426},{"style":333},[3427],{"type":46,"value":336},{"type":40,"tag":239,"props":3429,"children":3430},{"style":252},[3431],{"type":46,"value":341},{"type":40,"tag":239,"props":3433,"children":3434},{"style":263},[3435],{"type":46,"value":346},{"type":40,"tag":239,"props":3437,"children":3438},{"style":263},[3439],{"type":46,"value":351},{"type":40,"tag":239,"props":3441,"children":3442},{"style":354},[3443],{"type":46,"value":357},{"type":40,"tag":239,"props":3445,"children":3446},{"style":252},[3447],{"type":46,"value":362},{"type":40,"tag":239,"props":3449,"children":3450},{"style":263},[3451],{"type":46,"value":282},{"type":40,"tag":239,"props":3453,"children":3454},{"class":241,"line":377},[3455],{"type":40,"tag":239,"props":3456,"children":3457},{"emptyLinePlaceholder":323},[3458],{"type":46,"value":326},{"type":40,"tag":239,"props":3460,"children":3461},{"class":241,"line":387},[3462,3467,3471,3476,3481,3485,3490,3494,3499,3503],{"type":40,"tag":239,"props":3463,"children":3464},{"style":246},[3465],{"type":46,"value":3466},"export",{"type":40,"tag":239,"props":3468,"children":3469},{"style":333},[3470],{"type":46,"value":2662},{"type":40,"tag":239,"props":3472,"children":3473},{"style":333},[3474],{"type":46,"value":3475}," function",{"type":40,"tag":239,"props":3477,"children":3478},{"style":354},[3479],{"type":46,"value":3480}," POST",{"type":40,"tag":239,"props":3482,"children":3483},{"style":263},[3484],{"type":46,"value":458},{"type":40,"tag":239,"props":3486,"children":3487},{"style":2669},[3488],{"type":46,"value":3489},"request",{"type":40,"tag":239,"props":3491,"children":3492},{"style":263},[3493],{"type":46,"value":573},{"type":40,"tag":239,"props":3495,"children":3497},{"style":3496},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[3498],{"type":46,"value":3378},{"type":40,"tag":239,"props":3500,"children":3501},{"style":263},[3502],{"type":46,"value":485},{"type":40,"tag":239,"props":3504,"children":3505},{"style":263},[3506],{"type":46,"value":1082},{"type":40,"tag":239,"props":3508,"children":3509},{"class":241,"line":438},[3510,3515,3520,3524,3528,3533,3537,3541,3545],{"type":40,"tag":239,"props":3511,"children":3512},{"style":333},[3513],{"type":46,"value":3514},"  const",{"type":40,"tag":239,"props":3516,"children":3517},{"style":252},[3518],{"type":46,"value":3519}," formData",{"type":40,"tag":239,"props":3521,"children":3522},{"style":263},[3523],{"type":46,"value":1440},{"type":40,"tag":239,"props":3525,"children":3526},{"style":246},[3527],{"type":46,"value":406},{"type":40,"tag":239,"props":3529,"children":3530},{"style":252},[3531],{"type":46,"value":3532}," request",{"type":40,"tag":239,"props":3534,"children":3535},{"style":263},[3536],{"type":46,"value":416},{"type":40,"tag":239,"props":3538,"children":3539},{"style":354},[3540],{"type":46,"value":1668},{"type":40,"tag":239,"props":3542,"children":3543},{"style":565},[3544],{"type":46,"value":362},{"type":40,"tag":239,"props":3546,"children":3547},{"style":263},[3548],{"type":46,"value":282},{"type":40,"tag":239,"props":3550,"children":3551},{"class":241,"line":479},[3552,3556,3561,3565,3569,3573,3578,3582,3586,3590,3594,3598,3603,3608],{"type":40,"tag":239,"props":3553,"children":3554},{"style":333},[3555],{"type":46,"value":3514},{"type":40,"tag":239,"props":3557,"children":3558},{"style":252},[3559],{"type":46,"value":3560}," imageFile",{"type":40,"tag":239,"props":3562,"children":3563},{"style":263},[3564],{"type":46,"value":1440},{"type":40,"tag":239,"props":3566,"children":3567},{"style":252},[3568],{"type":46,"value":3519},{"type":40,"tag":239,"props":3570,"children":3571},{"style":263},[3572],{"type":46,"value":416},{"type":40,"tag":239,"props":3574,"children":3575},{"style":354},[3576],{"type":46,"value":3577},"get",{"type":40,"tag":239,"props":3579,"children":3580},{"style":565},[3581],{"type":46,"value":458},{"type":40,"tag":239,"props":3583,"children":3584},{"style":263},[3585],{"type":46,"value":277},{"type":40,"tag":239,"props":3587,"children":3588},{"style":269},[3589],{"type":46,"value":2645},{"type":40,"tag":239,"props":3591,"children":3592},{"style":263},[3593],{"type":46,"value":277},{"type":40,"tag":239,"props":3595,"children":3596},{"style":565},[3597],{"type":46,"value":3148},{"type":40,"tag":239,"props":3599,"children":3600},{"style":246},[3601],{"type":46,"value":3602},"as",{"type":40,"tag":239,"props":3604,"children":3605},{"style":3496},[3606],{"type":46,"value":3607}," File",{"type":40,"tag":239,"props":3609,"children":3610},{"style":263},[3611],{"type":46,"value":282},{"type":40,"tag":239,"props":3613,"children":3614},{"class":241,"line":492},[3615,3619,3624,3628,3632,3636,3640,3644,3648,3652,3656,3660,3664,3669],{"type":40,"tag":239,"props":3616,"children":3617},{"style":333},[3618],{"type":46,"value":3514},{"type":40,"tag":239,"props":3620,"children":3621},{"style":252},[3622],{"type":46,"value":3623}," prompt",{"type":40,"tag":239,"props":3625,"children":3626},{"style":263},[3627],{"type":46,"value":1440},{"type":40,"tag":239,"props":3629,"children":3630},{"style":252},[3631],{"type":46,"value":3519},{"type":40,"tag":239,"props":3633,"children":3634},{"style":263},[3635],{"type":46,"value":416},{"type":40,"tag":239,"props":3637,"children":3638},{"style":354},[3639],{"type":46,"value":3577},{"type":40,"tag":239,"props":3641,"children":3642},{"style":565},[3643],{"type":46,"value":458},{"type":40,"tag":239,"props":3645,"children":3646},{"style":263},[3647],{"type":46,"value":277},{"type":40,"tag":239,"props":3649,"children":3650},{"style":269},[3651],{"type":46,"value":2942},{"type":40,"tag":239,"props":3653,"children":3654},{"style":263},[3655],{"type":46,"value":277},{"type":40,"tag":239,"props":3657,"children":3658},{"style":565},[3659],{"type":46,"value":3148},{"type":40,"tag":239,"props":3661,"children":3662},{"style":246},[3663],{"type":46,"value":3602},{"type":40,"tag":239,"props":3665,"children":3666},{"style":3496},[3667],{"type":46,"value":3668}," string",{"type":40,"tag":239,"props":3670,"children":3671},{"style":263},[3672],{"type":46,"value":282},{"type":40,"tag":239,"props":3674,"children":3675},{"class":241,"line":500},[3676],{"type":40,"tag":239,"props":3677,"children":3678},{"emptyLinePlaceholder":323},[3679],{"type":46,"value":326},{"type":40,"tag":239,"props":3681,"children":3682},{"class":241,"line":509},[3683,3687],{"type":40,"tag":239,"props":3684,"children":3685},{"style":246},[3686],{"type":46,"value":2702},{"type":40,"tag":239,"props":3688,"children":3689},{"style":263},[3690],{"type":46,"value":1082},{"type":40,"tag":239,"props":3692,"children":3693},{"class":241,"line":561},[3694],{"type":40,"tag":239,"props":3695,"children":3696},{"style":381},[3697],{"type":46,"value":3698},"    \u002F\u002F Upload file to Runway\n",{"type":40,"tag":239,"props":3700,"children":3701},{"class":241,"line":594},[3702,3706,3710,3714,3718,3722,3726,3730,3734,3738,3742,3747,3751],{"type":40,"tag":239,"props":3703,"children":3704},{"style":333},[3705],{"type":46,"value":2722},{"type":40,"tag":239,"props":3707,"children":3708},{"style":252},[3709],{"type":46,"value":609},{"type":40,"tag":239,"props":3711,"children":3712},{"style":263},[3713],{"type":46,"value":1440},{"type":40,"tag":239,"props":3715,"children":3716},{"style":246},[3717],{"type":46,"value":406},{"type":40,"tag":239,"props":3719,"children":3720},{"style":252},[3721],{"type":46,"value":411},{"type":40,"tag":239,"props":3723,"children":3724},{"style":263},[3725],{"type":46,"value":416},{"type":40,"tag":239,"props":3727,"children":3728},{"style":252},[3729],{"type":46,"value":421},{"type":40,"tag":239,"props":3731,"children":3732},{"style":263},[3733],{"type":46,"value":416},{"type":40,"tag":239,"props":3735,"children":3736},{"style":354},[3737],{"type":46,"value":430},{"type":40,"tag":239,"props":3739,"children":3740},{"style":565},[3741],{"type":46,"value":458},{"type":40,"tag":239,"props":3743,"children":3744},{"style":252},[3745],{"type":46,"value":3746},"imageFile",{"type":40,"tag":239,"props":3748,"children":3749},{"style":565},[3750],{"type":46,"value":485},{"type":40,"tag":239,"props":3752,"children":3753},{"style":263},[3754],{"type":46,"value":282},{"type":40,"tag":239,"props":3756,"children":3757},{"class":241,"line":25},[3758],{"type":40,"tag":239,"props":3759,"children":3760},{"emptyLinePlaceholder":323},[3761],{"type":46,"value":326},{"type":40,"tag":239,"props":3763,"children":3764},{"class":241,"line":654},[3765],{"type":40,"tag":239,"props":3766,"children":3767},{"style":381},[3768],{"type":46,"value":3769},"    \u002F\u002F Generate video from the uploaded image\n",{"type":40,"tag":239,"props":3771,"children":3772},{"class":241,"line":684},[3773,3777,3781,3785,3789,3793,3797,3801,3805,3809,3813],{"type":40,"tag":239,"props":3774,"children":3775},{"style":333},[3776],{"type":46,"value":2722},{"type":40,"tag":239,"props":3778,"children":3779},{"style":252},[3780],{"type":46,"value":2815},{"type":40,"tag":239,"props":3782,"children":3783},{"style":263},[3784],{"type":46,"value":1440},{"type":40,"tag":239,"props":3786,"children":3787},{"style":246},[3788],{"type":46,"value":406},{"type":40,"tag":239,"props":3790,"children":3791},{"style":252},[3792],{"type":46,"value":411},{"type":40,"tag":239,"props":3794,"children":3795},{"style":263},[3796],{"type":46,"value":416},{"type":40,"tag":239,"props":3798,"children":3799},{"style":252},[3800],{"type":46,"value":540},{"type":40,"tag":239,"props":3802,"children":3803},{"style":263},[3804],{"type":46,"value":416},{"type":40,"tag":239,"props":3806,"children":3807},{"style":354},[3808],{"type":46,"value":549},{"type":40,"tag":239,"props":3810,"children":3811},{"style":565},[3812],{"type":46,"value":458},{"type":40,"tag":239,"props":3814,"children":3815},{"style":263},[3816],{"type":46,"value":558},{"type":40,"tag":239,"props":3818,"children":3819},{"class":241,"line":703},[3820,3824,3828,3832,3836,3840],{"type":40,"tag":239,"props":3821,"children":3822},{"style":565},[3823],{"type":46,"value":2859},{"type":40,"tag":239,"props":3825,"children":3826},{"style":263},[3827],{"type":46,"value":573},{"type":40,"tag":239,"props":3829,"children":3830},{"style":263},[3831],{"type":46,"value":266},{"type":40,"tag":239,"props":3833,"children":3834},{"style":269},[3835],{"type":46,"value":582},{"type":40,"tag":239,"props":3837,"children":3838},{"style":263},[3839],{"type":46,"value":277},{"type":40,"tag":239,"props":3841,"children":3842},{"style":263},[3843],{"type":46,"value":591},{"type":40,"tag":239,"props":3845,"children":3846},{"class":241,"line":2967},[3847,3851,3855,3859,3863,3867],{"type":40,"tag":239,"props":3848,"children":3849},{"style":565},[3850],{"type":46,"value":2887},{"type":40,"tag":239,"props":3852,"children":3853},{"style":263},[3854],{"type":46,"value":573},{"type":40,"tag":239,"props":3856,"children":3857},{"style":252},[3858],{"type":46,"value":609},{"type":40,"tag":239,"props":3860,"children":3861},{"style":263},[3862],{"type":46,"value":416},{"type":40,"tag":239,"props":3864,"children":3865},{"style":252},[3866],{"type":46,"value":618},{"type":40,"tag":239,"props":3868,"children":3869},{"style":263},[3870],{"type":46,"value":591},{"type":40,"tag":239,"props":3872,"children":3873},{"class":241,"line":2996},[3874,3878,3882,3886,3890,3894,3898,3902],{"type":40,"tag":239,"props":3875,"children":3876},{"style":565},[3877],{"type":46,"value":2915},{"type":40,"tag":239,"props":3879,"children":3880},{"style":263},[3881],{"type":46,"value":573},{"type":40,"tag":239,"props":3883,"children":3884},{"style":252},[3885],{"type":46,"value":3623},{"type":40,"tag":239,"props":3887,"children":3888},{"style":263},[3889],{"type":46,"value":2947},{"type":40,"tag":239,"props":3891,"children":3892},{"style":263},[3893],{"type":46,"value":266},{"type":40,"tag":239,"props":3895,"children":3896},{"style":269},[3897],{"type":46,"value":2956},{"type":40,"tag":239,"props":3899,"children":3900},{"style":263},[3901],{"type":46,"value":277},{"type":40,"tag":239,"props":3903,"children":3904},{"style":263},[3905],{"type":46,"value":591},{"type":40,"tag":239,"props":3907,"children":3908},{"class":241,"line":3013},[3909,3913,3917,3921,3925,3929],{"type":40,"tag":239,"props":3910,"children":3911},{"style":565},[3912],{"type":46,"value":2973},{"type":40,"tag":239,"props":3914,"children":3915},{"style":263},[3916],{"type":46,"value":573},{"type":40,"tag":239,"props":3918,"children":3919},{"style":263},[3920],{"type":46,"value":266},{"type":40,"tag":239,"props":3922,"children":3923},{"style":269},[3924],{"type":46,"value":673},{"type":40,"tag":239,"props":3926,"children":3927},{"style":263},[3928],{"type":46,"value":277},{"type":40,"tag":239,"props":3930,"children":3931},{"style":263},[3932],{"type":46,"value":591},{"type":40,"tag":239,"props":3934,"children":3935},{"class":241,"line":3042},[3936,3940,3944],{"type":40,"tag":239,"props":3937,"children":3938},{"style":565},[3939],{"type":46,"value":3002},{"type":40,"tag":239,"props":3941,"children":3942},{"style":263},[3943],{"type":46,"value":573},{"type":40,"tag":239,"props":3945,"children":3946},{"style":697},[3947],{"type":46,"value":700},{"type":40,"tag":239,"props":3949,"children":3950},{"class":241,"line":3050},[3951,3955,3959,3963,3967,3971],{"type":40,"tag":239,"props":3952,"children":3953},{"style":263},[3954],{"type":46,"value":3019},{"type":40,"tag":239,"props":3956,"children":3957},{"style":565},[3958],{"type":46,"value":485},{"type":40,"tag":239,"props":3960,"children":3961},{"style":263},[3962],{"type":46,"value":416},{"type":40,"tag":239,"props":3964,"children":3965},{"style":354},[3966],{"type":46,"value":722},{"type":40,"tag":239,"props":3968,"children":3969},{"style":565},[3970],{"type":46,"value":362},{"type":40,"tag":239,"props":3972,"children":3973},{"style":263},[3974],{"type":46,"value":282},{"type":40,"tag":239,"props":3976,"children":3977},{"class":241,"line":3124},[3978],{"type":40,"tag":239,"props":3979,"children":3980},{"emptyLinePlaceholder":323},[3981],{"type":46,"value":326},{"type":40,"tag":239,"props":3983,"children":3984},{"class":241,"line":3155},[3985,3990,3994,3998,4002,4006,4010,4014,4018,4022,4026,4030,4034,4038,4042,4046,4050],{"type":40,"tag":239,"props":3986,"children":3987},{"style":246},[3988],{"type":46,"value":3989},"    return",{"type":40,"tag":239,"props":3991,"children":3992},{"style":252},[3993],{"type":46,"value":3387},{"type":40,"tag":239,"props":3995,"children":3996},{"style":263},[3997],{"type":46,"value":416},{"type":40,"tag":239,"props":3999,"children":4000},{"style":354},[4001],{"type":46,"value":1458},{"type":40,"tag":239,"props":4003,"children":4004},{"style":565},[4005],{"type":46,"value":458},{"type":40,"tag":239,"props":4007,"children":4008},{"style":263},[4009],{"type":46,"value":2535},{"type":40,"tag":239,"props":4011,"children":4012},{"style":565},[4013],{"type":46,"value":3077},{"type":40,"tag":239,"props":4015,"children":4016},{"style":263},[4017],{"type":46,"value":573},{"type":40,"tag":239,"props":4019,"children":4020},{"style":252},[4021],{"type":46,"value":2815},{"type":40,"tag":239,"props":4023,"children":4024},{"style":263},[4025],{"type":46,"value":416},{"type":40,"tag":239,"props":4027,"children":4028},{"style":252},[4029],{"type":46,"value":3094},{"type":40,"tag":239,"props":4031,"children":4032},{"style":565},[4033],{"type":46,"value":3099},{"type":40,"tag":239,"props":4035,"children":4036},{"style":697},[4037],{"type":46,"value":3104},{"type":40,"tag":239,"props":4039,"children":4040},{"style":565},[4041],{"type":46,"value":3109},{"type":40,"tag":239,"props":4043,"children":4044},{"style":263},[4045],{"type":46,"value":709},{"type":40,"tag":239,"props":4047,"children":4048},{"style":565},[4049],{"type":46,"value":485},{"type":40,"tag":239,"props":4051,"children":4052},{"style":263},[4053],{"type":46,"value":282},{"type":40,"tag":239,"props":4055,"children":4056},{"class":241,"line":3206},[4057,4061,4065,4069,4073,4077],{"type":40,"tag":239,"props":4058,"children":4059},{"style":263},[4060],{"type":46,"value":1370},{"type":40,"tag":239,"props":4062,"children":4063},{"style":246},[4064],{"type":46,"value":3134},{"type":40,"tag":239,"props":4066,"children":4067},{"style":565},[4068],{"type":46,"value":1540},{"type":40,"tag":239,"props":4070,"children":4071},{"style":252},[4072],{"type":46,"value":3143},{"type":40,"tag":239,"props":4074,"children":4075},{"style":565},[4076],{"type":46,"value":3148},{"type":40,"tag":239,"props":4078,"children":4079},{"style":263},[4080],{"type":46,"value":558},{"type":40,"tag":239,"props":4082,"children":4083},{"class":241,"line":3286},[4084,4088,4092,4096,4100],{"type":40,"tag":239,"props":4085,"children":4086},{"style":246},[4087],{"type":46,"value":3989},{"type":40,"tag":239,"props":4089,"children":4090},{"style":252},[4091],{"type":46,"value":3387},{"type":40,"tag":239,"props":4093,"children":4094},{"style":263},[4095],{"type":46,"value":416},{"type":40,"tag":239,"props":4097,"children":4098},{"style":354},[4099],{"type":46,"value":1458},{"type":40,"tag":239,"props":4101,"children":4102},{"style":565},[4103],{"type":46,"value":435},{"type":40,"tag":239,"props":4105,"children":4106},{"class":241,"line":3295},[4107,4112,4116,4120,4124,4129,4134,4139,4143,4147,4151,4156,4160,4165,4169],{"type":40,"tag":239,"props":4108,"children":4109},{"style":263},[4110],{"type":46,"value":4111},"      {",{"type":40,"tag":239,"props":4113,"children":4114},{"style":565},[4115],{"type":46,"value":3195},{"type":40,"tag":239,"props":4117,"children":4118},{"style":263},[4119],{"type":46,"value":573},{"type":40,"tag":239,"props":4121,"children":4122},{"style":252},[4123],{"type":46,"value":3195},{"type":40,"tag":239,"props":4125,"children":4126},{"style":263},[4127],{"type":46,"value":4128}," instanceof",{"type":40,"tag":239,"props":4130,"children":4131},{"style":3496},[4132],{"type":46,"value":4133}," Error",{"type":40,"tag":239,"props":4135,"children":4136},{"style":263},[4137],{"type":46,"value":4138}," ?",{"type":40,"tag":239,"props":4140,"children":4141},{"style":252},[4142],{"type":46,"value":3195},{"type":40,"tag":239,"props":4144,"children":4145},{"style":263},[4146],{"type":46,"value":416},{"type":40,"tag":239,"props":4148,"children":4149},{"style":252},[4150],{"type":46,"value":3270},{"type":40,"tag":239,"props":4152,"children":4153},{"style":263},[4154],{"type":46,"value":4155}," :",{"type":40,"tag":239,"props":4157,"children":4158},{"style":263},[4159],{"type":46,"value":266},{"type":40,"tag":239,"props":4161,"children":4162},{"style":269},[4163],{"type":46,"value":4164},"Failed",{"type":40,"tag":239,"props":4166,"children":4167},{"style":263},[4168],{"type":46,"value":277},{"type":40,"tag":239,"props":4170,"children":4171},{"style":263},[4172],{"type":46,"value":4173}," },\n",{"type":40,"tag":239,"props":4175,"children":4177},{"class":241,"line":4176},29,[4178,4182,4187,4191,4196],{"type":40,"tag":239,"props":4179,"children":4180},{"style":263},[4181],{"type":46,"value":4111},{"type":40,"tag":239,"props":4183,"children":4184},{"style":565},[4185],{"type":46,"value":4186}," status",{"type":40,"tag":239,"props":4188,"children":4189},{"style":263},[4190],{"type":46,"value":573},{"type":40,"tag":239,"props":4192,"children":4193},{"style":697},[4194],{"type":46,"value":4195}," 500",{"type":40,"tag":239,"props":4197,"children":4198},{"style":263},[4199],{"type":46,"value":4200}," }\n",{"type":40,"tag":239,"props":4202,"children":4204},{"class":241,"line":4203},30,[4205,4210],{"type":40,"tag":239,"props":4206,"children":4207},{"style":565},[4208],{"type":46,"value":4209},"    )",{"type":40,"tag":239,"props":4211,"children":4212},{"style":263},[4213],{"type":46,"value":282},{"type":40,"tag":239,"props":4215,"children":4217},{"class":241,"line":4216},31,[4218],{"type":40,"tag":239,"props":4219,"children":4220},{"style":263},[4221],{"type":46,"value":3292},{"type":40,"tag":239,"props":4223,"children":4225},{"class":241,"line":4224},32,[4226],{"type":40,"tag":239,"props":4227,"children":4228},{"style":263},[4229],{"type":46,"value":1645},{"type":40,"tag":221,"props":4231,"children":4233},{"id":4232},"fastapi-upload-generate",[4234],{"type":46,"value":4235},"FastAPI — Upload + Generate",{"type":40,"tag":228,"props":4237,"children":4239},{"className":821,"code":4238,"language":815,"meta":233,"style":233},"from fastapi import FastAPI, UploadFile, Form, HTTPException\nfrom runwayml import RunwayML\n\napp = FastAPI()\nclient = RunwayML()\n\n@app.post(\"\u002Fapi\u002Fimage-to-video\")\nasync def image_to_video(image: UploadFile, prompt: str = Form(\"Animate this image\")):\n    try:\n        # Upload to Runway\n        content = await image.read()\n        upload = client.uploads.create_ephemeral((image.filename, content))\n\n        # Generate video\n        task = client.image_to_video.create(\n            model=\"gen4.5\",\n            prompt_image=upload.runway_uri,\n            prompt_text=prompt,\n            ratio=\"1280:720\",\n            duration=5\n        ).wait_for_task_output()\n\n        return {\"video_url\": task.output[0]}\n    except Exception as e:\n        raise HTTPException(status_code=500, detail=str(e))\n",[4240],{"type":40,"tag":65,"props":4241,"children":4242},{"__ignoreMap":233},[4243,4251,4258,4265,4273,4280,4287,4295,4303,4311,4319,4327,4335,4342,4350,4358,4366,4374,4382,4390,4398,4406,4413,4421,4429],{"type":40,"tag":239,"props":4244,"children":4245},{"class":241,"line":242},[4246],{"type":40,"tag":239,"props":4247,"children":4248},{},[4249],{"type":46,"value":4250},"from fastapi import FastAPI, UploadFile, Form, HTTPException\n",{"type":40,"tag":239,"props":4252,"children":4253},{"class":241,"line":285},[4254],{"type":40,"tag":239,"props":4255,"children":4256},{},[4257],{"type":46,"value":834},{"type":40,"tag":239,"props":4259,"children":4260},{"class":241,"line":319},[4261],{"type":40,"tag":239,"props":4262,"children":4263},{"emptyLinePlaceholder":323},[4264],{"type":46,"value":326},{"type":40,"tag":239,"props":4266,"children":4267},{"class":241,"line":329},[4268],{"type":40,"tag":239,"props":4269,"children":4270},{},[4271],{"type":46,"value":4272},"app = FastAPI()\n",{"type":40,"tag":239,"props":4274,"children":4275},{"class":241,"line":369},[4276],{"type":40,"tag":239,"props":4277,"children":4278},{},[4279],{"type":46,"value":857},{"type":40,"tag":239,"props":4281,"children":4282},{"class":241,"line":377},[4283],{"type":40,"tag":239,"props":4284,"children":4285},{"emptyLinePlaceholder":323},[4286],{"type":46,"value":326},{"type":40,"tag":239,"props":4288,"children":4289},{"class":241,"line":387},[4290],{"type":40,"tag":239,"props":4291,"children":4292},{},[4293],{"type":46,"value":4294},"@app.post(\"\u002Fapi\u002Fimage-to-video\")\n",{"type":40,"tag":239,"props":4296,"children":4297},{"class":241,"line":438},[4298],{"type":40,"tag":239,"props":4299,"children":4300},{},[4301],{"type":46,"value":4302},"async def image_to_video(image: UploadFile, prompt: str = Form(\"Animate this image\")):\n",{"type":40,"tag":239,"props":4304,"children":4305},{"class":241,"line":479},[4306],{"type":40,"tag":239,"props":4307,"children":4308},{},[4309],{"type":46,"value":4310},"    try:\n",{"type":40,"tag":239,"props":4312,"children":4313},{"class":241,"line":492},[4314],{"type":40,"tag":239,"props":4315,"children":4316},{},[4317],{"type":46,"value":4318},"        # Upload to Runway\n",{"type":40,"tag":239,"props":4320,"children":4321},{"class":241,"line":500},[4322],{"type":40,"tag":239,"props":4323,"children":4324},{},[4325],{"type":46,"value":4326},"        content = await image.read()\n",{"type":40,"tag":239,"props":4328,"children":4329},{"class":241,"line":509},[4330],{"type":40,"tag":239,"props":4331,"children":4332},{},[4333],{"type":46,"value":4334},"        upload = client.uploads.create_ephemeral((image.filename, content))\n",{"type":40,"tag":239,"props":4336,"children":4337},{"class":241,"line":561},[4338],{"type":40,"tag":239,"props":4339,"children":4340},{"emptyLinePlaceholder":323},[4341],{"type":46,"value":326},{"type":40,"tag":239,"props":4343,"children":4344},{"class":241,"line":594},[4345],{"type":40,"tag":239,"props":4346,"children":4347},{},[4348],{"type":46,"value":4349},"        # Generate video\n",{"type":40,"tag":239,"props":4351,"children":4352},{"class":241,"line":25},[4353],{"type":40,"tag":239,"props":4354,"children":4355},{},[4356],{"type":46,"value":4357},"        task = client.image_to_video.create(\n",{"type":40,"tag":239,"props":4359,"children":4360},{"class":241,"line":654},[4361],{"type":40,"tag":239,"props":4362,"children":4363},{},[4364],{"type":46,"value":4365},"            model=\"gen4.5\",\n",{"type":40,"tag":239,"props":4367,"children":4368},{"class":241,"line":684},[4369],{"type":40,"tag":239,"props":4370,"children":4371},{},[4372],{"type":46,"value":4373},"            prompt_image=upload.runway_uri,\n",{"type":40,"tag":239,"props":4375,"children":4376},{"class":241,"line":703},[4377],{"type":40,"tag":239,"props":4378,"children":4379},{},[4380],{"type":46,"value":4381},"            prompt_text=prompt,\n",{"type":40,"tag":239,"props":4383,"children":4384},{"class":241,"line":2967},[4385],{"type":40,"tag":239,"props":4386,"children":4387},{},[4388],{"type":46,"value":4389},"            ratio=\"1280:720\",\n",{"type":40,"tag":239,"props":4391,"children":4392},{"class":241,"line":2996},[4393],{"type":40,"tag":239,"props":4394,"children":4395},{},[4396],{"type":46,"value":4397},"            duration=5\n",{"type":40,"tag":239,"props":4399,"children":4400},{"class":241,"line":3013},[4401],{"type":40,"tag":239,"props":4402,"children":4403},{},[4404],{"type":46,"value":4405},"        ).wait_for_task_output()\n",{"type":40,"tag":239,"props":4407,"children":4408},{"class":241,"line":3042},[4409],{"type":40,"tag":239,"props":4410,"children":4411},{"emptyLinePlaceholder":323},[4412],{"type":46,"value":326},{"type":40,"tag":239,"props":4414,"children":4415},{"class":241,"line":3050},[4416],{"type":40,"tag":239,"props":4417,"children":4418},{},[4419],{"type":46,"value":4420},"        return {\"video_url\": task.output[0]}\n",{"type":40,"tag":239,"props":4422,"children":4423},{"class":241,"line":3124},[4424],{"type":40,"tag":239,"props":4425,"children":4426},{},[4427],{"type":46,"value":4428},"    except Exception as e:\n",{"type":40,"tag":239,"props":4430,"children":4431},{"class":241,"line":3155},[4432],{"type":40,"tag":239,"props":4433,"children":4434},{},[4435],{"type":46,"value":4436},"        raise HTTPException(status_code=500, detail=str(e))\n",{"type":40,"tag":95,"props":4438,"children":4440},{"id":4439},"tips",[4441],{"type":46,"value":4442},"Tips",{"type":40,"tag":107,"props":4444,"children":4445},{},[4446,4456,4471,4481,4498],{"type":40,"tag":111,"props":4447,"children":4448},{},[4449,4454],{"type":40,"tag":57,"props":4450,"children":4451},{},[4452],{"type":46,"value":4453},"Always upload local files",{"type":46,"value":4455}," before passing them to generation endpoints. Don't try to pass local file paths — they won't work.",{"type":40,"tag":111,"props":4457,"children":4458},{},[4459,4469],{"type":40,"tag":57,"props":4460,"children":4461},{},[4462,4467],{"type":40,"tag":65,"props":4463,"children":4465},{"className":4464},[],[4466],{"type":46,"value":198},{"type":46,"value":4468}," URIs expire after 24 hours.",{"type":46,"value":4470}," If you need to re-use an asset, upload it again.",{"type":40,"tag":111,"props":4472,"children":4473},{},[4474,4479],{"type":40,"tag":57,"props":4475,"children":4476},{},[4477],{"type":46,"value":4478},"The SDK handles the presigned URL flow automatically",{"type":46,"value":4480}," — prefer the SDK over manual REST calls.",{"type":40,"tag":111,"props":4482,"children":4483},{},[4484,4489,4491,4496],{"type":40,"tag":57,"props":4485,"children":4486},{},[4487],{"type":46,"value":4488},"For models requiring image\u002Fvideo input",{"type":46,"value":4490}," (image-to-video, video-to-video, character performance), upload the asset first, then pass the ",{"type":40,"tag":65,"props":4492,"children":4494},{"className":4493},[],[4495],{"type":46,"value":198},{"type":46,"value":4497}," URI.",{"type":40,"tag":111,"props":4499,"children":4500},{},[4501,4506],{"type":40,"tag":57,"props":4502,"children":4503},{},[4504],{"type":46,"value":4505},"Maximum 200 MB per file",{"type":46,"value":4507}," via uploads — larger than URL (16 MB) or data URI (5 MB) limits.",{"type":40,"tag":4509,"props":4510,"children":4511},"style",{},[4512],{"type":46,"value":4513},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":4515,"total":703},[4516,4533,4542,4556,4571,4586,4599,4610,4624,4642,4653,4673],{"slug":4517,"name":4517,"fn":4518,"description":4519,"org":4520,"tags":4521,"stars":21,"repoUrl":22,"updatedAt":4532},"rw-api-reference","look up Runway API reference","Complete reference for Runway's public API: models, endpoints, costs, limits, and types",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[4522,4525,4526,4529],{"name":4523,"slug":4524,"type":16},"AI Infrastructure","ai-infrastructure",{"name":19,"slug":20,"type":16},{"name":4527,"slug":4528,"type":16},"Reference","reference",{"name":4530,"slug":4531,"type":16},"Video","video","2026-04-08T04:41:58.820783",{"slug":4534,"name":4534,"fn":4535,"description":4536,"org":4537,"tags":4538,"stars":21,"repoUrl":22,"updatedAt":4541},"rw-check-compatibility","verify codebase compatibility with the Runway API","Analyze a user's codebase to verify it can use Runway's public API (server-side requirement)",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[4539,4540],{"name":19,"slug":20,"type":16},{"name":9,"slug":8,"type":16},"2026-04-08T04:42:01.271257",{"slug":4543,"name":4543,"fn":4544,"description":4545,"org":4546,"tags":4547,"stars":21,"repoUrl":22,"updatedAt":4555},"rw-check-org-details","query Runway API for organization details","Query the Runway API for organization details: rate limits, credit balance, usage tier, and daily generation counts",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[4548,4551,4554],{"name":4549,"slug":4550,"type":16},"Operations","operations",{"name":4552,"slug":4553,"type":16},"Reporting","reporting",{"name":9,"slug":8,"type":16},"2026-04-08T04:42:00.054235",{"slug":4557,"name":4557,"fn":4558,"description":4559,"org":4560,"tags":4561,"stars":21,"repoUrl":22,"updatedAt":4570},"rw-fetch-api-reference","retrieve Runway API reference","Retrieve the latest Runway API reference from docs.dev.runwayml.com and use it as the authoritative source before any integration work",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[4562,4563,4566,4569],{"name":19,"slug":20,"type":16},{"name":4564,"slug":4565,"type":16},"Documentation","documentation",{"name":4567,"slug":4568,"type":16},"Research","research",{"name":9,"slug":8,"type":16},"2026-04-08T04:42:07.604739",{"slug":4572,"name":4572,"fn":4573,"description":4574,"org":4575,"tags":4576,"stars":21,"repoUrl":22,"updatedAt":4585},"rw-generate-audio","generate audio with Runway API","Generate audio using the Runway API via runnable scripts. Supports TTS, sound effects, voice isolation, dubbing, and voice conversion.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[4577,4578,4581,4584],{"name":4523,"slug":4524,"type":16},{"name":4579,"slug":4580,"type":16},"Audio","audio",{"name":4582,"slug":4583,"type":16},"Creative","creative",{"name":9,"slug":8,"type":16},"2026-04-17T04:51:59.892185",{"slug":4587,"name":4587,"fn":4588,"description":4589,"org":4590,"tags":4591,"stars":21,"repoUrl":22,"updatedAt":4598},"rw-generate-image","generate images with Runway API","Generate images directly using the Runway API via runnable scripts. Supports text-to-image with optional reference images.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[4592,4593,4594,4597],{"name":4523,"slug":4524,"type":16},{"name":4582,"slug":4583,"type":16},{"name":4595,"slug":4596,"type":16},"Image Generation","image-generation",{"name":9,"slug":8,"type":16},"2026-04-17T04:52:01.158325",{"slug":4600,"name":4600,"fn":4601,"description":4602,"org":4603,"tags":4604,"stars":21,"repoUrl":22,"updatedAt":4609},"rw-generate-video","generate videos with Runway API","Generate videos directly using the Runway API via runnable scripts. Supports text-to-video, image-to-video, and video-to-video with seedance2, gen4.5, veo3, and more.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[4605,4606,4607,4608],{"name":4523,"slug":4524,"type":16},{"name":4582,"slug":4583,"type":16},{"name":9,"slug":8,"type":16},{"name":4530,"slug":4531,"type":16},"2026-04-17T04:51:58.600919",{"slug":4611,"name":4611,"fn":4612,"description":4613,"org":4614,"tags":4615,"stars":21,"repoUrl":22,"updatedAt":4623},"rw-integrate-audio","integrate Runway audio APIs","Help users integrate Runway audio APIs (TTS, sound effects, voice isolation, dubbing)",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[4616,4617,4618,4619,4620],{"name":19,"slug":20,"type":16},{"name":4579,"slug":4580,"type":16},{"name":4582,"slug":4583,"type":16},{"name":9,"slug":8,"type":16},{"name":4621,"slug":4622,"type":16},"Speech","speech","2026-04-08T04:42:10.081814",{"slug":4625,"name":4625,"fn":4626,"description":4627,"org":4628,"tags":4629,"stars":21,"repoUrl":22,"updatedAt":4641},"rw-integrate-character-embed","embed Runway characters in React apps","Help users embed Runway Character avatar calls in React apps using the @runwayml\u002Favatars-react SDK",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[4630,4631,4634,4637,4638],{"name":19,"slug":20,"type":16},{"name":4632,"slug":4633,"type":16},"Frontend","frontend",{"name":4635,"slug":4636,"type":16},"React","react",{"name":9,"slug":8,"type":16},{"name":4639,"slug":4640,"type":16},"UI Components","ui-components","2026-04-08T04:42:08.849481",{"slug":4643,"name":4643,"fn":4644,"description":4645,"org":4646,"tags":4647,"stars":21,"repoUrl":22,"updatedAt":4652},"rw-integrate-characters","integrate Runway conversational characters","Help users create Runway Characters (GWM-1 avatars) and integrate real-time conversational sessions into their apps",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[4648,4649,4650,4651],{"name":19,"slug":20,"type":16},{"name":4579,"slug":4580,"type":16},{"name":4582,"slug":4583,"type":16},{"name":9,"slug":8,"type":16},"2026-04-08T04:42:06.171483",{"slug":4654,"name":4654,"fn":4655,"description":4656,"org":4657,"tags":4658,"stars":21,"repoUrl":22,"updatedAt":4672},"rw-integrate-documents","add documents to Runway Characters","Help users add knowledge base documents to Runway Characters for domain-specific conversations",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[4659,4662,4665,4668,4671],{"name":4660,"slug":4661,"type":16},"Agents","agents",{"name":4663,"slug":4664,"type":16},"AI Context","ai-context",{"name":4666,"slug":4667,"type":16},"Documents","documents",{"name":4669,"slug":4670,"type":16},"Knowledge Management","knowledge-management",{"name":9,"slug":8,"type":16},"2026-04-08T04:42:04.95186",{"slug":4674,"name":4674,"fn":4675,"description":4676,"org":4677,"tags":4678,"stars":21,"repoUrl":22,"updatedAt":4683},"rw-integrate-image","integrate Runway image generation APIs","Help users integrate Runway image generation APIs (text-to-image with reference images)",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[4679,4680,4681,4682],{"name":19,"slug":20,"type":16},{"name":4582,"slug":4583,"type":16},{"name":4595,"slug":4596,"type":16},{"name":9,"slug":8,"type":16},"2026-04-08T04:42:11.322008",{"items":4685,"total":684},[4686,4693,4698,4704,4711,4718,4725],{"slug":4517,"name":4517,"fn":4518,"description":4519,"org":4687,"tags":4688,"stars":21,"repoUrl":22,"updatedAt":4532},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[4689,4690,4691,4692],{"name":4523,"slug":4524,"type":16},{"name":19,"slug":20,"type":16},{"name":4527,"slug":4528,"type":16},{"name":4530,"slug":4531,"type":16},{"slug":4534,"name":4534,"fn":4535,"description":4536,"org":4694,"tags":4695,"stars":21,"repoUrl":22,"updatedAt":4541},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[4696,4697],{"name":19,"slug":20,"type":16},{"name":9,"slug":8,"type":16},{"slug":4543,"name":4543,"fn":4544,"description":4545,"org":4699,"tags":4700,"stars":21,"repoUrl":22,"updatedAt":4555},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[4701,4702,4703],{"name":4549,"slug":4550,"type":16},{"name":4552,"slug":4553,"type":16},{"name":9,"slug":8,"type":16},{"slug":4557,"name":4557,"fn":4558,"description":4559,"org":4705,"tags":4706,"stars":21,"repoUrl":22,"updatedAt":4570},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[4707,4708,4709,4710],{"name":19,"slug":20,"type":16},{"name":4564,"slug":4565,"type":16},{"name":4567,"slug":4568,"type":16},{"name":9,"slug":8,"type":16},{"slug":4572,"name":4572,"fn":4573,"description":4574,"org":4712,"tags":4713,"stars":21,"repoUrl":22,"updatedAt":4585},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[4714,4715,4716,4717],{"name":4523,"slug":4524,"type":16},{"name":4579,"slug":4580,"type":16},{"name":4582,"slug":4583,"type":16},{"name":9,"slug":8,"type":16},{"slug":4587,"name":4587,"fn":4588,"description":4589,"org":4719,"tags":4720,"stars":21,"repoUrl":22,"updatedAt":4598},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[4721,4722,4723,4724],{"name":4523,"slug":4524,"type":16},{"name":4582,"slug":4583,"type":16},{"name":4595,"slug":4596,"type":16},{"name":9,"slug":8,"type":16},{"slug":4600,"name":4600,"fn":4601,"description":4602,"org":4726,"tags":4727,"stars":21,"repoUrl":22,"updatedAt":4609},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[4728,4729,4730,4731],{"name":4523,"slug":4524,"type":16},{"name":4582,"slug":4583,"type":16},{"name":9,"slug":8,"type":16},{"name":4530,"slug":4531,"type":16}]